Programming II: Data Structures CMPS 2020 - Fall 2016 Michael Sarr Office Hours: 45 minutes before class starts and by appointment 5pm to 8pm on Wednesday's for the first 3 weeks of the semester, if you cant come at 5-6 email me to let me know you coming Email: msarr@cs.csubak.edu voice mail: (661) 241-0724 Course web site: http://www.cs.csubak.edu/~msarr/ Course Description Builds on foundation provided by CMPS2020 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. Course meets Lecture:(82101) M W 5:30pm - 6:45pm in Sci III 311 Lab:(82102) M W 7:00pm - 8:15pm in Sci III 311 Prerequisite: A solid understanding of the concepts covered in CMPS 2010 Textbooks: Starting Out with C++: From Control Structures through Objects, 8th edition. Tony Gaddis, Publisher Pearson, 2015, ISBN: 9780133769395 Data Abstraction and Problem Solving With C++ Carrano, Publisher Prentice Hall, 2012, ISBN: 978-0132923729 Topics that were covered in CMPS 2010: 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. Academic Integrity Policy: Each student must turn in their own code; no direct copying is allowed on any assignment or lab. There is no such thing as "working together on something" or lab partners, EVERY lab and homework should be 100% your own original code. Submission of a solution taken as a whole are any part from ANY source is unacceptable and will be considered plagiarism. All assignments are in no way collaborative, any students coping homework or lab assignments will be formally reported and disciplinary actions will be taken as well as receiving a failing grade for the assignment or the class as a whole. Refer to the Academic Integrity policy printed in the campus catalog. 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 courses. The lab typically closes around 5:00pm on weekdays and is closed on weekends. 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: Exams (3) 60% Final 40% Grades will be posted on the course website. Check your email on sleipnir when you log in as I may occasional email individual students or the class as a whole. I will email you to your sleipnir account only. Labs: Lab assignments will be posted on the course website. Labs will usually involve writing a short program(s). The labs are due at the end of lab period (8:15), do not leave without having your lab graded or you will not receive credit. Labs are designed to help prepare you each weeks homework. I will record who completes every lab to measure your participation level. Late labs will not be accepted for any reason. Homework: Homework assignments are designed to prepare you for the exams. Assignments are due before class starts on the day the next homework is assigned. If you stay current and do you homework on time I will help you when you are having issues, just email me and ask me to look at your current homework. If your homework is done on time I will look at your assignment and offer constructive feedback so you will know what I will expect on the exams. Assignment Submission: On the course website there are directions to create an ~/assignments directory. Sub directories for each lab and homework will be created. All you have to do is complete your assignments in the correct directory by the time it is due. It is in your best interest to check test your homework and be SURE it is correct so that you are prepared for the exams and quiz's. Exams: There will be 3 exams and a final. Please check the course web page for the dates. Please check the course web page each week for any updates ,assignment changes or schedule changes If you cannot make it to any exam or the final let me know a week ahead of time so an alternate time can be arranged. Final: The final is on Friday December 9th from 5:00 - 7:30pm 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 AT LEAST ONE WEEK in advance of the final to schedule an alternate time.