Welcome to the Web Development Foundations course! This comprehensive curriculum is designed for beginners to build a solid foundation in web development, covering essential tools, languages, and concepts to start your journey as a web developer.
This educational resource is released under the CC BY (Creative Commons Attribution) 4.0 Taiwan license.
Author: Fuyuan Cheng (gloomcheng@gmail.com)
You are free to:
- Share — copy and redistribute the material in any medium or format
- Adapt — remix, transform, and build upon the material for any purpose
The only requirement is:
- Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
See the full license terms: CC BY 4.0 Taiwan
-
Git
- Learn version control basics:
git init,git add,git commit. - Learn SSH key generation and usage.
- Understand branching, merging, and resolving conflicts.
- Collaborate using GitHub.
- Learn version control basics:
-
Code Editor
- Set up your coding environment.
- Install extensions like Prettier, ESLint, and Live Server.
- Master productivity shortcuts.
-
Terminal
- Learn how to install WSL and use it to run Linux on Windows.
- Learn how to use the terminal.
- Learn how to use the command line.
- Learn common commands.
-
HTTP
- Understand status codes (200, 404, 500).
- Explore HTTP methods (GET, POST, PUT, DELETE).
-
HTML
- Build structured web pages using tags like
<div>,<a>,<img>,<form>. - Explore HTML5 features such as
<video>and<canvas>.
- Build structured web pages using tags like
-
CSS
- Style your pages with selectors, the box model, and layouts (Flexbox, Grid).
- Create responsive designs and use CSS Variables.
-
Python
- Learn backend programming language fundamentals.
- Build Web API applications.
-
Clone the repository to your local machine:
git clone https://github.com/your-username/web-dev-foundations.git cd web-dev-foundations -
Follow the instructions in the corresponding directories for each module:
slides/: Markdown format course slides.pdfs/: PDF format course materials.examples/: Code examples and exercises.
-
Explore the
examples/folder for comprehensive practice.
- Start with
slides/http.mdto understand web communication language. - Learn
slides/html.mdto understand web structure. - Master
slides/css.mdfor visual presentation. - Familiarize yourself with
slides/cli.mddevelopment tools. - Set up
slides/editor.mdediting environment. - Master
slides/git.mdversion control. - Learn
slides/python.mdbackend development. - Explore
slides/fastapi.mdAPI development.
- Basic knowledge of how to use a computer.
- Familiarity with command-line tools is a plus (optional).
Contributions are welcome! Feel free to submit pull requests for fixes, improvements, or additional exercises.
- Fork this repository.
- Create a feature branch:
git checkout -b feature/your-feature
- Commit your changes and push:
git push origin feature/your-feature
- Open a pull request.
For questions or suggestions, please reach out via Issues or email at gloomcheng@gmail.com.