Syllabus for CMSC 270

Spring Term 2009 1:50 MWF Mr. Gregg

Course Description and Objectives

CMSC 270 is an introductory course in data structures with instruction in the C++ language. The first objective of this course is to further your instruction in programming by giving you an exposure to the C++ language, which is more powerful and flexible than Java. The second objective is to begin the study of standard algorithms and data structures in computer science. Specifically, we will study linear data structures, recursion, trees, and various applications of these concepts.

How this Course is Structured

We will meet three times a week for lectures. Early on in the course I will assign several short programming assignments each week. As the course progresses the programming assignments will become less frequent and more complex.

We will have two midterm exams and a final exam. Midterm exams are tentatively scheduled for Friday, April 24 and Friday, May 22. The final will be on Tuesday, June 9 at 8:30 AM.

Grading Policy

Assignments and exams have the following weights:

Programs - 45% Midterm exams - 15% each Final exam - 25%

Late policy for assignments is that assignments may be turned in one class meeting after the initial due date for a 10% penalty. I will waive the 10% penalty if you have a valid excuse; however, you must contact me before the initial due date to ask for an extension.

Textbook

Our text is Data Structures and Algorithms in C++, Third Edition by Adam Drozdek.

Office Hours

Office hours this term are 9-11 on Wednesdays and Thursdays. In addition to those times, I will be available in my office both before and after class time and will also be available during CMSC 150 lab times from 9-11 and 1-3 on Tuesdays. My office is Briggs 413. My extension is 6736 and my email address is greggj@lawrence.edu.

Course Web Site

The course web site is at http://www.lawrence.edu/fac/greggj/cmsc270.html. The web site will feature lecture notes and other supplementary materials.

Schedule of Topics and Exams

WeekTopicChapter
1Transition from Java to C++-
1Pointers1
1Templates, Intro to STL1
2Linked Lists3
3, 4Stacks and Queues4
4First Midterm-
5Recursion5
5,6Binary Trees and Heaps6
7,8Balanced Trees6,7
8Second Midterm-
9Graphs8
10Hashing10