Introduction

INFO 153B/253B: Backend Web Architecture

Spring 2026

 

Kay Ashaolu - Instructor

Suk Min Hwang - GSI

Grade Breakdown

INFO 253B (Graduate)

In-Class Explorations10%
Labs (4 graded)20%
Assignments30%
Group Project40%

INFO 153B (Undergrad)

In-Class Explorations10%
Labs (6 graded)30%
Assignments30%
Take-Home Exam30%

Readings?

  • We are moving away from textbook readings
  • Software engineers learn new technologies through videos, docs, and practice
  • We will use video courses - links posted on the website
    • Jose Salvatierra - REST APIs with Flask and Python in 2024
    • Kay Ashaolu - Universal Building Blocks (System Design)
  • All available free through UC Berkeley O'Reilly access

Labs

  • Labs are held Fridays 9-10am in 210 South Hall
  • Lab 0 is ungraded (environment setup)
  • INFO 253B: 4 graded labs (Labs 1-4)
  • INFO 153B: 6 graded labs (Labs 1-6)
  • Grading methodology:
    • Check+: 10/10 (Correct solution)
    • Check: 8.5/10 (Shows significant effort)
    • Check-: 7/10 (Incorrect, low effort)
    • No submission: 0/10
  • Submit via GitHub Classroom link in bCourses

In-Class Explorations

  • Hands-on exercises during lecture time
  • Graded Pass/No Pass
  • Pass: You worked on it and showed engagement
  • No Pass: You didn't work on it
  • Correctness is NOT graded - we want evidence of exploration
  • Encourages experimentation and learning by doing

More on Assignments

  • Assignments must be done individually (but you can ask for help)
  • Dates posted on course website
  • Lab sections near due dates are dedicated to assignment help
  • Late penalty: 5% deducted per day
  • Submit via GitHub Classroom link in bCourses
  • Please contact us if you run into any issues

AI Policy for Assignments

  • Initial Submission: NO AI assistance
    • Build fundamental understanding yourself
  • Resubmission: AI ENCOURAGED
    • Can resubmit after receiving initial grade for regrading
  • Final Project/Exam: AI ENCOURAGED
    • AI-assisted development is the present and future

Philosophy: Understand fundamentals first, then leverage AI effectively

More on the Group Project

  • INFO 253B only
  • Build a project with other students
  • Groups of 4-5 - no exceptions
  • We will form teams based on skills survey
  • Timeline:
    • Proposal assigned: Week 8
    • Proposal due: Week 9
    • Project due: Week 14 Monday
    • Presentations: Week 14 Friday

More on the Take-Home Exam

  • INFO 153B only
  • Assigned: Week 13 Monday
  • Due: Week 14 Monday (1 week to complete)
  • Format: Individual practical coding project
  • Content: Demonstrates mastery of backend development concepts
  • AI Tools: Encouraged - use AI assistants to build professional-level code

Extra Credit Exam

  • Both INFO 153B & 253B (Optional)
  • When: Week 14 Friday, during lab
  • Duration: 50 minutes in-class
  • Format: Single problem, in-class coding challenge
  • Reward: 10 bonus points applicable to any single assignment
  • Grading: All or nothing - full credit for correct solution, zero otherwise
  • AI Tools: Allowed during the exam

Technologies You Will Use

  • Python - Our primary programming language
  • Flask - Web framework for building REST APIs
  • Docker - Containerization for deployment
  • SQLAlchemy - ORM for database operations
  • Marshmallow - Validation and serialization
  • Redis + rq - Async task processing
  • Git/GitHub - Version control and collaboration

But Don't Worry

  • This is not primarily a programming class
  • Grades are based on demonstrating understanding of core concepts
  • Extra bells and whistles are for extra credit
  • We are here to help

This is Still a Graduate Class

  • Perform well without constant supervision
  • Understand prep materials from various sources
  • Ask for help proactively
  • Get frameworks working on your own

Responsibilities

Me (Instructor)

  • Provide clear learning objectives
  • Create engaging content
  • Be available during office hours
  • Grade fairly and promptly

You (Students)

  • Complete prep before class
  • Attend and participate
  • Start assignments early
  • Ask questions when stuck

Course Materials

  • Course materials will be publicly available on the website
  • Some content behind O'Reilly paywall (free for enrolled students)
  • Universal Building Blocks videos on bCourses

Questions?

Before we move on, I want to address the elephant in the room...

AI IS GOING TO REPLACE MID-LEVEL ENGINEERS!

 

MARK ZUCKERBERG SAID SO!

 

WHY LEARN ANYTHING IN THIS CLASS?

Let's listen to the actual clip:

So here's my take on this

  • AI is incredibly powerful and getting better
  • But it's a tool, not a replacement for understanding
  • Those who understand fundamentals will use AI most effectively
  • Those who don't will be limited by what AI can do for them

Fundamentals

