CMSC 15200
Introduction to Computer Science 2


General information

Section 1
Instructor:Pedro F. Felzenszwalb
Email:pff (at) cs.uchicago.edu
Lecture:MWF 9:30-10:20 Ryerson 276
Lab:W 3:30-4:50 JRL A 01C

Section 2
Instructor:Robert C. Kirby
Email:kirby (at) cs.uchicago.edu
Lecture:TTh 12:00-1:20 Ryerson 251
Lab:T 4:30-5:50 JRL A 01C

Lab TA
Kenneth Harris
Email: kaharris (at) cs.uchicago.edu

TAs
Bradley Boven
Email: bboven (at) cs.uchicago.edu
Office hours: Monday and Thursday 1pm-2pm in Ryerson 178.
Catalin Dumitrescu
Email: cldumitr (at) cs.uchicago.edu
Office hours: Tuesday and Wednesday 6pm-7pm in the CS Lab.

Overview

An introduction to computer science using the C++ programming language.

Grading will be based on weekly homeworks (40%), lab participation and performance (20%) and two exams (20% each).

Textbook: Data Structures and Algorithms in C++ by Goodrich, Tamassia and Mount.

Syllabus

Approximatelly one week in each of these topics:

1. Types, Operators, Expressions.
2. Control flow, Functions, Templates.
3. Classes, Encapsulaton, Intro to data structures.
4. Vectors, Lists.
5. Trees.
6. Priority queues, Sorting.
7. Dictionaries, Hashtables.
8. Graphs, Representations and algorithms.

Links

The Lab webpage has information about the computer lab and links to lots of useful material.

There is a mailing list for the class, you should join here.

Example code from section 1 lectures can be found here.

Example code from section 2 lectures can be found here.

Tree Implementation Code (02022k5 Lecture)

Homework

How to submit homework assignments:
You must be logged on to a department machine.
Put the relevant files in a directory and type "hwsubmit [classname] [directory]".

Homework 1, due Thursday January 13.

Homework 2, due Friday January 21.

Homework 3, due Friday January 28.

Homework 4, due Thursday February 17.

Homework 5, due Wednesday March 2.