Unformatted text preview:

rev 8/18/21 1 Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures, functions, and arrays; coverage of more advanced programming topics such as classes, recursion, inheritance, and linked lists; use of a container class library to program with tools such as a map class and a sort function; and an introduction to algorithm analysis. There will also be an emphasis on good development techniques such as good code style and documentation, unit testing and use of debugging tools. A second goal of the course is to introduce the Linux programming environment, including tools such as the shell, simple shell scripts, and makefiles. Prerequisite: minimal programming experience in some high-level language (can program with loops, if statements, and call and write functions with parameters) Instructor Claire Bono Contact Info [email protected] Lecture 3 hours / week Lab 2 hours / week Textbook Big Java Early Objects Enhanced eText, 7th ed., by Cay Horstmann, Wiley, ISBN 978-1-119-49909-1 Available on vitalsource.com (only ~$39 for a 4-month rental). First lecture Zoom link for online lecture is available for DEN students and students participating from outside of the US because of Visa issues; it will be available on d2l under Access to Online Lecture. All on-campus students are expected to attend classes in person. Assignments Programming assignments are graded on thorough testing, documentation, and style, as well as correctness. All work to be submitted for the class is to be done individually unless an assignment specifies otherwise. Late policy for programming assignments. You may turn in a program up to two days late for a penalty of 10% of the available points. So, for example, if you would have gotten a 70/100, you will get 60/100 instead (not 63). After this two-day grace period, a late program receives no credit. Computing environment You will be using the Vocareum cloud-based environment for program development, to be introduced in the first lab. In addition, you may use an environment local to your machine (e.g., IntelliJ, Eclipse, Visual C++, or command line plus text editor) for developing programs. Note: Because licensing for your own copy of Java has recently changed, you2 will need a version of OpenJDK 1.8, rather than Oracle's JDK. For more information, see documents linked in the Java section of the Documentation course web page. For programs you develop locally, you are responsible for making sure your code compiles and runs on the Vocareum environment before submitting, because we will be grading your programs there. Vocareum uses Java 8 (aka, 1.8), and g++ 5.5.0. Labs The lab is intended for practicing some of the techniques learned in class on the computer in an environment where you can get immediate help from a lab assistant. Labs meet online once a week for two hours. Every week you will be given the lab exercises a few days before the lab: some require some advance preparation. You may work on or complete the lab exercises before the lab period if you wish, but they are due during your lab section. If you finish early, you are free to leave (once you get the lab checked off) or spend the rest of the time working on your other CS 455 assignments. Each set of lab exercises can earn you up to 3 - 5 points. There be will up to roughly 50 lab points total. To take some of the pressure off the lab score only 80% of the available points are applicable towards your final score in the class (but scaled to be worth 10% of the total course score). This gives you some leeway if you have to miss a lab, or if you don't have time to solve all of the problems in the two-hour session. Accordingly, if you have to miss a lab, it’s not necessary to contact the instructor. Den students. Den students will complete their labs remotely, and submit them electronically. Den students do not have to be available during the lab session. They can get help on the lab or other assignments through zoom online office hours, or by posting to the piazza discussion board, or email to course staff. Exams All exams are closed book, closed note. Makeup exams will not be given. Absence due to a serious illness will be an acceptable reason for missing an exam, and the final grade will be scaled accordingly. The exam dates will be announced the first day of class. Website bytes.usc.edu/cs455 This is where you will get most of your course materials, and has links to the following other platforms we are using: d2l (for videos of lectures and grades), Vocareum (for program development and grading), piazza (for electronic discussions), and zoom (for lectures, labs, and office hours). Grading The following table shows the relative weight of each part of the course work. At the end of the semester, you will have a score out of 100 percent. This score will be used in a class curve to arrive at a letter grade. I guarantee that >=90 will be some kind of A, >=80 will at least be some kind of B, >=70 will at least be some kind of C, and that >=60 will at least be some kind of D. In-class work 5% Programming assignments 30% Labs 10% Midterm Exam 1 10% Midterm Exam 2 20% Final Exam 25%3 Total 100% Policy on regrades (e.g., if you think there was a scoring mistake on your work): you have until one week from when you get the graded work back to initiate a regrade. We'll discuss the exact procedure for requesting a regrade once the course starts. Academic Integrity The USC Student Conduct Code prohibits plagiarism. All USC students are responsible for reading and following the Student Conduct Code, which appears in the sections on University Student Conduct Code (sections 10.00-16.00) in the current version of SCampus. The relevant part of SCampus is available on the web at https://policy.usc.edu/scampus-part-b/. In this course we encourage students to study together. This includes discussing high-level general strategies to be used on individual assignments. But it would not, for example, include jointly developing pseudo-code for an assignment solution with another student. All work submitted for the class is to be done individually, unless an assignment specifies otherwise. Also, all exams are closed book, closed note. Some examples of what is not allowed by the conduct code:

View Full Document

USC CSCI 455x - Syllabus

Download Syllabus
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...

Join to view Syllabus and access 3M+ class-specific study document.

We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Syllabus 2 2 and access 3M+ class-specific study document.


By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?