Course Syllabus
Computer Science 48
Spring 2018
Computer Science Project
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
- 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.
- Students gain experience working in groups to develop a
reasonably complex software system.
- Students learn object-oriented analysis and design principles
and techniques.
- Students learn to effectively implement and test
object-oriented software systems.
Instructor
Dr. C. Michael Costanzo, mikec@cs.ucsb.edu
Office hours by appointment
Teaching Assistants
Instruction Schedule
- Lectures - 2 per week - MW 12:30-1:45 in Psych 1902.
- Discussion/meeting with TA - 1 per week - F 11-11:50 or
12-12:50 in Girv. 2129,
or as directed by TA.
Required Text
Steve McConnell.
Code Complete, 2nd Edition, Microsoft Press, 2004.
Schedule of Lecture Topics
- Development processes
- Requirements, and use cases
- Domain analysis
- System design
- Implementation, and testing
Grading Policy
Course grades will be calculated according to the following distribution of credit:
- 75 percent - Group project, with major components contributing as follows:
- 50 percent - Cumulative group project assignment scores
- Progress Reports (8%)
- Requirements Analysis (10%)
- Draft Project (10%)
- System Demonstration (2%)
- Final Project (20%)
- 25 percent - Teamwork credit based on recommendations of fellow group members
- 25 percent - Exam - Monday, May 21 (unless announced otherwise)
Letter grades will be assigned as follows:
Score | Grade | Notes |
≥ 93% | A | Exceptional scores may earn A+ |
90-92.9% | A- |
Scores will be rounded to
the nearest 0.1 percent |
87-89.9% | B+ |
83-86.9% | B |
80-82.9% | B- |
77-79.9% | C+ |
73-76.9% | C |
70-72.9% | C- |
67-69.9% | D+ |
63-66.9% | D |
< 63% | D- | Very poor scores may earn F |
Notes
- Assuming no change to the exam schedule, there will be no final exam in CS 48 this
quarter.
- The course's web pages (http://www.cs.ucsb.edu/~mikec/cs48)
are mandatory reading. Students
are responsible for monitoring them throughout the quarter.
- Be sure to read and understand all parts of the "Project Rules" web page (see link
at top of "Project" page), especially the part about individual accountability.