Note: Course web pages and resources are only available during quarters in which class is being taught


Course Description

CS 148 is about "programming in the large" - Students in the class study how to design, implement, and test complete, end-to-end applications and systems. The class instruction emphasizes learning by doing and independent innovation: Students spend most of their time on problems related to their group projects (and less time on traditional homework assignments). Moreover, student teams define their own projects (with help from the instructional staff to ensure success in the class time frame). Along the way, students learn the phases of a software project, how to work well within a team, and the basics of software analysis and design, including user interface principles, tips for satisfying clients, automated system build and testing strategies, UML, version control, and more.


Computer Science 32 with a grade of C or better.

Course Goals

  1. Students gain personal experience with each of the typical phases of a large-scale programming project, including requirements and domain analysis, system design, implementation, and testing.
  2. Students gain experience working in groups to develop a reasonably complex software system.
  3. Students learn object-oriented analysis and design principles and techniques.
  4. Students learn to effectively implement and test object-oriented software systems.

Course Specifics

Class Times
Tuesday/Thursday 9:30am-10:45am via Zoom
Discussion (Team/TA/LA meetings)
Tuesdays 5-5:50pm (sec 62786), 6-6:50pm (sec 62794), 7-7:50pm (sec 62802) via Zoom (setup by TA/Learning Assistant (LA) or Team)
Note that your assigned section may change based on everyone's availability, once we select teams...
Chandra Krintz <>
Office: Department of Computer Science, Henley Hall 2009
Office Hours: M 9-10am Zoom
Teaching/Learning Assistants:
TA: Shereen Elsayad <>
Office hours: during section and by appointment (send email/slack msg) via Zoom
LA: Arthur Gatin <>
Office hours: during section and by appointment (send email/slack msg) via Zoom

Schedule of Lecture Topics

Grading Policy

The course milestones for this quarter can be found here.

Course grades will be calculated according to the following distribution of credit:

Letter grades will be assigned as follows:
≥ 94%    AExceptional scores may earn A+
92-93.9%   A- Scores will be rounded to
the nearest 0.1 percent
89.9-91.9%   B+
86.9-89.8%   B
82.9-86.8%   B-
79.9-82.8%   C+
76.9-79.8%   C
72.9-76.8%   C-
69.9-72.8%   D+
66.9-69.8%   D
< 66.9%   D-Very poor scores may earn F