Syllabus
Course Format
- Length: 2 hours, every week.
- Time & Date: Tuesday 6-8pm.
- Office Hours: Wednesday 10am-3pm, Haas library.
Contact Information
- EdVPs: education@codebase.studentorg.berkeley.edu
- Mentored PMs: mentored@codebase.studentorg.berkeley.edu
Course Description
This 12-week course offers a foundational introduction to SWE and ML/AI, designed in response to the emerging industry shift toward AI-integrated systems. New members will gain hands-on experience with Python programming, explore modern frameworks, and develop machine learning models including neural networks.
Prerequisites
- Taken or concurrently enrolled in CS 61A / Data 8 OR have previous coding experience
- No prior industry experience
- Little to no prior web dev experience
- Completed 1 or fewer upper-division CS/Data Science technical courses at UC Berkeley
Desired Course Outcomes
By the end of the 12 weeks, we hope you:
- Are comfortable programming in Python and Java.
- Know common data structures (Arrays, LinkedLists, Trees, HashTables)
- Are familiar with frameworks such as PyTorch, Pandas, NumPy, scikit-learn
- Have a basic understanding of Databases
- Understand fundamental ML/AI concepts (optimization, neural networks)
- Feel comfortable working in a team environment, similar to that found in industry
Course Content
The course will roughly follow this outline (subject to change based on member needs, popularity, and resources):
- Programming in Python
- Data Structures
- Introduction to SWE
- Databases
- Distributed Systems
- Introduction to ML
- Math for ML
- Classical ML
- Deep Learning
- NLP + Transformers
Course Outline
- Weeks 1–5: Software Engineering
- Weeks 6: CRUP Hackathon + Midterm Project
- Weeks 7–11: Machine Learning
- Weeks 9–12: Classical ML
Homeworks
Throughout the course, we’ll be releasing homeworks that accompany lectures.
- Deadline policy: Homework must be submitted on the day of the next lecture (no rolling extensions).
- Homework parties: Every Wednesday from 10am to 12:30pm — a space to ask questions and work together with your fellow new mems!! Even if you don’t have questions, stop by just to hang out :)
⚠️ Failure to adhere to the above policies may impact your eligibility to become a client developer the following semester and attend Codebase social events.
Final Project
You’ll complete a final course project in teams of 3–4 people (with 1–2 client devs and 1–2 mentored devs).
- Showcase: Before, Codebase’s banquet, where you’ll present everything you’ve learned ⭐⭐⭐
- Requirements: Must incorporate full stack, databases, SWE practices, or machine learning
- Logistics: Details announced in Week 10
👉 Think of an issue that matters to you — in your life, your community, or the world — and build a tech-powered solution!