CSCI 2270 Computer Science 2: Data Structures
Fall 2003
Karl Winklmann
 

Recent news item(s) :

  1. The winners of the project competition are ...

    In first place ...

        D. Football Game

    and a tie for second place between

        E. 3D Graph Path Game, and
        K. Distributed Genetic Algorithms.

    Congratulations, and thanks to everybody who showed a project. Winners can pick up their book prizes in ECOT 721, now or after the break.

    The votes were counted by Nan and Rika.

    Posted: Monday, December 15, 2003

 

CSCI 2270: Home page

Tuesday, August 26, 2003

 


Next page | Latest page | Schedule and syllabus | Home Page | Programs | Table of contents | News archive | Dora

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

Purpose of course

This course will cover two subjects:

Data structures

Using a variety of methods for organizing data in computer memory. The best choices depend on properties of the data and requirements for access and updates.

C++ 

Building structures from arrays and pointers. Using classes and objects to stay organized and create reusable software. Using library classes.

Staff

Instructor

Karl Winklmann, ECOT 725, karl@cs.colorado.edu, phone 303-492-6380. Office hours Thursdays 3:30-4:30 and Fridays 1:30-3. Feel free to make appointments by email at other times. For short questions, it is probably most convenient to catch me before or after class in the classroom.

Teaching Assistants

Elizabeth White. Elizabeth.White@Colorado.EDU. Office hours in in ECCR 1B54/56: Monday 12noon-1pm, Wednesday 12:30-1:30pm and 3:30-5pm. Note the location.

Damon McCoy. Hours Tuesday 3:30-4:30pm and Friday 5-6pm. In ECCR 1B54/56.

Recitations

All recitations are held in ECCH 105.
R012    08:00am-09:15am F       ECCH 105        Elizabeth White
R013    09:30am-10:45am F       ECCH 105        Elizabeth White
R014    11:00am-12:15pm F       ECCH 105        Damon McCoy
R015    12:30pm-01:45pm F       ECCH 105        Elizabeth White
R016    02:00pm-03:15pm F       ECCH 105        Damon McCoy
R017    03:30pm-04:45pm F       ECCH 105        Elizabeth White

Textbooks

Required:

Michael Main and Walter Savitch, Data Structures and Other Objects Using C++, Second Edition, Addison 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 normally don't change.
 
  Classes Class topics + reading assignments Recitations Assignments

1. August 26/28 Overview.
Objects and classes.
Read Chapter 2.
Logistics.
Basics of Unix.
Assignment 1 handed out (involving classes and objects).
2. September 2/4 Objects and classes, continued. emacs, submission of assignments.
3. September 9/11 Container classes.
Pointers and dynamic arrays.
Read Chapter 3 and Chapter 4, Section 4.1-4.4.
Finishing Assignment 1. Assignment 1 due Friday, September 12. Postponed by one week, to September 19.
Assignment 2 handed out (involving container classes).
4. September 16/18 Dynamic arrays, continued. Interactive debugging with gdb. Permissions, RCS. Assignment 1 due Friday, September 19.
5. September 23/25 Pointers and linked lists.
Read Chapter 5.
Finishing Assignment 2. Assignment 2 due Friday, September 26.
Assignment 3 handed out (involving linked lists).
6. September 30 (Fall Break on October 2) Queues, stacks and trees.
Covered in Chapters 7-10.
No recitations this week, because of Fall Break. (Earlier posting was incorrect.)
7. October 7/9 Parse trees.
Recursion.
Finishing Assignment 3. Assignment 3 due Friday, October 10.
Assignment 4 handed out (involving trees).
8. October 14/16 Recursive tree drawing.
Binary search trees (Section 10.5).
TBA
9. October 21/23

Heapsort (Sections 11.1 and 13.3).
Various structures (B-trees, skiplists, ... )

Finishing Assignment 4.
Sample exam problems.
Assignment 4 due Friday, October 24. (not Oct 23, as listed earlier)
10. October 28/30 Tuesday, October 28, Midterm Exam (about dynamic arrays, linked lists, heaps trees).

Graphs (Chapter 15).

Lab exam 1 (extensions to Assignment 4). Assignment 5 handed out (involving graphs).
11. November 4/6 Graphs, continued.
Discussion of Assignment 5.
TBA
12. November 11/13 Various sorting algorithms (Chapter 13). Finishing Assignment 5. Assignment 5 due Friday, November 14.
Project handed out.
13. November 18/20 Linear-time sorting.
Hash tables (Sections 12.2 and 12.3).
Lab exam 2 (extensions to Assignment 5). Project description due Friday, November 21.
14. November 25 (Thanksgiving Break on November 27) Limits on sorting. Recitations to be held on Wednesday. Work on project.
15. December 2/4
Demos and review. Finishing project. Project due Friday, December 5. (not Dec 4, as listed earlier)
16. December 9/11
Demos and review, continued.
  Final Exam Monday, December 15, 4:30-7:00pm. The exam takes place in the room where the lectures were held.

Grading policies and such

Due dates and late policy

Assignments and the project are always due Fridays at 11PM. You lose 20% of the points for each day of being late. You lose the whole 20% at the stroke of 11PM. Weekends count as one day.

Points and grades

There are a total of five programming assignments, one programming project, two lab exams, one midterm and a final.

On the programming assignments and project you are very much encouraged to collaborate but you must write your own code.

In the two "lab exams" you will have to do some programming problems in your recitation and turn in your work at the end. The programming problems are always extensions of the previous programming assignment.

The midterm and final are written exams held in the classroom.

Each of the ten pieces (five programming assignments, one project, two lab exams, a midterm, and a final) is worth 100 points. Thus there is a total of 1000 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.

+/- grades will be given to raise some grades.

Academic misconduct

The University of Colorado Academic Honor Code applies, of course. Serious misconduct will result in an F in the course.  


© 2003 Karl Winklmann 3:08 PM, Tuesday, December 16, 2003