Announcements

  • Congratulations on finishing CSCI E-33a! Final grades will be available through your DCE student portal on 7 January 2025. Happy holidays and new year to you all!

Description

This course examines the design and implementation of web applications with Python, JavaScript, and SQL using frameworks like Django, React, and Bootstrap. Topics include database design, scalability, security, and user experience. Through hands-on projects, students learn to write and use APIs, create interactive user interfaces (UIs), and leverage cloud services like GitHub and Heroku. By semester’s end, students emerge with knowledge and experience in the principles, languages, and tools that empower them to design and deploy applications on the internet.

Prerequisites

CSCI S-50, CS50x, or at least one year of experience with Python.

Table of Contents

HTML, CSS

  1. Watch Lecture 0 after Tuesday, September 3, 2024 at 4:00 AM UTC.
  2. Complete Quiz A by Saturday, September 7, 2024 at 3:59 AM UTC.
  3. Begin work on Project 0, due Monday, September 16, 2024 at 3:59 AM UTC.

Git

  1. Watch Lecture 1 after Monday, September 9, 2024 at 4:00 AM UTC.
  2. Complete Quiz B by Saturday, September 14, 2024 at 3:59 AM UTC.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Continue work on Project 0, due Monday, September 16, 2024 at 3:59 AM UTC.

Python

  1. Watch Lecture 2 after Monday, September 9, 2024 at 4:00 AM UTC.
  2. Complete Quiz B by Saturday, September 14, 2024 at 3:59 AM UTC.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Project 0, due Monday, September 16, 2024 at 3:59 AM UTC.

Django

  1. Watch Lecture 3 after Monday, September 16, 2024 at 4:00 AM UTC.
  2. Complete Quiz C by Saturday, September 21, 2024 at 3:59 AM UTC.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Project 1, due Monday, September 30, 2024 at 3:59 AM UTC.

SQL, Models, and Migrations

  1. Watch Lecture 4 after Monday, September 30, 2024 at 4:00 AM UTC.
  2. Complete Quiz D by Saturday, October 5, 2024 at 3:59 AM UTC.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Project 2, due Monday, October 14, 2024 at 3:59 AM UTC.

JavaScript

  1. Watch Lecture 5 after Monday, October 14, 2024 at 4:00 AM UTC.
  2. Complete Quiz E by Saturday, October 19, 2024 at 3:59 AM UTC.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Project 3, due Monday, October 28, 2024 at 3:59 AM UTC.

User Interfaces

  1. Watch Lecture 6 after Monday, October 28, 2024 at 4:00 AM UTC.
  2. Complete Quiz F by Saturday, November 2, 2024 at 3:59 AM UTC.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Project 4, due Monday, November 11, 2024 at 4:59 AM UTC.

Testing, CI, CD

  1. Watch Lecture 7 after Monday, November 11, 2024 at 5:00 AM UTC.
  2. Complete Quiz G by Saturday, November 16, 2024 at 4:59 AM UTC.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Begin work on the final project, with:
    1. The proposal due Monday, November 25, 2024 at 4:59 AM UTC; and
    2. The status report due Monday, December 9, 2024 at 4:59 AM UTC; and
    3. The implementation due Monday, December 16, 2024 at 4:59 AM UTC.

Scalability and Security

  1. Watch Lecture 8 after Monday, November 25, 2024 at 5:00 AM UTC.
  2. Complete Quiz H by Saturday, November 30, 2024 at 4:59 AM UTC.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Continue work on the final project, with:
    1. The proposal due Monday, November 25, 2024 at 4:59 AM UTC; and
    2. The status report due Monday, December 9, 2024 at 4:59 AM UTC; and
    3. The implementation due Monday, December 16, 2024 at 4:59 AM UTC.