CMSC 160: Intro to algorithm design I
Spring 2018
Prof. Blaheta
Edsger Dijkstra famously said that "computer science is no more about computers than astronomy is about telescopes." What did he mean?
In this course, we will indeed spend plenty of time with computers, but my focus is ultimately to teach a different way of thinking about problems. The key skills I hope to help you develop are analytical problem solving and thinking in terms of abstractions. Should you choose to continue with more computer science courses, you will use these skills in every CS course you take, whether you are writing programs in C++, or in some other language, or not at all. And if I really do my job, the precision of thought you learn here will help to shape how you think about problems in your other courses, even if you never take another CS course again.
This class meets 11am on MWF, with a required lab section that meets at 12:30pm on Tuesday.
The textbook is Cay Horstmann, C++ for everyone, 2e, ISBN 978-0-470-92713-7.
Resources
- Syllabus
- Remote accounts policy
- Remote login instructions
- Collaboration policy
- vim starter reference
- command line starter reference
- Repls from class (repl.it/@blahedo)
Labs, homeworks, projects
- 19 Jan: Lab 0
- 23 Jan: Lab 1 drill, Lab 1
- 30 Jan: Lab 2 drill, Lab 2
- 2 Feb (in class): Expressions
- 6 Feb: Lab 3 drill, Lab 3
- 13 Feb: Lab 4 drill, Lab 4
- 19 Feb (in class): Tracing and debugging
- 20 Feb: Lab 5 drill, Lab 5
- 27 Feb: Lab 6 drill, Lab 6
- 13 Mar: Lab 7 drill, Lab 7
- 20 Mar: Lab 8 drill, Lab 8
- 27 Mar: Lab 9 was an in-lab worksheet.
- 3 Apr: Lab 10 drill, Lab 10
- 10 Apr: Lab 11 drill, Lab 11
- 17 Apr: Lab 12 drill, Lab 12 worksheet, Lab 12
- 23 Apr: Lab 12 Part 2
- 1 May: Look at comments on Labs 10 and 11 (and Lab 8 if you see this note in time), be prepared to ask and answer questions in lab on Tuesday
Board photos
- 22 Jan: board
- 26 Jan: left, middle, right
- 29 Jan: board
- 31 Jan: board
- 31 Jan: board
- 5 Feb: board
- 6 Feb: board
- 7 Feb: board
- 9 Feb: left, middle, right
- 12 Feb: board
- 13 Feb: board
- 14 Feb: left, right
- 16 Feb: first-left, first-right, second-left, second-right
- 19 Feb: board,
- 21 Feb: left, right,
- 26 Feb: board,
- 28 Feb: board,
- 12 Mar: board,
- 13 Mar: board,
- 14 Mar: left, middle, right,
- 16 Mar: left, middle, right,
- 19 Mar: board,
- 21 Mar: board,
- 23 Mar: board,
- 26 Mar: left, right,
- 28 Mar: board,
- 30 Mar: left, right,
- 2 Apr: left, right,
- 3 Apr: board,
- 4 Apr: board,
- 6 Apr: far-left, left, right, far-right,
- 9 Apr: far-left, left, right, far-right,
- 11 Apr: left, right,
- 13 Apr: left, middle, right,
- 16 Apr: left, middle, right,
- 17 Apr: left, right,
- 18 Apr: far-left, left, right, far-right,
- 20 Apr: board,
- 23 Apr: left, right,
- 25 Apr: board,
- 27 Apr: left, right,
- 30 Apr: board