CS 111


course details

Computer Science 111
Introduction to Computer Science I


The first lectures for the fall semester will be held on September 3. Labs will not meet during that first week.

This fall's version of the course will be significantly different from those offered in past semesters. In particular, we will be using Python instead of Java, and we will be covering a variety of other topics from computer science -- including units on low-level computer organization and key theoretical concepts like computability. We're very excited about the changes, and we think you will be, too!

No prior experience is required. If you do have prior programming experience -- including experience in Python -- you should still benefit from the course. Among other things, it should help you to develop or strengthen problem-solving skills that are needed for further study in computer science -- including ways of thinking that are not typically emphasized or even covered in most introductory courses.

Answers to frequently asked questions:
  • The lab sections are completely interchangeable. Students enrolled in the A lecture may enroll in a B lab, and vice versa.
  • We will be using a freely available online textbook; see the bottom of the page for more info.
  • The only thing that you will need to purchase is a "clicker" for use during lecture. This will be available for purchase at the Barnes & Noble at BU. If you've purchased a clicker for another BU course in a past semester, you should be able to use it for this course as well.

For more information, consult the preliminary draft of the syllabus or contact Dr. Sullivan.

Please check this page regularly throughout the semester for announcements and course materials.

Course Information

The first course for computer science majors and anyone seeking a rigorous introduction. Develops computational problem-solving skills by programming in the Python language, and exposes students to variety of other topics from computer science and its applications.

Prerequisites: none

David G. Sullivan, Ph.D.
Senior Lecturer on Computer Science
see the staff page for contact info. and office hours

section A1: MWF, 10-11, KCB 101
section B1: MWF, 12-1, COM 101

section A2: Mon., 1-2
section A3: Mon., 2-3
section A4: Mon., 3-4
section A5: Mon., 4-5
section A6: Mon., 5-6
section A7: Mon., 6-7
section B2: Tues., 9-10
section B3: Tues., 10-11
section B4: Tues., 12-1
section B5: Tues., 1-2
section B6: Tues., 2-3
section B7: Tues., 4-5
section B8: Tues., 6-7

All labs are in the CS teaching lab, EMA 304.
The lab sections are completely interchangeable. Students enrolled in the A lecture may enroll in a B lab, and vice versa.

  • Weekly problem sets
  • Two midterm exams
  • Final project
  • Final exam
  • Participation: online reading quizzes, and attendance at and participation in both the lectures and labs

CS for All by Christine Alvarado, Zachary Dodds, Geoff Kuenning, and Ran Libeskind-Hadas. This is an online textbook that is available here: