Skip to content

Syllabus and Course Policies

Course Overview

This course is a survey of web technologies that are used to build back-end systems that enable rich web applications. Utilizing technologies such as Python, Flask, Docker, RDBMS/NoSQL databases, and Queues, this class aims to cover the foundational concepts that drive the web today. This class focuses on building APIs that power everything from content management systems to data engineering pipelines that provide insights by processing large amounts of data. The goal of this course is to provide an overview of the technical issues surrounding back-end systems today and to provide a solid and comprehensive perspective of the web’s constantly evolving landscape.

This course is offered as INFO 153B for undergraduate students and INFO 253B for graduate students.

INFO 153B vs INFO 253B

This course is offered as INFO 153B for undergraduate students and INFO 253B for graduate students.

Both INFO 153B and 253B are held in the same lecture room; INFO 153B will require students to take a take-home practical, while INFO 253B will require students to complete a group-based final project and report.

In Fall 2020, INFO 153B did not exist: there was a single INFO 253B class that graduates and undergraduates with permission could take. This COCI submission proposes to make INFO 253B into an INFO 153B/253B class, with the changes documented for the undergraduate INFO 253B class mentioned below:

  • INFO 153B will have eight weekly lab assignments due throughout the semester. INFO 253B will have four weekly lab assignments and a final project. Note: INFO 253B students will not be required to attend labs 5-8: the expectation is to use the time for your final projects.

INFO 153B will have an open book Take Home Exam, consisting of a project to complete within seven days during Finals Week. INFO 153B students will not participate in the final project.

If you are interested in learning about front-end systems please check out INFO 253A: Front-End Web Architecture, typically offered in the fall semester.

Class Attendance Expectations

It is expected that everyone attends class in person. This class will be recorded via Zoom, but due to the increased interactive nature of this class, it is important to attend class this semester, and class participation is a significant portion of your grade. There will be in person quizzes delivered only in class, which will be a portion of student's grade.

If there is an medical or personal emergency, or if you are sick, please send the professor a note. If the request is approved, you will not be penalized for not coming to class, and you will be able to take the week's quiz the next week. Recordings for the class will be made available after the end of class.

Textbooks and Class Tools

Course Resources

Instead of textbooks, this class will rely on extensive online video tutorials. We expect the students in the class to watch all class resources before class starts. Class time will be predominately reserved for in-class exercises and interactive learning.

Note: All these online videos/tutorials are either accessible through an O'Reily Subscription (free for Berkeley students) or you will receive a free subscription from the instructor. Please check this link to get your O'Reilly subscription: https://guides.lib.berkeley.edu/c.php?g=530750&p=3630483.

TLDR; Please do not purchase any resources for this class: if you are having trouble accessing the below resources please contact the instructor.

Class Tools

  • This website: Primary location for class info, syllabus, schedule, discussions etc..
  • bCourses: Assignment/Lab/exam/project info and grades will be delivered here, as well as opportunity to create discussions and get help from both students and instructors
  • Github: Where your code submissions will live for all work in the class. You will recieve a link that will create a repository for all work done in the class

Prerequisites

INFO 153B

INFO 253B

  • Formal prerequisites are not required for INFO 253B, but students should have familiarity with programming in at least one programming language.

Class Format

Due to student feedback, this COCI submission proposes to change INFO 253B to a 2-hour lecturer once a week and a 1-hour lab once a week, the lab led by a GSI. The ability of a GSI to lead the class will benefit students, providing the GSI the liberty to cover topics specific to the members of their section. The lecture will focus on real-world applications and reviewing best web development practices.

Assignments and Evaluation

Quizzes

  • There will be short and simple three question multiple choice quizzes given in class during every lecture. These quizzes are intended to test overall holistic understanding of the material as we go through the course.

Short programming labs

To reinforce concepts introduced in the readings and lectures, students will have small weekly labs focused on using the systems, frameworks, and libraries introduced that week. The lab will be an opportunity to complete these assignments and get support from the GSI.

INFO 253B students will have 4 lab submissions and INFO 153B students will have 8 lab submissions. *

The lab submissions should take the students 1-2 hours to complete. You will have a week to submit your labs.

Lab grade methodology

Grade Mark Number Grade Description
✓+ 10/10 Correct Solution
8.5/10 Solution isn't exactly right but shows effort
✓- 7/10 Incorrect solution and lacks effort
- 0/10 No submission

Special Grading Considerations

  • For INFO 153B: We will drop the lowest two lab grades
  • For INFO 253B: We will drop the lowest lab grade

Long programming assignments

Students will complete two longer assignments that build a cohesive web application using the skills provided in this class.

The two assignments will be longer and are estimated to take 10-12 hours each. Each assignment will have a dedicated grading rubric published.

Special Grading Considerations

If you want to improve your grade, you can resubmit your assignment - the average grade of the two submissions will be the final grade (if it is improved)

Final Project (INFO 253B)

The last half of the class will be devoted to developing a final project. Class members will form teams of 4-5 and build a joint project. The instructor will publish the grading rubric before the start of the project. The instructor/TA will choose group composition based on the class survey to ensure an even distribution of strengths and skills. Lab sessions during this period is highly encouraged to be used for group projects.

Take Home Exam (INFO 153B)

A take home exam will be given to be completed during reading week. It will be designed to take two hours and you'll be given seven days to complete the exam. This will be a project similar but less comlex than a assignment

Grading

Assignment Type INFO 153B INFO 253B
Quizzes 10% 10%
Labs 40% 20%
Assignments 30% 30%
Final Project N/A 40%
Take Home Exam 20% N/A

Late Work Policy

Late submissions after the extension will see 2% marks deducted each day. Note that 10 minutes late is a day late.

If your situation warrants an exception to the above, please contact the instructor and TA for next steps.