Syllabus
Click on this link to open the Printable Syllabus in a new browser window/tab (Note: The printable syllabus is in plain text format)
Object-Oriented Programming CMPS 222 Section 3/4 - Winter 2012 Dr. Melissa Danforth Office: Sci III 338, 654-3180 Office Hours: MWF 2:00-3:00pm and MW 4:30-5:30pm (or by appointment) Email: melissa@cs.csubak.edu Course web site: http://www.cs.csubak.edu/~melissa/ under Teaching menu Course meets MWF 12:20-1:40pm and Tu 12:20-2:50pm in Sci III 311 Course Description Builds on foundation provided by CMPS221 to introduce the concepts of object-oriented programming. The course focuses on the definition and use of classes and the fundamentals of object-oriented design. Other topics include an overview of programming language principles, basic searching and sorting techniques, and an introduction to software engineering issues. Prerequisite: CMPS 221 with a grade of C- or better Textbook: You may use either the 6th edition or the 7th edition of the textbook. Both editions have essentially the same material for this class: 6th edition: Starting Out with C++: From Control Structures through Objects, Tony Gaddis. Publisher: Addison Wesley, 2009. ISBN: 0321545885. 7th edition: Starting Out with C++: From Control Structures through Objects, Tony Gaddis. Publisher: Addison Wesley, 2011. ISBN: 0132576252 Topics that were covered in CMPS 221: Chapter 1 Introduction to Computers and Programming Chapter 2 Introduction to C++ Chapter 3 Expressions and Interactivity Chapter 4 Making Decisions Chapter 5 Looping Chapter 6 Functions Chapter 7 Arrays Chapter 9 Pointers Chapter 10 Characters, Strings and the string Class Chapter 11 Structured Data Chapter 13 Introduction to Classes Topics to be covered in CMPS 222: Chapter 9 Pointers Chapter 10 Characters, Strings and the string Class Chapter 11 Structured Data Chapter 13 Introduction to Classes Chapter 14 More About Classes Chapter 15 Inheritance, Polymorphism and Virtual Functions Chapter 16 Exceptions, Templates and the Standard Template Library (STL) View the calendar on the course website to see the order in which these topics will be presented. Attendance: Students are responsible for their own attendance. The topics covered in lecture will be listed on the course website. Lab attendance is not required but is strongly encouraged. Academic Integrity Policy: Homeworks and labs may be worked on and discussed in groups. If the assignment is a group assignment, the group can turn in one assignment for the entire group. If the assignment is an individual assignment, each student must turn in their own code; no direct copying is allowed. Refer to the Academic Integrity policy printed in the campus catalog and class schedule. Tutoring Center and Open Use Computer Lab: The walk-in computer lab in Sci III 324 is available for use by students in this course outside of class time on a first come, first serve basis. Priority in the lab is given to students who are completing assignments for Computer Science and Computer Engineering courses. Tutoring is also provided on a limited basis in the walk-in lab. A tutoring schedule will be posted on the department website by the end of the first week of classes. Students in this course may ask the tutors for assistance on assignments. The tutors are not allowed to solve the assignment for you, but they can assist with problems like cryptic compiler errors. Grading: Labs/Homework 35% Midterms (2) 40% (20% for each Midterm) Final 25% Labs: Lab assignments will be posted on the course website. Labs are worth 10 points and usually involving writing a short programs. The labs are due at noon on the day after the lab (e.g. noon on Wednesday for this quarter). Partial credit will be given for incomplete labs. Late labs will not be accepted. The lowest lab grade will not be counted towards the overall lab grade. Homework: Homework assignments and due dates will be posted on the course website. Homeworks are worth 20 points and consist primarily of a moderately sized programming project related to the new concepts from that week. Programs which do not compile may be given partial credit depending on the severity of the error. No homework grades are dropped, however an extra credit assignment will be given at the end of the quarter. Late Policy for Homework: Late homework will be accepted. Late labs will NOT be accepted. Late homework will be marked down 10% for each day it is late. Saturday and Sunday combined count as only one day late (e.g. if the assignment is due Friday and you turn it in Sunday, it will be marked as one day late). If there is a late policy stating the last day the assignment can be turned in late posted on the assignment, then that policy will apply for that particular assignment. Otherwise, homework assignments that are more than three days late will not be accepted. Labs/Homework Submission: Assignments are submitted by emailing the instructor all assignment code files from the Computer Science department server. Do not use any other email method as your email might be discarded by the Computer Science department spam filter. If you believe you submitted the assignment on time but the instructor has not received the email, contact the instructor. Allow at least one week after the assignment due date for the grade to be posted to Moodle. The status of your assignment ("received" or "not received") will be available in the Comments section on Moodle within a day or two of the instructor receiving the email, even if the assignment has not yet been graded. It is your responsibility to check Moodle to see if your assignment has been received and to contact the instructor if it has not been received. Out-of-class Time: It is expected that students in a 5 unit course such as this will spend 10 to 15 hours each week outside of class working on assignments or reading sections from the textbook. Several of the homework assignments in this class will require approximately 10 hours to complete, so be sure to budget enough time to complete the assignment before the due date. Midterms: The midterms will be given during class time on the following days: Midterm 1 will be given on Monday February 6, 2012 Midterm 2 will be given on Monday February 27, 2012 Makeup midterms will not be given, but the other midterm will be counted proportionally higher if you have a valid reason for missing a midterm. Final: The final is on Wednesday March 21, 2012 from 2:00 to 4:30pm in Sci III 311 If you cannot make this time because it conflicts with another final or you have more than two finals scheduled that day, contact the instructor ONE WEEK in advance of the final to schedule an alternate time.