top of page

This course will focus on the design and development of complex web applications and systems, from browser to web servers and databases. We will learn basic and advanced principles on client-side and server-side development, web security, and how to design complex and dynamic systems.

 

Upon completion of this course, students will be able to:

  • Design and develop full-stack web applications.

  • Design large web systems.

  • Understand front-end principles - How does the browser work and what effects a web app's performance.

  • Proficiently develop web apps using HTML, CSS, JS, TS, React, Async Programming and more...

  • Understand back-end principles - How does a web server work, HTTP/HTTPS and other web protocols, cookies & sessions, authentication, microservices architectures and event-driven architectures.

  • Gain basic knowledge about databases, web security, scaling, and ci/cd principles.

Grading Policy

Students will be graded for:

  • 3 homework assignments.

  • A fullstack final project & presentation.

All of the above will be submitted in pairs.

Workshops

Throughout the semester we will conduct 3 workshops as seperate sessions from the lectures. In each workshop you will be given a coding assignment, meant to help you getting started with class

topics relevant to your homework and final project.

These workshops are essential for understanding the course' materials, we highly encourage you to actively participate.

Pre-required courses
(234122 - Introduction to Systems Programming and 236363 - Databases) or (234124 - Introduction to Systems Programming and 236363 - Databases)

 

סילבוס

Syllabus

1 Intro

OSI Model, TCP/UDP, HTTP, Client-Server communication

3 Async JS

More Javascript, Async programming, The event loop, CRP

5 Basic Backend

How Backend application works, REST API

7 Security, Databases

Clined & Server side attacks, DB concepts in Backend apps

9 Scaling Systems I

ACID, Databases in large systems, CAP theorem

11 Advanced Topics I

Performance, Web Workers, Web Assembly

2 Basic Frontend

Browser & DOM, HTML, CSS, Basic Javascript.

4 Advanced Frontend & React

Typescript, NPM, Bundlers, React

6 Authentication

Passwords, TLS, Cookies, Tokens

8 Microservices & Message Brokers

Microservices & Event-driven architecture

10 Scaling Systems II

Caching, Deployment & Cloud, Virtualization & Containers

12 Advanced Topics II

Web Sockets, SSR, RPC & gRPC

FAQ

FAQ

bottom of page