CMSC 162: Intro to algorithm design II
Spring 2019
Prof. Blaheta
You have by now acquired some basic skills of programming and analysis, but the programs you've written have (of necessity) been small and the data uncomplicated. In this course you will continue to develop your programming skills, but more importantly, you will learn how to build layers of abstraction (and use abstractions that others have built) that will enable you to write and understand larger and more interesting programs and processes.
This course meets MWF at 11am in Ruffner 352 (as of 28 January), with a required lab section that meets at 12:30pm on Thursday in Ruffner G56.
The textbook is Carrano and Henry, Data abstraction & problem solving in C++, 7e. ISBN 978-0-13-446397-1
Resources
- Syllabus
- Syllabus tl;dr
- Collaboration/citation policy
- Remote login instructions
- vim starter reference
- command line starter reference
- C++ references:
Assignments
- 17 Jan: Lab 1 preview, final handout
- 26 Jan: Lab 2 preview, worksheet, final handout
- 31 Jan: Lab 3 preview, final handout
- 9 Feb: Lab 4 preview, final handout
- Due 13 Feb: Homework 1 (group work, revision cycle)
- 14 Feb: Lab 5 preview, final handout
- Due 20 Feb: Homework 2 (group work, revision cycle)
- 21 Feb: Lab 6 preview, final handout
- 28 Feb: Lab 7 preview, final handout
- 14 Mar: Lab 8 preview, final handout
- Due 20 Mar: Homework 3 (see end of Lab 8)
- 21 Mar: Lab 9 preview, final handout
- 28 Mar: Lab 10 preview, final handout
- 4 Apr: Lab 11 preview, final handout
- 11 Apr: Lab 12 handout
- Due 15 Apr: project preferences (via email)
- Posted 16 Apr: Project notes
Board photos
- 16 Jan: board,
- 23 Jan: board,
- 25 Jan: board,
- 28 Jan: board,
- 30 Jan: front, left, middle, right, side, back-left, back-middle, back-right,
- 31 Jan: board,
- 1 Feb: left, right,
- 4 Feb: left, right,
- 6 Feb: left, right,
- 8 Feb: board,
- 11 Feb: left, right,
- 13 Feb: left, middle, right,
- 15 Feb: board,
- 18 Feb: board,
- 22 Feb: left, right,
- 25 Feb: left, right,
- 11 Mar: left, right,
- 13 Mar: left, middle, right,
- 15 Mar: board,
- 18 Mar: left, right, side, back-left, back-right,
- 20 Mar: board,
- 21 Mar: board,
- 22 Mar: left, right,
- 25 Mar: left, side, back-left, back-right,
- 27 Mar: left, right, side,
- 29 Mar: left, right, side, back,
- 1 Apr: left, right, side, back-left, back-right,
- 3 Apr: left, middle, right,
- 4 Apr: board,
- 5 Apr: left, right,
- 8 Apr: left, middle, right,
- 10 Apr: left, middle, right, side, back-left, back-right,
- 11 Apr: board,
- 12 Apr: left, right,
- 15 Apr: left, right,
- 17 Apr: left, middle, right,
- 24 Apr: shellsort, para-mergesort,
- 26 Apr: quicksort: left, right, circular arrays: left, right, AVL trees: left, right,
- 29 Apr: linear probing: left, right, side,