We can be pretty sure that no matter what happens:

  • We'll be using hash tables/dictionaries
  • We'll be using arrays and objects
  • We'll need HTTP and REST patterns
  • We'll need databases and queries
  • We'll need to understand system architecture

...and so on

So my ultimate take is

If you learn the true fundamentals of how to actually build things, AI becomes a tool for that purpose, and not a mystical force that builds things for you

 

Are there really fundamentals for backend system design?

 

I will argue in this class that there are - it's just the information is either in people's heads, or scattered in books

Course Structure

This class will be split into two parts:

 

Part I: Learn by Building (Weeks 1-9)

Build real REST APIs with Flask, databases, Docker, and async processing

 

Part II: Learn by Reflecting (Weeks 11-14)

Step back and analyze what you built - identify patterns and principles that scale to any backend system

Part 1: Learn by Building (Weeks 1-9)

🐍
Python

Fundamentals refresher

🌐
REST APIs

Flask, HTTP, JSON

🐳
Docker

Containers & compose

Validation

Input & error handling

🗄️
Databases

PostgreSQL & SQLAlchemy

Async Processing

Redis + RQ

Build real backend systems from the ground up

Part 2: The Seven Building Blocks

Worker
Worker
Service
Service
Key-Value Store
Key-Value Store
File Store
File Store
Queue
Queue
Relational DB
Relational DB
Vector DB
Vector DB

Task    Storage

Worker Worker

Core Function: Handles long-running tasks asynchronously without blocking

Mental Model: Like a kitchen - works behind the scenes to prepare complex dishes

Perfect For:
  • Background jobs
  • Data processing
  • Scheduled tasks
  • Heavy computations
Limitations:
  • Not for user-facing requests
  • No real-time interactions
  • Delayed responses

Examples: Image processing, email sending, report generation, video encoding

Service Service

Core Function: Handles synchronous requests with immediate responses

Mental Model: Like a restaurant server - takes your order, processes it, brings back results

Perfect For:
  • API endpoints
  • User-facing operations
  • Fast processing tasks
  • Real-time interactions
Limitations:
  • Not for long-running processes
  • No heavy computations
  • Blocks while processing

Examples: User login, search queries, file uploads, payment processing

Key-Value Store Key-Value Store

Core Function: Fast data retrieval using unique keys, O(1) performance

Mental Model: Like a coat check - give them a ticket (key), get back your coat (value)

Perfect For:
  • Caching data
  • Session storage
  • Configuration settings
  • Real-time counters
Limitations:
  • No complex queries
  • No relationships
  • Simple key-based access only

Examples: User sessions, shopping cart, cached API responses, user preferences

File Store File Store

Core Function: Stores and retrieves large files with metadata support

Mental Model: Like a warehouse - stores big items with tracking information

Perfect For:
  • Images, videos, documents
  • Media files
  • Backup storage
  • Global content distribution
Limitations:
  • Not for structured data
  • No complex queries
  • Slower than Key-Value Store

Examples: Photo uploads, video streaming, document storage, software downloads

Queue Queue

Core Function: Manages ordered message flow with FIFO processing

Mental Model: Like a line at a coffee shop - first in, first out, orderly processing

Perfect For:
  • Task coordination
  • Message passing
  • Background job scheduling
  • Event processing
Limitations:
  • Messages are temporary
  • No complex relationships
  • Processing order constraints

Examples: Email notifications, image processing jobs, order processing, real-time messages

Relational DB Relational Database

Core Function: Stores structured data with ACID properties and complex relationships

Mental Model: Like a filing cabinet with cross-references - organized, connected, reliable

Perfect For:
  • Business data
  • Financial transactions
  • User accounts
  • Complex queries
Limitations:
  • Slower than Key-Value Store
  • Fixed schema requirements
  • Not ideal for unstructured data

Examples: User profiles, order data, inventory management, financial records

Vector DB Vector Database

Core Function: Finds similar items using AI embeddings and semantic search

Mental Model: Like a smart librarian who finds books similar to what you're looking for

Perfect For:
  • AI and ML applications
  • Recommendation systems
  • Semantic search
  • Image/text similarity
Limitations:
  • Requires AI embeddings
  • Complex setup
  • Not for exact matches

Examples: "Find similar products," AI chatbots, image search, content recommendations

The Caveat

  • The "Seven Building Blocks" is NOT about building the most efficient system
  • These designs are not optimized for performance
  • The goal is to inspire your intuition for systems
  • If you build intuition, you'll utilize new tools (like AI) better
  • Isn't this how LLMs work in the first place?

Building Intuition Future-Proofs Yourself

  • Growing intuition is key to staying up to date
  • It helps you utilize the latest tools to your advantage
  • Having an open mind helps as well
  • This class aims to help you do both

Questions?

 

Website: groups.ischool.berkeley.edu/i253/sp26

Email: kay@ischool.berkeley.edu