Recent news items :

  1. There is a sample final exam.

    Posted: Tuesday, December 10, 2002

 

General course information

August 27, 2002 [Last updated November 20.]


Next page

This page is on the web at http://www.cs.colorado.edu/~karl/2270.fall02/.

On this page: Purpose of course | Staff | Textbooks | Schedule and syllabus | Grading policies | Collaboration


Purpose of course

This course will cover two subjects:

Data structures

Methods for organizing data in computer memory. How to choose the best ones depending on properties of the data and requirements for access and updates.

C++ 

Building data structures out of arrays and pointers. Using classes and objects to stay organized and create reusable software. Using library functions.

Staff

Instructor

Karl Winklmann, ECOT 725, karl@cs.colorado.edu, phone 303-492-6380.

Office hours are MW 2-2:50 but feel free to stop by at other times. To be sure I am there when you stop by, make an appointment by phone or email.

For short questions, it is probably most convenient to catch me before or after class in the classroom.

Teaching Assistants

TAs will keep the following hours in the lab, in addition to holding the recitations:
Monday   11:00-12:30  ECCR 1B54/1B56  Alan
Tuesday  12:30- 2:00  ECCR 1B54/1B56  Cyrus
Tuesday   3:30- 4:30  ECCR 1B54/1B56  Trevor
Tuesday   5:15- 6:15  ECCR 1B54/1B56  Damon
Thursday 11:00-12:30  ECCR 1B54/1B56  Alan
Friday    3:00- 4:30  ECCR 1B54/1B56  Cyrus    
Note the location.

Recitations

R012   M   1000AM-1115AM     ECCH 105     Cyrus Hall
R013   M   0100PM-0215PM     ECCH 105     Damon McCoy
R014   M   0300PM-0415PM     ECCH 105     Cyrus Hall
R015   M   0500PM-0615PM     ECCH 105     Trevor Stone
R016   T   0930AM-1045AM     ECCH 105     Alan Schmidt
R017   T   1100AM-1215PM     ECCH 105     Alan Schmidt
Recitation R011 on Monday 8AM [this was earlier listed erroneously as 10AM] was underenrolled and has been cancelled. As of Friday, August 23, there are openings in R015 and in R016.

We will hold the recitations on Monday, August 26, and Tuesday, August 27, even though they occur before the first lecture. The main order of business is to take care of some logistics including logins and to get used to the computing environment.

Textbooks

Required:

Michael Main and Walter Savitch, Data Structures and Other Objects Using C++, Second Edition, Addision Wesley, ISBN 0-202-70297-5.

Recommended:

Mike Loukides and Andy Oram, Programming with GNU Software, O'Reilly and Associates, Inc., ISBN 1-56592-112-7.

Schedule and syllabus

The timing of the lecture topics may shift somewhat depending on how quickly we cover some of the material. Due dates of assignments and exam dates won't change. [Not true, they have.]

  Week of ... Class topics + reading assignments Recitations Assignments

1. August 26-30 Overview.
Objects and classes.
Logistics. Basic Unix commands. Assignment 1 handed out (using classes and objects).
2. September 2-6 Objects and classes, continued.
Read Chapter 2.
More Unix.
3. September 9-13 Container classes.
Read Chapter 3.
emacs, submission of assignments. Assignment 2 handed out (using container classes).
4. September 16-20 Dynamic arrays.
Read Chapter 4, Sections 4.1-4.4.
Finishing Assignment 1. Assignment 1 due Tuesday, September 17.
5. September 23-27 Pointers and linked lists.
Read Chapter 5.
Interactive debugging with gdb. Permissions, RCS. Assignment 3 handed out (using linked lists).
6. September 30-October 4 Queues, stacks and trees.
Covered in Chapters 7-10.
Finishing Assignment 2. Assignment 2 due Tuesday, October 1. (Extended by one day to Wednesday.)
7. October 7-9
(week of Fall Break)
Templates.
Covered in Chapter 6.
Working on Assignment 3.
8. October 14-18 Trees, continued. Recursion. Finishing Assignment 3. Assignment 3 due Thursday, October 17.
Assignment 4 handed out (using trees).
9. October 21-25 Tuesday, October 22: Midterm Exam.
Thursday's topic: Trees, continued.
Sample exam problems.
10. October 28-November 1 Balanced trees.
Priority queues (Sections 8.4 and 11.1).
Working on Assignment 4.
11. November 4-8 Heapsort and other sorting algorithms (Chapter 13). Lab exam. Assignment 4 due Tuesday, November 5. Take-home exam handed out.
12. November 11-15 Discussion of Assignment 5: graphs (Chapter 15), skiplists.
Limits on sorting.
Using gdb. Take-home exam due Tuesday, November 12.
Assignment 5 handed out.
13. November 18-22 Linear-time sorting.
Hash tables (Sections 12.2 and 12.3).
Working on Assignment 5.
14. November 25-27
No recitations this week (Thanksgiving).
Various odds and ends. No recitations this week (Thanksgiving).
15. December 2-6
Graphs, continued.
Demos.
Finishing Assignment 5. Assignment 5 due Tuesday, December 3.

Deadline extended to Monday, December 9, because of problems with the lab.

16. December 9-12 Demos, continued.
Review.
Getting demos ready.
  Monday, December 16,
1:30-4:00 PM
Final Exam

Grading policies

Due dates and late policy

Assignments and take-home exams are always due Tuesday at midnight. You loose 20% of the points for each day of being late. (You lose the whole 20% at the stroke of midnight.)

Assignments

There are a total of five programming assignments and two take-home exams. On the programming assignments you are are encouraged to collaborate as long as you are writing your own program. The take-home exams naturally you have to do by yourself. [Correction: We are skipping one of these take-home exams, see the amended syllabus above.]

Lab exams

There will be two "lab exams," where you will be asked to do some programming in your recitation by yourself and turn in your work electronically at the end of the recitation. [Correction: We are skipping one of these lab exams, see the amended syllabus above.]

In-class exams

There will be one midterm and a final. These are held in the classroom.

Points and grades

The five programming assignments are worth 60 points each; the two take-home exams, the two lab exams, and the midterm are each worth 100 points; the final is worth 200 points. Thus there is a total of 1000 points. [Correction: After the above changes, the maximum total is 800 points.]

Getting 900 or more points guarantees you an A, getting 800 or more points guarantees you at least a B, getting 700 or more points guarantees you at least a C, getting 600 or more points guarantees you at least a D, getting less than 600 points will get you an F. [Correction: The maximum total now is 800 points. You are guaranteed an A if you get 90% of that or more; a B for 80% and so on.]

+/- grades will be given to raise some grades. The extent to which this is done may differ among recitations since their lab exams may turn out to be of slightly different levels of difficulty (which we try to avoid but which can happen).

Collaboration

Again, you are very much encouraged to talk to each other about the programming assignments (but not about the take-home exams). For all assignments you have to write your own code.

Please be aware of the University of Colorado Academic Honor Code.


Next page | Back to top

3:40 PM, Thursday, December 12, 2002