CMSC 162: Intro to algorithm design II
Fall 2014
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 10am in Ruffner 352, with a required lab section that meets at 2pm on Thursday in Ruffner G56.
The textbook is Frank M. Carrano and Timothy Henry, Data abstraction & problem solving with C++, 6e. ISBN 978-0-13-292372-9.
The authors have posted a list of errata that you can refer to.Resources
- Syllabus
- Collaboration/citation policy
- Remote login instructions
- vim starter reference
- command line starter reference
- Unit Testing Tips for Software Engineers by Alex Iskold
Assignments
- 28 Aug: Lab 1
- 4 Sep: Lab 2
- 11 Sep: Lab 3
- 18 Sep: Lab 4
- Due 24 Sep: Homework 1
- 25 Sep: Lab 5
- Due 1 Oct: Homework 2
- 2 Oct: Lab 6
- 9 Oct: Lab 7
- 16 Oct: Lab 8
- Due 22 Oct: Homework 3: see Lab 8
- 23 Oct: Lab 9
- 30 Oct: Lab 10
- 6 Nov: Lab 11
- 13 Nov: Lab 12 (pseudocode for add)
- 17 Nov: Project notes
Board photos
- 27 Aug: left, side, back (code practice)
- 29 Aug: board (misc syntax)
- 3 Sep: left (Bag), right (lab notes)
- 5 Sep: left (ArrayBag), right (lab followup)
- 8 Sep: board (lab followup)
- 12 Sep: left (recursive tracing, rec vs iter), right (iterative factorial)
- 15 Sep: left, side, back (binary search TCs)
- 17 Sep: left (pointers), right (lab followup)
- 19 Sep: left (lab pointer diagrams), right (strings)
- 22 Sep: left, side, back (binary search impl)
- 24 Sep: left, side (link search), middle (link example)
- 26 Sep: left (pointer diagrams, lab 5), right (LinkedBag)
- 29 Sep: board (LinkedBag vs ArrayBag)
- 1 Oct: left (n-queens problem), right (prefix/postfix notation)
- 2 Oct: board (pointers and references)
- 3 Oct: board (Lab 6 box trace)
- 6 Oct: left (Hanoi problem), right (exceptions)
- 10 Oct: left, side, back (balanced brackets), screen (Lab 7 algorithm)
- 20 Oct: left, right, side
- 22 Oct: left, middle, back
- 24 Oct: left, right
- 27 Oct: left, right, side, back
- 31 Oct: board
- 3 Nov: left, right
- 5 Nov: front, side, back left back right
- 7 Nov: middle, left, side, back
- 10 Nov: middle, left, side, back
- 12 Nov: left, right,
- 13 Nov: board
- 14 Nov: first, second,
- 17 Nov: board
- 19 Nov: board
- 21 Nov: board
- 24 Nov: board