CS169L Spring 2025 information
A | B | C | D | E | F | |||
---|---|---|---|---|---|---|---|---|
1
|
Project | CI | Maintainability | Test Coverage | Repo | Heroku | Coach | |
2
|
Lamorinda Spirit Van |
|
![]() |
|
GitHub Links to an external site. | Heroku Links to an external site. | Tyler | |
3
|
Flextensions |
|
|
|
GitHub Links to an external site. | Heroku Links to an external site. | Brandon | |
4
|
Re-entry Student Program |
|
|
|
GitHub Links to an external site. | Heroku Links to an external site. | Arush |
About
In this course, teams of 4-6 students work with real clients (generally nonprofits and campus units) to develop or enhance SaaS apps that support the work of that client, using the Agile practices learned in CS169A Links to an external site.: lo-fi mockups of user stories, BDD & TDD with Cucumber and RSpec, pull-request-based code reviews, continuous integration, legacy code management, and so on.
Grading criteria are based almost entirely on project work and effectiveness of engaging with your client, including getting at least one (and hopefully more than one!) pull request incorporated into the "golden" (upstream) repo for each project.
Spring 2025 project info for voting
Enrollment criteria
Since capacity is limited, to enroll you must (a) join the waitlist, and (b) fill out this 1-minute survey Links to an external site.. Michael and Armando will make decisions before the start of classes. To join the waitlist and ultimately enroll, you must:
- Be a registered CS major (EECS or L&S)
- Have completed CS(w)169 or CS(w)169A with a B+ or better
Note that those are necessary conditions but they don’t guarantee you will get in, since space is limited. If you meet the above criteria but are still unable to join the waitlist, please email cs-enrollments@berkeley.edu for help.
Concurrent enrollment students, and students who have not taken the prerequisite courses: If you believe you have the necessary background to take CS169L without having taking CS169A, please contact the instructors and we will arrange for you to take a placement exam. The textbook for CS169A is open access and the course covers most of the book, with the heaviest emphasis on chapters 1-5 and 7-10. This exam will be administered in the Computer-Based Testing Facility on campus (not remotely, sorry) and there is no fixed passing score—the instructors will make a holistic evaluation based on your exam. If you have expressed interest in the course without meeting the prereqs and are interested in this option, but you have not received email from the instructors about how to proceed, please email us.
Format and attendance
Class meetings are in person and regular attendance is required to pass. If you are unable systematically to attend in person, please do not enroll.
- There is no final exam but there may be short quizzes throughout the course, using PrairieLearn.
- Teams of 5 or 6 will be formed by the course staff; we will let you designate at most one other enrolled student you'd like to make sure is on your team. We will not allow self-formed teams or ‘cliques’ larger than 2. We will explain our rationale during the first class meeting, but we will not respond to requests for exceptions since the answer is "no."
- We are surveying real customers now, and each team will vote as a team on which customer they want to work with.
- Class meetings will cover a variety of topics, depending on how projects are going:
- Brief reviews of Agile workflows/tools from CS169A
- "Clinics" where we critique/debug project design as a group
- Relevant guest speakers
- "Bootcamps" where we provide short intros to libraries, gems, technologies, etc. that might be needed by one or more projects
- Student team presentations of project progress
Workload
This is a 4-unit course, which theoretically represents 12 hours per week of work (including both in-class and out-of-class), and most students spend at least that much time on it.
Importantly, a main component of your out-of-class time will be customer meetings and team meetings, both technical and nontechnical. We will make available some scheduled class time for team work, but you need to have a sufficiently flexible schedule to be able to meet regularly with your team. If your schedule is packed and you're expecting team meetings to only occurs on nights and weekends, you might want to reconsider, since those meetings are an essential component of project progress on which grading is based.
Other useful info/links
- Grading info, general project logistics info, etc.
- Staff: Armando Fox and Michael Ball (instructors), Tyler Lam (TA), Arush Chhatrapati & Brandon Lai (reader/course assistants)
- Google Calendar Links to an external site. for course
- Google Slides Links to an external site.
Statement on use of course materials
Students may download, modify, and use course materials for their own personal use in any way they wish. Students may not redistribute/repost any provided course materials on any other site, for any reason, with or without being compensated. If we find you've done this, you will be unenrolled from the course and we will pursue legal action against you. This is largely to avoid our materials being available on sites whose business model is based on IP theft, such as CourseHero or Chegg.