Syllabus

Course Format

  • Length: 2 hours, every week.
  • Time & Date: Tuesday 6-8pm.
  • Office Hours: Wednesday 10am-3pm, Haas library.

Contact Information

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):

  1. Programming in Python
  2. Data Structures
  3. Introduction to SWE
  4. Databases
  5. Distributed Systems
  6. Introduction to ML
  7. Math for ML
  8. Classical ML
  9. Deep Learning
  10. 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!