CS 198-75 | Full Stack Development

CS 198-75 @ UC Berkeley, Spring 2022

Lecture: Mondays 6:00pm-7:00pm @ Evans 60
Lab: Thursdays 6:00pm-8:00pm @ Soda 405

Announcements

Whether you need relevant project experiences to kickstart your resume, or if you have a burning desire to build but just don’t know where to start, Cubstart is the course for you. We provide unique weekly guided full-stack projects, mentorship, and technical workshops. The final project of the semester will be dedicated to applying your skills to develop a viable product/application with a team. We encourage those with little or no CS experience to join! If you are someone who’s passionate about learning and wants to create unique projects from start to finish, Cubstart is the place for you!

Recommended prerequisites or taking concurrently: one of CS10, CS61A, DATA8, E7. If you’ve never coded before and aren’t concurrently enrolled in a programming course, you might need to put in some extra effort, but you should still be fine.

Schedule

Week Date Lecture Lab Section Homework/Project

Course Staff

Lecturers

Brandon Wang

wangb@
Lecturer

Hi, I'm Brandon. I'm glad to be teaching in-person this semester. I'm a second-year CS and Data Science major. Ask me if you have questions about the course, recruitment, or life in general.

Teaching Assistants

Alex Lu

alu@
Lab TA

Hi! My name is Alex, and I’m a 3rd year studying CS and Linguistics. In my free I enjoy knitting pillows, trying new foods, and running. Feel free to reach out about anything iOS :)

Jeremy Liu

jeremyliu@
Lab TA

Hi! My name is Jeremy, and I’m a senior studying EECS. I love working out and hiking. Feel free to reach out about anything!

Khushi Desai

khushipdesai@
Lab TA

Hi I'm Khushi, and I am a Junior with a Computer Science major and a Data Science minor. I love teaching, painting, cooking, hiking and recently started picking up the ukelele!

Pranati Kuppa

pranatikuppa@
Lab TA

Hey! I'm Pranati, a junior studying CS. I’ve been helping teach iOS dev in Cubstart since my sophomore year, so I’m really happy to be back this semester! Feel free to reach out and chat anytime :-)

Anshul Paul

anshulpaul@
Lab TA

Hi! My name is Anshul. I'm a second year studying EECS and Business. I'll be helping in the web labs this semester. Excited to meet everyone! Feel free to shoot me an email if you have any questions!

Nick Cheng

ncheng006@
Lab TA

Heyo! I'm a Sophomore studying CS and CogSci. On my free time, I'm usually playing Valorant, feeding in League, bingeing K/CDramas, snacking, napping, or staring at a wall. Do feel free to reach out to me and I look forward to meeting everyone :)).

Tyler Sameshima

tysameshima@
Lab TA

Hey all! I'm Tyler, a second year majoring in CS. In my free time, I like playing video games, listening to music, or learning new languages. Feel free to reach out if you want to talk!

Arushi Somani

arushisomani@
Content Creation

Hey everyone! I'm Arushi, a junior studying CS and Econ who enjoys indie music, astronomy, and building communities! I love talking about all things web-dev and CS and Berkeley and life and internships and startups and whatever! I wanna help you out however I can. Let's chat!

Matthew Lee

matthewlee3@
Content Creation

Hi there! I'm Matthew, a first year at UC Berkeley majoring in Computer Science and Data Science. When I’m not building web development projects or working on Berkeley things, I enjoy hiking, visiting museums, and watching basketball games.

Syllabus

Course Details

  • Course Designation: CS 198-75
  • Facilitators: Brandon Wang, Lupe Paniagua
  • EECS Dept. Sponsor: Professor Joshua Hug
  • Course Catalog: Spring 2022

Course Overview

