Instructor: Dr. Shaun D. Ramsey Email: sramsey2@washcoll.edu Phone: (410)810-7485 Office: DUNN N102 Office Hours: 2:30pm W, 1pm TR CSI 202 - Computer Science II Fall 2014 Website: http://shaunramsey.com/202 Classroom/Meetings: DUNN N103 12:30-1:20pm Text: Liang (from CSI 201) Tentative Exam Dates: 9/26, 10/29, final during finals week Grade Breakdown: Exams (25% each), Homework, Classwork, Quizzes (25% combined) Attendance: Fail on 6 == absences+lates/2 Overview and Advising: CSI 202 is primarily a course in data structures using C++. The semester begins with a quick review of programming in C++. The course continues with in depth exploration of pointers and their basic data structures as well as the standard template library and its data structures. Finally, topics in advanced data structures, such as trees and tree balancing, are considered. CSI 201 is a prerequisite for this course and strong programming fundamentals are required to survive and thrive. This course is a fast-paced course with many topics to cover spanning the gamut of introductory problem solving in computer science. Revisiting the material here often results in a stronger and more efficient programmer. Exams: The final exam will be administered during its scheduled slot during final exam week. An absence on the day of the exam will result in a grade of 0. Except in cases of very extreme emergency, exams must be taken on the day the exam is given. Before a make-up test is scheduled, documentation of the extreme emergency must be given. Make-up exams for tests missed due to an extreme emergency will be arranged for a time that is mutually convenient for the student and Dr. Ramsey. Attendance: Attendance is mandatory in this course. On your sixth absence, you automatically fail the course. As a matter of courtesy, you are expected to notify Dr. Ramsey before class describing the reason of your absence. You must be present on the day of an exam or you will receive a 0. There is no distinction between excused and unexcused absences. It is quite likely that I will email you to discuss the reasons you have missed the class, but it is ultimately your duty to keep track of your absences and to contact me. Missing a class may result in missed classwork and/or quizzes. There are no make-up quizzes or classwork. It is your responsibility to obtain assigned homework, announcements and class notes from a classmate. Coming late to class will also count against you. In this case, every two late arrivals (lates) count as an absence. Thus you fail the course with 12 lates or 6 absences or any mix of the two that add up to 6. Examples are: 2 lates and 5 absences, 4 lates and 4 absences, 6 lates and 3 absences, and so on. Grading: Programming assignments must be handed in on time and compile. Late homework (and programming that does not compile) will receive a grade of 0, however, I will grade late homework and consider it when tallying final grades. It is most important to do the homework to gain programming skill, rather than to achieve high marks. Each homework is fully accessible in this course and there are two lab sessions each week to help you. Homework is due by the beginning of class on the day it is due. Do not ’touch’ or modify your files on the server after handing in the assignment, as this will change the time stamp. If you miss an assignment, you should always make up the work for consideration, review and mark up. Academic Honesty: You are always subject to the Honor Code of Washington College. Always sign the honor code on materials that you hand in (including homework and exams). All work must be your own. Accommodations: If you have an accommodation that has been reported to the college, please let me know as soon as possible so I can work to meet your accommodation. You must notify me of any necessary accommodation at least two weeks prior to the requirement. Suggestions: Get into a group. You may point out programming errors and discuss design with others, but all code must be of your own creation. Copying the code of another might help you pass an assignment (if you are not caught), but your ability with programming will definitely reveal itself during the examinations if this is how you get by homework. General Schedule: Week 1 Review Week 2 Strings and Dynamic Memory Week 3 Pointers and Linked Lists Week 4 Linked Lists and Code Week 5 Catch-up, STL, Exam Week 6 STL continued Week 7 Tree introduction Week 8 Coding w/ Trees Week 9 Balancing Trees Week 10 Catch-up, Balancing, Exam Week 11 Coding Balanced Trees Week 12 Trees and Optimizations Week 13 Sorting Mechanisms Week 14 Catch-up, Sorts, Review