CMSC 198K: The Science behind Computing

Fall 2009

Section 0101 and 0201

Home | Syllabus/Homeworks | Lecture Notes | Resources


10/5 Kristin's office hours will be in the LinuxLab (CSIC3107) from now on.
9/28 9/28 11-12 Office hours in LinuxLab (CSIC3107)
9/28 9/29 and 10/1 Kristin's Office hours canceled

General Course Information

Room and Time: 1115 Computer Science Instruction Center
Tuesdays and Thursdays, 9:30a.m. -- 10:45 a.m.
Instructors: Samir Khuller and Bobby Bhattacharjee
TA: Kristin Stephens (KSTEPH at CS dot UMD dot EDU)
Office Hours: Samir Khuller (AVW 3369) Mondays and Thursdays 11:00 a.m. - 12:00 p.m. or by appointment
Bobby Bhattacharjee (AVW 4143) Wednesdays 10:00 a.m. - 12:00 p.m. or by appointment
Kristin Stephens (CSIC3107) Tuesdays 2:00 p.m. - 3:00 p.m. and Friday 1:00 p.m. - 2:00 p.m.

Course Description

No single technology in human history has undergone as dramatic an improvement (over any time scale) as computing, and yet, the perhaps the most surprising fact is not how much smaller, cheaper, or faster computer hardware has gotten, but the range of problems that computing technology efficiently addresses. Twitter and Facebook, IMs and e-mail, the Web and the Internet, credit cards and electronic banking, iPods and cell phones, XBoxes and Wiis, GPS and computer controlled automatic transmissions in your car, auto-pilots on airplane flights and computer-controlled electric power grids,... are all applications of this relatively young discipline.

Computer Science is the systematic study of computation and its applications. The computing technologies touched on above are based on ideas in Computer Science. In Computer Science, "algorithms" specify how a problem should be solved and "programs" express algorithms in a form that can be executed by computers. Finally, computer "systems" is the study of how to efficiently build and organize hardware and software.

This course will explore the "science" behind this incredible range of technologies by providing an interleaved introduction to major ideas in computer algorithms, computer programming, and computer systems.