CS148, Winter 2025

NameRoleBio
Anderson Lee Undergraduate Learning Assistant

Anderson is a 4th year CS major here at UCSB. Through an internship and courses such as CS148, 156, and 184, he has experience in both mobile/web development. As for his most familiar tech stacks, he likes to use React, Python, Firebase, and SwiftUI. His passion lies in building products that will make people's lives easier. Outside of coding, he likes to play basketball, lift, go hiking, and hang out with friends.

Chieh-Ying (Jamie) Lai Teaching Assistant

Chieh-Ying (Jamie) Lai is a Master student in Computer Science. She has extensive experience in full-stack development, working with React, the Django framework (Python), HTML, JavaScript, CSS, and SQL. Her research interests focus on machine learning and computer vision, with an emphasis on practical applications of these technologies. Beyond her academic pursuits, Jamie enjoys traveling, playing video games, and photography, capturing unique moments wherever she goes.

Leo Guo Undergraduate Learning Assistant

Leo is a 4th-year CS and DS major at UCSB. He has experience in full-stack web application development with Python, JavaScript, Ruby, Unity, and web frameworks/platforms such as Flask, React, Ruby on Rails, and AWS. Leo also has experience in mobile app development using Swift and ARKit. He is passionate about machine learning and augmented reality, as well as their applications in software. Outside of academics, Leo is an active member of the UCSB Fencing Club. He enjoys exploring innovative technology, teaching programming, and collaborating on team projects.

Rachel Jiang Undergraduate Learning Assistant

Rachel is a 4th year CS major at UCSB. She has experience with full-stack web application development in C#, AngularJS, ReactJS, Typescript, and Javascript. She also has game development experience with Unity (2D) and other relevant knowledge in Docker containers, GraphQL and SQL. She loves to share her passion for programming within and outside of school and has an ongoing curiosity for the intersection of hardware and software. Outside of school, she likes traveling, photography, and distance running.

Samuel Zhu Undergraduate Learning Assistant

Samuel is a current junior with a passion for full-stack development, cloud services, and machine learning. He has worked with a variety of technologies including React Native, gRPC, GraphQL, AWS, Flask, and more. He also runs the Web Development branch of UCSB's ACM chapter and helps manage the UCSB TASA website team. Outside of coding, Samuel enjoys yapping while sipping tea, juggling, and playing competitive NES Tetris.

Tobias Höllerer Instructor

Tobias Höllerer is a Professor in the CS department at UCSB, which he joined in 2002. He directs the Four Eyes Laboratory, conducting research in the four I's of Imaging, Interaction, and Innovative Interfaces. He is interested in incorporating modern software development and human-computer interaction design experiences into undergraduate computer science courses. Outside of CS, his interests include playing and coaching soccer, food, hiking, and traveling.

Zifeng Zhang (Will) Teaching Assistant

Zifeng (Will) is a second year Master's student in Computer Science. He has experience in full stack web development, particularly in H5/CSS/JS, Ajax, Flusk, Django, and SQL. He has also served as a TA in CS8, CS9, CS165A, CS184 in the past few quarters. His research focuses on multi-view stereo and 3D scene understanding. He enjoys playing pool, bowling, golf, and tennis in his spare time.

Yunhao Luo Teaching Assistant

Yunhao is a Master’s student in Computer Science in the BS/MS program. He has experience in mobile and web app development, specifically with React, React Native, Firebase, HTML/JS/CSS, SQL, and Unity. He strives to conduct meaningful research in areas such as Human-Computer Interaction (HCI), Extended Reality (XR), and Human-AI Interaction. Outside of academics, he enjoys hiking, basketball, and running.

num ready? description assigned due

num ready? description assigned due
lab01 true Getting Started Fri 01/10 01:00PM Fri 01/17 11:59PM
lab02-addendum true Expand README.md
lab02 true Kanban Boards towards MVP Demo Video Fri 01/17 01:00PM Fri 01/24 11:59PM
lab03 true First Retro and MVP Preparation Fri 01/24 12:00AM Fri 01/31 11:59PM
lab04 true MVP Release, MVP Review, Acceptance Tests Fri 01/31 01:00PM Fri 02/07 11:59PM
lab05 true MVP Demos, Unit Testing, Coding with AI Fri 02/07 01:00PM Fri 02/14 11:59PM
lab06 true Higher-Level Testing, UX Planning, Second Retrospective Fri 02/14 01:00PM Fri 02/21 11:59PM
lab07 true Review and Plan Leadership Roles / Start Design Document / Inter-team Eval Fri 02/21 12:00PM Fri 02/28 11:59PM
lab08 true Inter-Team Eval Response, Start Manual, User Stories and Issues towards Final Release, Retro 3 Fri 02/28 01:00PM Fri 03/07 11:59PM
lab09 true Final Stretch, Final Code Release Thu 03/07 01:00PM Thu 03/14 11:59PM
lab10 true Code Release Tonight Fri 03/14 01:00PM

num ready? description assigned due
h00 true Agile Basics, Part 1 of 3 Mon 01/06 02:00PM Wed 01/08 12:00PM
h01 true User Stories Fri 01/10 11:00AM Wed 01/15 12:00PM
h02 true Agile Basics, Part 2 of 3 Wed 01/15 02:00PM Wed 01/22 12:00PM
h03 true Retrospectives Mon 01/22 02:00PM Sat 01/27 12:00PM
h04 true Agile Basics, Part 3 of 3 Mon 01/27 02:00PM Wed 01/29 12:00PM
h05 true More on Agile Wed 01/29 02:00PM Mon 02/03 12:00PM
h06 true Acceptance Testing Wed 02/05 02:00PM Mon 02/10 12:00PM
h07 true More on Testing and BDD Mon 02/10 02:00PM Mon 02/17 11:59PM
h08 true Design Patterns and Anti-Patterns Mon 02/19 02:00PM Sun 03/03 12:00PM

num ready? description exam date
project true Code Freeze and Final Release Fri 03/14 11:59PM
project true Inter-Team Evaluation and Feedback Wed 02/26 02:00PM
project true MVP Code Freeze, Release, and Video Mon 02/03 11:59PM
project true Project Materials Due Tue 03/18 11:59PM
project true Final Presentations Mon 03/17 04:00PM

See also: LECTURE* repos from https://github.com/ucsb-cs148-w25

num date description
lect00 Mon 01/06 First day of class
lect01 Wed 01/08 Project Team Formation
lect02 Mon 01/13 Meeting Logs, Initial README, Team Agreements
lect03 Wed 01/15 Scrum Process, Kanban Boards
lect04 Wed 01/22 Project Management: README.md, Leadership, Retros, Learning plan
lect05 Mon 01/27 Production pipeline. Feature-branch/pull request workflow
lect06 Wed 01/29 Project Presentation Announcement, MVP Planning
lect07 Mon 02/03 MVP preparation, final stretch
lect08 Wed 02/05 MVP preparation, final stretch
lect09 Mon 02/10 Overview: Software Testing
lect10 Wed 02/12 Testing Tools, Different Types of Testing: Component, End-To-End, and BDD Testing
lect11 Wed 02/19 SW Hierarchy of Needs, UX Principles
lect12 Mon 02/24 Prepare Inter-Team Eval, Secrets, (Patterns, Code Smells, UX Principles)
lect13 Wed 02/26 Deliver/Critique MVP
lect14 Sun 03/03 Lab08: Team Eval Response, 3rd Retro, Team Work Towards Code Freeze
lect15 Wed 03/05 Coding with AI recap, Lab08: Team Eval Response, 3rd Retro, Team Work Towards Code Freeze
lect16 Mon 03/10 Countdown to Final Release
lect17 Wed 03/12 Final Countdown to Final Release