Fundamentals of Programming II
CS215 Fall 2009
Dr. Robert F. Morse
Koch Center 262
Class web site: http://csserver.evansville.edu/~morse
Course Syllabus
Catalog Description: CS 215 Fundamentals of Programming II (3) Project and problem-solving course emphasizes the use of classes for encapsulation of abstract data types and abstract data structures. Topics include classes, templates, dynamic allocation, searching and sorting, recursion and exception handling.
Prerequisites: Computer Science 210.
Textbooks: Data Structures with C++ using STL 2e by William Ford and William Topp 2002 (required). The C++ Programming Language 3/e by Bjarne Stroustrup (optional).
Grading: The final grade will be based on three midterm examinations and a practical examination (50%), programming assignments (30%) and a final examination (20%).
Programming Assignments: A significant portion of the course work are the programming assignments. This work is to be completed on your own and on your own time. No assignment will be accepted late. The time the assignment is to be turned will be clearly posted on the programming assignment.
Homework and Quizzes: Homework assignments and quizzes will be distributed in class with answers either provided in class or posted on the class web site. These are for you to gain insight and practice for the examinations.
Adherence to the University's Honor Code: All students are expected to comply with the University's Honor Code. Some specific guidelines for this course are as follows:
Graded take home work is to be your own work. You may not discuss your solutions or answers with your classmates until everyone's work is handed in. This includes your programming assignments.
No collaboration with other students is allowed during in-class examinations. Helps or aids (such as a textbook or crib sheet) that are allowed will be announced in class before each examination. In general, expect that all tests will be closed book with one side of an 8 1/2 x 11 sheet of paper allowed for crib notes.
Homework and quizzes are for you to gain experience and practice. You may collaborate with your classmates and exchange answers and solutions. However, ultimately you will be required to demonstrate your proficiency of the material on the tests. Therefore, it is highly recommended that you attempt all homework and quiz problems on your own.
Anyone caught gaining unauthorized aid will be dealt with quickly, swiftly and harshly.
Attendance: Regular attendance is essential for proper understanding of the course topics. In general, no grade is directly assigned based upon attendance however poor attendance will ultimately be reflected in your course average and grade. The instructor reserves the right to downwardly adjust a student's grade for chronic absenteeism without an excuse. Attendance will be taken before each class.
If you are absent from class you are responsible for the work missed. An absence is excused if it is authorized by the university (e.g. sporting events). It is at the instructor's prerogative if any other absences are excused and make up work assigned. A general rule of thumb is to let me know you will be missing class a few days ahead of time. Plan now to attend all classes.
Brief Summary of Topics:
Introduction to Data Structures
Object Design Techniques
Introduction to Algorithms
The Vector Container
Pointers and Dynamic Memory
The List Container and Iterators
Stacks
Queues and Priority Queues
Linked Lists
Binary Trees
Recursive Algorithms
Graphs