Central to many aspects of software engineering, full stack web development using modern tech stacks is often overlooked by traditional course offerings. The difficulty of acquiring these developmental skillsets is undeniable, especially for those with no prior/limited experience wanting to break into tech. CS 198-75 provides unique weekly guided full-stack projects, mentorship, and technical workshops. The final project of the semester will be dedicated to applying your skills to develop a viable product/application with a team.

Course Material

The course content is split into lectures, optional labs, homework, and a final project. You are expected to form teams of up to 4 at the start of the semester, who will be your group to navigate homework projects and deliver a final project with.

Lectures (Monday 6-7pm PT)

The weekly lectures are intended to give an introduction to the contents covered by the homework due the following week. The general structure will be a conceptual overview of the highlighted topics, use cases, and real-life examples. Lectures for this track, web, will be held in Evans 60. Attendance will be recorded.

Labs (Thursdays 6-8pm PT)

The weekly labs serve as a means of introducing the homework assignment (that was assigned the previous week) for those who are struggling to grasp certain concepts or haven't gotten around to doing the assigned homework. Those who do not wish to complete an assignment in its entirety for a certain week, can come to the lab section and attempt the homework for the entire duration. You can receive full credit for the homework assignment regardless of completion (based on effort, TAs will check you off). Labs will be held remotely, tentatively. You do not need to attend these labs if you feel comfortable that you can complete the homework assignment, or have already completed it.

Homeworks (Assigned Mondays, Due the Next Friday)

The weekly homeworks are mini-projects that have a detailed, step-by-step spec for you to follow. The way these step-by-step projects have been designed is intended to achieve two things:

  • Quality: So that you may gain the working knowledge of the relevant technologies
  • Uniqueness: So that you may have a stand-out project for your resume/portfolio with many talking points
We understand that you have other obligations throughout the semester, which is why we have optional weekly labs on Thursdays, so that you may receive credit for the project the day before it is due (Friday) if you can not commit to a project for a certain week. However, the project spec is instructional enough so that you can follow each step without too much trouble all the way until the finished product, from which you are expected to add a few creative modifications for credit. You are allowed to collaborate your team on these projects, but you are expected to submit these homeworks individually.

Final Project (Assigned Monday, 4/4)

The last 4 weeks will be dedicated to your final project, which is ideating and building a viable product/application. You’ll be expected to meet with your project team regularly to work towards meeting the checkpoints throughout. You will have a chance to demo your project for industry experts and professionals as your final at Demo Day, which will take place on Thursday, 5/5. We will be offering extensive Office Hours support as you and your team take on this final project.

Learning Goals

  • Buffing your resume with projects that are attractive to recruiters
  • Tackling detailed project specs
  • Project ideation and developing software in a team
  • Achieving full stack web development proficiency

Grading Breakdown

Points Assignment
15 Lecture Attendance
40 Weekly Homeworks (5 pts. each)
5 Final Project Checkpoint: Design Mockup
40 Final Project: Demo Day

This course is fast-paced and highly cumulative. Your success will depend on your active and consistent participation. However, we understand that emergencies and personal matters do come up, so you are allowed up to 2 excused and 2 unexcused absences across lectures. Excused absences require at least 6 hours notice; please email cubstart@calhacks.io with the subject line “[CUBSTART] EXCUSED ABSENCE REQUEST - YOUR FULL NAME.” In the body of the email, please include the reason for the request. Absences beyond our limit will automatically result in a grade of NP.

Late Work

Each student is allowed up to 3 slip days throughout the semester. Slip days are applicable to the homeworks. Each slip day is equivalent to a 24-hour extension. You may use multiple slip days back-to-back. Using a slip day does not require any notice; they will simply be applied at the end of the semester to maximize your overall grade. Slip days will be subtracted from each student on the team at the same time. Outside of slip days, late work will receive a 10% grade deduction for every day after the deadline that the work is submitted.

Academic Honesty

You may only work with your teams on the projects. Respect licenses of libraries that you use, and do not sabotage other students (there is no curve). Follow UC Berkeley’s Honor Code.