Topics
Please note the the schedule is subject to change. It is your responsibility to keep up with the schedule.
Week | Start Date | Topic |
---|---|---|
Week 1 | Mon, 1/13 |
topic 1
Intro to the Web
The web and the internet are interconnected systems that facilitate the exchange of data across computers worldwide. Web browsers communicate with servers using the HTTP/HTTPS protocol to fetch and display content, while the internet provides the infrastructure for this communication. Understanding IP addresses, DNS, and how websites are hosted provides a foundation for developing web applications. |
Week 2 | Mon, 1/20 |
topic 2
HTML
HTML (HyperText Markup Language) is the backbone of web content, structuring information on web pages. HTML can be used to create semantic, accessible layouts using elements like headings, paragraphs, lists, links, and media. This topic emphasizes the role of HTML in the broader web development process and how it integrates with CSS and JavaScript. |
Week 3 | Wed, 1/29 |
topic 3
CSS
CSS (Cascading Style Sheets) is used to control the layout and visual presentation of HTML elements. It allows developers to define styles such as colors, fonts, and spacing, enhancing user experience. CSS also includes techniques like Flexbox and Grid for responsive, modern web designs. |
Week 4 | Wed, 2/5 |
topic 4
Design and Accessibility
Design refers to the process of creating an aesthetically pleasing and functional user interface (UI) and user experience (UX). It encompasses layout, typography, color schemes, and interactivity to ensure the site is intuitive, visually appealing, and accessible. Good design is crucial for engaging users and meeting their needs effectively. While design is a huge topic in its own right, we will briefly review some important design principles, and take a quick look at some design tools and systems. |
Week 5 | Mon, 2/10 |
topic 5
JavaScript: Foundational Concepts & Programming Review
JavaScript is a versatile, high-level programming language that runs in web browsers, enabling interactivity and dynamic content. In this unit, we will review basic programming concepts using JavaScript. |
Week 5 | Fri, 2/14 | quiz 1 Quiz 1: Web Architecture, HTML, CSS, and Accessibility |
Week 6 | Mon, 2/17 |
topic 6
JavaScript: Interacting with the DOM (Document Object Model)
In this unit, we will use JavaScript to manipulate the Document Object Model (DOM) and respond to user-initiated events, and dynamically generate content from data. By the end of this section, you will know enough to start building simple, interactive web applications. |
Week 7 | Wed, 2/26 |
topic 7
JavaScript: Functional Programming
Functional programming in JavaScript emphasizes the use of pure functions, immutability, and higher-order functions to create predictable and maintainable code. It encourages a declarative style of programming, where the logic of computation is expressed in terms of functions rather than mutable states. This paradigm helps reduce bugs and enhances code reusability. |
Week 8 | Mon, 3/3 |
topic 8
JavaScript: HTTP requests and the Fetch API
The Fetch API is a modern JavaScript interface for making HTTP requests to servers and handling responses. It simplifies fetching resources like JSON data, files, or text from external APIs or web services using promises for asynchronous operations. Understanding how to use the Fetch API, handle response statuses, and work with data formats like JSON is key to building dynamic, data-driven web applications. |
Week 8 | Fri, 3/7 | quiz 2a Quiz 2a: JavaScript |
Week 9 | Mon, 3/10 | holiday Spring Break |
Week 10 | Fri, 3/21 |
topic 9
React
React is a popular JavaScript library for building user interfaces, especially single-page applications (SPAs). It allows developers to create reusable components and manage the state of an application efficiently through a virtual DOM. React's declarative approach simplifies UI development and is widely adopted in modern web development. |
Week 11 | Fri, 3/28 |
topic 10
JavaScript Review
Today's class will be dedicated to JavaScript programming review. Please review the study guide and practice problems, and come prepared to ask questions! |
Week 12 | Mon, 3/31 | quiz 2b Quiz 2b: JavaScript |
Week 12 | Fri, 4/4 |
topic 11
Python
Python is a versatile programming language widely used for web development, data analysis, and scripting. Students will learn the basics of Python syntax, functions, and libraries like Flask or FastAPI for server-side development. This topic bridges the gap between front-end and back-end development. |
Week 13 | Mon, 4/7 |
topic 12
Servers
Server-side architectures define how web applications process requests and serve responses from the server. This includes understanding client-server models, HTTP request-response cycles, and technologies like RESTful APIs and GraphQL. A solid grasp of server-side architecture is essential for building scalable and efficient web applications. |
Week 14 | Mon, 4/14 |
topic 13
Databases & Object-Relational Mappings
Databases store and organize data used by web applications, while Object-Relational Mapping (ORM) tools allow developers to interact with databases using object-oriented programming. ORMs like SQLAlchemy simplify the process of querying, updating, and managing data in relational databases. Learning about databases and ORMs is crucial for building data-driven web applications. |
Week 15 | Wed, 4/23 |
topic 14
Security & Authentication
Web security ensures the protection of applications from common vulnerabilities like XSS, CSRF, and SQL injection. Authentication is the process of verifying user identity so that the application can tailor content and functionality while maintaining data privacy. In this unit, you will learn learn to identify risks and implement best practices such as input validation, secure authentication, and encryption. You will also learn about authentication strategies (e.g., JWT) in order to implement a secure login system. |
Week 16 | Mon, 4/28 |
topic 15
Course Synthesis
In this unit, we will reflect on the concepts and skills learned throughout the course, including integrating frontend and backend technologies, ensuring security, and employing best practices in design and coding. We will also discuss some of the considerations not covered in this course and consider some next steps if you want to enhance your learning. |
Week 17 | Wed, 5/7 | quiz 3 Final Exam |