

Github GitHub - microsoft/Web-Dev-For-Beginners: 24 Lessons, 12 Weeks, Get Start...
source link: https://github.com/microsoft/Web-Dev-For-Beginners
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Web Development for Beginners - A Curriculum
Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about JavaScript, CSS, and HTML basics. Each lesson includes pre- and post-lesson quizzes, written instructions to complete the lesson, a solution, an assignment and more. Our project-based pedagogy allows you to learn while building, a proven way for new skills to 'stick'.
Hearty thanks to our authors Jen Looper, Chris Noring, Christopher Harrison, Jasmine Greenaway, Yohan Lasorsa, Floor Drees, and sketchnote artist Tomomi Imura!
Teachers, we have included some suggestions on how to use this curriculum. If you would like to create your own lessons, we have also included a lesson template
Students, to use this curriculum on your own, fork the entire repo and complete the exercises on your own, starting with a pre-lecture quiz, then reading the lecture and completing the rest of the activities. Try to create the projects by comprehending the lessons rather than copying the solution code; however that code is available in the /solutions folders in each project-oriented lesson. Another idea would be to form a study group with friends and go through the content together. For further study, we recommend Microsoft Learn and by watching the videos mentioned below.
Click the image above for a video about the project and the folks who created it!
Pedagogy
We have chosen two pedagogical tenets while building this curriculum: ensuring that it is project-based and that it includes frequent quizzes. By the end of this series, students will have built a typing game, a virtual terrarium, a 'green' browser extension, a 'space invaders' type game, and a business-type banking app, and will have learned the basics of JavaScript, HTML, and CSS along with the modern toolchain of today's web developer.
By ensuring that the content aligns with projects, the process is made more engaging for students and retention of concepts will be augmented. We also wrote several starter lessons in JavaScript basics to introduce concepts, paired with video from the "Beginners Series to: JavaScript" collection of video tutorials, some of whose authors contributed to this curriculum.
In addition, a low-stakes quiz before a class sets the intention of the student towards learning a topic, while a second quiz after class ensures further retention. This curriculum was designed to be flexible and fun and can be taken in whole or in part. The projects start small and become increasingly complex by the end of the 12 week cycle.
While we have purposefully avoided introducing JavaScript frameworks so as to concentrate on the basic skills needed as a web developer before adopting a framework, a good next step to completing this curriculum would be learning about Node.js via another collection of videos: "Beginner Series to: Node.js".
Find our Code of Conduct, Contributing, and Translation guidelines. We welcome your constructive feedback!
Each lesson includes:
- optional sketchnote
- optional supplemental video
- pre-lesson warmup quiz
- written lesson
- for project-based lessons, step-by-step guides on how to build the project
- knowledge checks
- a challenge
- supplemental reading
- assignment
- post-lesson quiz
A note about quizzes: All quizzes are contained in this app, for 48 total quizzes of three questions each. They are linked from within the lessons but the quiz app can be run locally; follow the instruction in the
quiz-app
folder. They are gradually being localized.
Lessons
Project Name
Concepts Taught
Learning Objectives
Linked Lesson
Written Lesson
Sketchnote
Assignment
Starting Quiz
Ending Quiz
Video
Author
01
Getting Started
Introduction to Programming and Tools of the Trade
Learn the basic underpinnings behind most programming languages and about software that helps professional developers do their jobs
Intro to Programming Languages and Tools of the Trade
Jasmine
02
Getting Started
Basics of GitHub, includes working with a team
How to use GitHub in your project, how to collaborate with others on a code base
Intro to GitHub
Floor
03
Getting Started
Accessibility
Learn the basics of web accessibility
Accessibility Fundamentals
Christopher
04
JS Basics
JavaScript Data Types
The basics of JavaScript data types
Data Types
Jasmine
05
JS Basics
Functions and Methods
Learn about functions and methods to manage an application's logic flow
Functions and Methods
Jasmine and Christopher
06
JS Basics
Making Decisions with JS
Learn how to create conditions in your code using decision-making methods
Making Decisions
Jasmine
07
JS Basics
Arrays and Loops
Work with data using arrays and loops in JavaScript
Arrays and Loops
Jasmine
08
Terrarium
HTML in Practice
Build the HTML to create an online terrarium, focusing on building a layout
Introduction to HTML
Jen
09
Terrarium
CSS in Practice
Build the CSS to style the online terrarium, focusing on the basics of CSS including making the page responsive
Introduction to CSS
Jen
10
Terrarium
JavaScript Closures, DOM manipulation
Build the JavaScript to make the terrarium function as a drag/drop interface, focusing on closures and DOM manipulation
JavaScript Closures, DOM manipulation
Jen
11
Typing Game
Build a Typing Game
Learn how to use keyboard events to drive the logic of your JavaScript app
Event-Driven Programming
Christopher
12
Green Browser Extension
Working with Browsers
Learn how browsers work, their history, and how to scaffold the first elements of a browser extension
About Browsers
Jen
13
Green Browser Extension
Building a form, calling an API and storing variables in local storage
Build the JavaScript elements of your browser extension to call an API using variables stored in local storage
APIs, Forms, and Local Storage
Jen
14
Green Browser Extension
Background processes in the browser, web performance
Use the browser's background processes to manage the extension's icon; learn about web performance and some optimizations to make
Background Tasks and Performance
Jen
15
Space Game
More Advanced Game Development with JavaScript
Learn about Inheritance using both Classes and Composition and the Pub/Sub pattern, in preparation for building a game
Introduction to Advanced Game Development
Chris
16
Space Game
Drawing to canvas
Learn about the Canvas API, used to draw elements to a screen
Drawing to Canvas
Chris
17
Space Game
Moving elements around the screen
Discover how elements can gain motion using the cartesian coordinates and the Canvas API
Moving Elements Around
Chris
18
Space Game
Collision detection
Make elements collide and react to each other using keypresses and provide a cooldown function to ensure performance of the game
Collision Detection
Chris
19
Space Game
Keeping score
Perform math calculations based on the game's status and performance
Keeping Score
Chris
20
Space Game
Ending and restarting the game
Learn about ending and restarting the game, including cleaning up assets and resetting variable values
The Ending Condition
Chris
21
Banking App
HTML Templates and Routes in a Web App
Learn how to create the scaffold of a multipage website's architecture using routing and HTML templates
HTML Templates and Routes
Yohan
22
Banking App
Build a Login and Registration Form
Learn about building forms and handing validation routines
Forms
Yohan
23
Banking App
Methods of Fetching and Using Data
How data flows in and out of your app, how to fetch it, store it, and dispose of it
Data
Yohan
24
Banking App
Concepts of State Management
Learn how your app retains state and how to manage it programmatically
State Management
Yohan
Offline access
You can run this documentation offline by using Docsify. Fork this repo, install Docsify on your local machine, and then in the root folder of this repo, type docsify serve
. The website will be served on port 3000 on your localhost: localhost:3000
.
Recommend
-
3
Microsoft Offers Web Development for Beginners Microsoft Offers Web Development for Beginners Monday, 21 December 2020 Microsoft has released a new self-paced and free curriculum for total beginners to both programmin...
-
11
Learn web dev with these 24 lessons on GitHub%3CLINGO-SUB%20id%3D%22lingo-sub-2033829%22%20slang%3D%22en-US%22%3ELearn%20web%20dev%20with%20these%2024%20lessons%20on%20GitHub%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2033829%22%20slang...
-
8
-
7
Machine Learning for Beginners - A Curriculum Travel around the world as we explore Machine Learning by means of world...
-
5
IoT for Beginners - A Curriculum Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about IoT basics. Each lesson includes pre- and post-lesson quizzes, written instructions to complete the le...
-
6
Data Science for Beginners - A Curriculum Azure Cloud Advocates at Microsoft are pleased to offer a 10-week, 20-lesson curriculum all about Data Science. Each lesson includes pre-lesson and post-lesson quizzes, written instructions t...
-
5
How This Expert-Designed App Gets Complete Beginners Speaking A New Language In 3 Weeks© 2021 Lesson Nine GmbHGET T...
-
9
AdvertisementCloseElon Musk says he has picked a new CEO for TwitterMusk...
-
3
Artificial Intelligence for Beginners - A Curriculum
-
7
Google is rolling out a new feature in January that will impact 1% of randomly selected Chrome users globally. Nicola A...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK