CMSC 160: Intro to algorithm design I
Fall 2015
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 12 noon on MWF, with a required lab section that meets at 2:00pm on Tuesday.
The textbook is Programming: principles and practice using C++ 2e, by Bjarne Stroustrup (ISBN 978-0-321-99278-9).
Resources
- Syllabus
- Remote accounts policy
- Remote login instructions
- Collaboration policy
- vim starter reference
- command line starter reference
Labs, homeworks, projects
- 25 Aug: Lab 0
- 1 Sep: Lab 1 drill, Lab 1
- 8 Sep: Lab 2 drill, Lab 2
- 15 Sep: Lab 3 drill, Lab 3
- 22 Sep: Lab 4 drill, Lab 4
- 29 Sep: Lab 5 drill, Lab 5
- 6 Oct: Lab 6 drill, Lab 6
- 20 Oct: Lab 7 drill, Lab 7
- 28 Oct: Lab 8 drill, Lijnenspel worksheet, Lab 8
- 3 Nov: Lab 9 drill, Lab 9
- 10 Nov: Lab 10 drill, Lab 10
- 17 Nov: Lab 11 drill, Lab 11
- 24 Nov: Lab 12 drill, Code reading worksheet, Lab 12
Board photos
- 26 Aug: board
- 31 Aug: side left, side right, front left, front right
- 4 Sep: back, side left, side right, front, front right
- 8 Sep: board
- 9 Sep: back, side left, side right, front, front right
- 11 Sep: back, side left, side right, front
- 14 Sep: First problem: back, side, front, front right; Second problem: back, side, front, front right
- 16 Sep: left, right
- 21 Sep: back, side left, side right, front
- 23 Sep: back, side left, side right, front, front-right
- 30 Sep: board
- 5 Oct: left, right
- 6 Oct: board
- 7 Oct: side left, side right, front, right
- 9 Oct: back, side, front
- 14 Oct: back, side left, side right, front
- 16 Oct: board
- 19 Oct: back, side left, side right, front
- 21 Oct: board
- 23 Oct: board
- 26 Oct: board
- 28 Oct: board
- 30 Oct: left, right
- 2 Nov: back, side left, side right, front
- 4 Nov: board
- 6 Nov: left, right
- 9 Nov: board
- 11 Nov: back, side left, side right, front left, front right, front far right
- 13 Nov: first back, first side left, first side right, first front, first right, second back, second side left, second side right, second front, second right,
- 16 Nov: first back, first side, first front, first right, second back, second front, second side left, second side right, second right
- 20 Nov: board
- 23 Nov: board
- 24 Nov: board
- 30 Nov: left, right
- 2 Dec: board