Note: Course web pages and resources are only available during quarters in which class is being taught
Announcements
- Welcome to the CS148 web site: http://www.cs.ucsb.edu/~ckrintz/classes/f20/cs148/
- Key differences between CS148 and CS156. Undergraduate CS Requirements are one of these two options instead of both.
- CS148 recently changed its number/ID and became an upper division course (it has evolved over time to be more appropriate for upper division students). You will still see the names CS48 and CS148 intermixed in the web pages and search engines for awhile.
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.
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.
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... - Instructor:
- Chandra Krintz <ckrintz@ucsb.edu>
- Office: Department of Computer Science, Henley Hall 2009
- Office Hours: M 9-10am Zoom
- Teaching/Learning Assistants:
- TA: Shereen Elsayad <s_elsayed@ucsb.edu>
- Office hours: during section and by appointment (send email/slack msg) via Zoom
- LA: Arthur Gatin <agatin@ucsb.edu>
- Office hours: during section and by appointment (send email/slack msg) via Zoom
Schedule of Lecture Topics
- Software development processes
- Software requirements (user stories and use cases)
- Software design
- Implementation, testing, and SWE Ethics
Grading Policy
The course milestones for this quarter can be found here.
Course grades will be calculated according to the following distribution of credit:
- 75 percent - Group project, with major components contributing as follows:
- Project Vision Statement (10%)
- TA/LA Progress Evaluation (weekly) (10%)
- Draft Project (20%)
- Project Demonstration (20%)
- Final Project Turnin (writeup, draft project updates, retrospectives, stories, prototype implementation, extensiveness of testing) (30%)
- Peer evaluation (10%). This is computed as the average grade point value given by yourself and your teammates. The standard grade point scale that we use is (Max = 4.0)
- A 4.0
- A- 3.7
- B+ 3.3
- B 3.0
- B- 2.7
- C+ 2.3
- C 2.0
- C- 1.7
- D+ 1.3
- D 1.0
- D- 0.7
- F 0.0
- 25 percent - In class quizzes (dates listed on Schedule page) covering previous lecture topics and tutorial/reading assignments
Letter grades will be assigned as follows:
Score | Grade | Notes |
---|---|---|
≥ 94% | A | Exceptional 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 |
Notes
- Assuming no change to schedule, there will be no exams in CS 148 this quarter.
- The course's web pages (http://www.cs.ucsb.edu/~ckrintz/classes/cs148) 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.