Data Structures

Monday, Wednesday, 2:00 pm-3:50 pm, room CPH 320

Natalia Novak
  (approximate weights)
  HWs (30%)
  Midterm Exam (30%)
  Final Exam: Final in-class Test (20%)
                        Final Project (20%)
Data Structures and Algorithms Using Python and C++,
by David M. Reed and John Zelle, Franklin Beedle and Assoc.

Office hours:

Place: CP 122
Time: Mondays, 12:00 pm - 1:00 pm
            Tuesdays 11:00 am - 12:00 pm
  • All homeworks have the due date and must be submitted by the midnight of the due date. Late homeworks are not accepted.
    Example: if the due date is February 23rd, then the latest time for the submission is 00:00am February 24th.

  • When submitting programs you must attach: compilable source file(s) (with the extention '.py'), and, when needed, a file with the input and output of your program

  • All homeworks must be done on your own. No group work, no copying.

  • Several of the worst homeworks will be dropped.

  • We will have the Midterm Exam and the Final Exam.
    Final Exam will consist of two parts: Final Project and in-class Final Exam.

  • There will be no extra assignments in order to raise you grade, therefore, do your homeworks, submit them on time; don't miss midterm exam; do and submit the final project, and don't miss the final exam.

  • There are rules in CUNY about attendance. Read them and follow them, please.
We will be using two programming languages: Python and C++

Programming Language: Python 3

You can download the latest distribution of the Python from here:

This distribution includes compiler, standard libraries and a simple IDE IDLE. You can use it, although we will need a more powerful/skillful tool.

You can use any other GUI or IDE for Python, but your program should be able to run in IDLE.

Programming Language: C++
In general, you can use any compliler, just make sure that you are not using some special (non-stardard) packages.

I will be using Dev-C++

Some people like Code Blocks (for all plantforms):