CMSC-16100: Honors Introduction to Programming, I

Course Overview

This is an introductory honors course in computer science, not just computer programming. We will learn through the vehicle of a specific programming language—Haskell—a pure, lazy, functional programming language. This quarter has a distinct “high-brow” feel to it. Next quarter is your opportunity to get down and dirty with traditional languages and larger self-directed projects.

Course Staff

LecturerSectionOfficeOffice Hours
Ravi Chugh [email] Section 01: MWF 10:30-11:20 (Ry 276) Ryerson 167 Tues 1:00-2:00, Thurs 4:00-5:00, and by appointment
Stuart Kurtz [email] Section 02: MWF 01:30-02:20 (Ry 276) Ryerson 166 MWF 10:30-11:30 and by appointment

Teaching AssistantOffice Hours
Mark Stoehr (Lab TA) [email] Wed/Thurs 1:00-2:00 (Young 404)
Stephen Fitz (TA) [email] Mon 1:30-2:30 (Young 404)
Sean Laguna (TA) [email] Tue 2:00-4:00 (Young 404)
Lee Ehudin (Grader) [email] Nothing

Course Communication

We will be using several technologies for coursework and management:


The principal text for the course will be our lecture notes, but we recommend:


Grading will be based on homework (1/3), lab (1/6), a midterm exam (1/6), and a final exam (1/3).

Our particular theory and practice of homework is this: