Announcements

Course Description

CS 48 is about "programming in the large" - how to design, implement and test large programs. The emphasis is on learning by doing, and students will spend most of their time on problems related to their group projects (and less time on traditional homework assignments). Along the way, CS 48 will help you learn: the phases of a software project, and experience working in teams, basics of object-oriented analysis and design, including design patterns user interface principles and tips for satisfying clients automated system build and testing strategies, UML, version control and more ...

Pre-requisite

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
Monday/Wednesday 2-3:15pm, Phelps 3526
Discussion (Team/Tutor meetings)
Thursday 4-4:50pm (sec 07971), 5-5:50 (sec 07989) and 6-6:50pm (sec 07997), Phelps 3525. Note that your assigned section may change once we select teams...
Instructor:
Tobias Höllerer
Office: Department of Computer Science, HFH 2155
Office Hours: Tue, 11-12:30pm, and by appointment
Teaching Assistant and Reader:
TA: Harlan Kringen (kringen@ucsb.edu)
Office hours: Thu, 11:30am-12:30pm or on-demand (send email), location: CSIL
TA: Richa Wadaskar (richa_wadaskar@ucsb.edu)
Office hours: Wed, 3:30-4:30 or on-demand (send email), location: CSIL
Tutors (Team mentors): Ekta Shahani, Anu Polishetty, Connor Daly, Terrell Marshall, JingJing Yu
Mentoring during section and by appointment

Required Text

Handouts in Class

Schedule of Lecture Topics