| Lecture Room and Time: | 3117 Computer Science Instruction Center |
| Mondays and Wednesdays 10:00a.m. -- 10:50 a.m. | |
| Recitation Room and Time: | Section 0101: 2118 CSIC |
| Section 0102: 3118 CSIC | |
| Fridays 10:00a.m. -- 10.50 a.m. | |
| Some Fridays will be lecture | |
| Instructor: | Samir Khuller |
| TA: | Koyel Mukherjee (koyelm@cs.umd.edu) |
| Office Hours: | Samir Khuller (AVW 3369) 11:00am-12:00pm Mon and Wed |
| Koyel Mukherjee (AVW 1112) 3:00pm-4:30pm Tu and Thu |
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.