Course Homepage

Course Catalog Description

CMSC 201 — Computer Science I for Majors

An introduction to computer science through problem solving and computer programming. Programming techniques covered by this course include modularity, abstraction, top-down design, specifications documentation, debugging and testing. The core material for this course includes control structures, functions, lists, strings, abstract data types, file I/O, and recursion.

The banner image for the Fall 2017 CMSC 201 website was created from this CC0 public domain image.


There is no "required" book for this course, but the textbook is highly recommended, and the relevant chapters that accompany each lecture are listed on the schedule page. The recommended text is Python for Everyone (2nd edition) by Cay Horstmann and Rance Necais.

Wondering about the different options for purchasing the textbook? Check the FAQ for the details.