Learn JavaScript: Full-Stack from Scratch
Learn the incredibly popular and in demand JavaScript language. This course makes no assumptions of prior computer programming experience. We begin with the very basics and slowly but surely work our way up to writing JavaScript code to power every aspect of an application.
More
- No prerequisite knowledge required; the only thing you need is a computer (that you are allowed to install software on) and an internet connection.
There are countless JavaScript courses in the world; here's what makes this one unique:
A strong emphasis on the "why" and not just the "how"
As few assumptions as possible; it's a pet peeve of mine when instructors assume I know something I don't
As few "just download my existing project to get you up and running" moments as possible. It's another pet peeve of mine when instructors have you use an existing solution that just "automagically" works and you miss a potential learning experience of setting it up yourself. We do copy-and-paste HTML templates (since the focus of the course is not about HTML) but aside from that I explain things from the ground up.
This course may be brand new, but this isn’t my first time teaching. I’ve led training sessions for Fortune 500 companies and I’ve already helped over 65,000 people on Udemy and received the following feedback:
Become highly valuable and relevant to the companies that are hiring JavaScript developers; in one convenient place alongside one instructor. If you're ready to begin coding your own applications from the ground up - I'll see you on the inside!
- Anyone who might be interested in starting a career in computer programming (no experience required).
What you'll learn:
- The JavaScript language itself
- How to control a database (MongoDB) with JavaScript
- How to control the Web Browser with JavaScript
- How to implement user registration, log-in, log-out & user generated content
- How to setup a server by using Node JS and Express
Watch Online Learn JavaScript: Full-Stack from Scratch
# | Title | Duration |
---|---|---|
1 | Where Do We Begin? | 10:06 |
2 | Getting Started | 16:31 |
3 | Functions | 19:59 |
4 | Objects | 19:44 |
5 | Arrays | 19:48 |
6 | Making Decisions | 18:37 |
7 | Higher-Order Functions | 18:20 |
8 | Returning vs Mutating | 19:39 |
9 | Scope & Context (Part 1) | 17:43 |
10 | Scope & Context (Part 2) | 14:54 |
11 | Miscellaneous Info (Part 1) | 13:33 |
12 | Miscellaneous Info (Part 2) | 09:19 |
13 | Building To-Do App (Part 1) | 17:21 |
14 | Building To-Do App (Part 2) | 10:14 |
15 | Why Do We Need a Server? | 11:24 |
16 | Node.js Intro | 10:22 |
17 | Text Editor Software | 10:49 |
18 | Our First Basic Server | 19:54 |
19 | Express Intro (Part 1) | 10:14 |
20 | Express Intro (Part 2) | 19:49 |
21 | What's Next? (Big Picture) | 14:04 |
22 | First Taste of a Database | 10:58 |
23 | CRUD: Actually Working With A Database | 14:05 |
24 | Initial Setup for App #1 | 18:03 |
25 | Save Time: Automatic Node App Restarts | 09:13 |
26 | Connecting Node App to Database | 19:59 |
27 | Reading Data from a Database | 17:25 |
28 | Updating a Database Item (Part 1) | 19:59 |
29 | Updating a Database Item (Part 2) | 19:56 |
30 | Deleting a Database Item | 12:56 |
31 | Create New Item Without Page Reload | 19:58 |
32 | Client-Side Rendering | 10:18 |
33 | What About Security? | 19:55 |
34 | Pushing Our App Onto The Internet | 19:20 |
35 | What's Next? | 08:04 |
36 | Let's Begin App #2 | 18:40 |
37 | What Is A Router? | 14:12 |
38 | What Is A Controller? | 17:53 |
39 | What Is A Model? | 19:59 |
40 | Adding Validation To Our Model | 19:59 |
41 | Quick Misc. Clean Up | 08:02 |
42 | Connecting To Database In a Reusable Fashion | 17:13 |
43 | Best Practice Time Out: Environment Variables | 10:11 |
44 | Letting Users Log In | 18:38 |
45 | What is a Promise? (Part 1) | 19:33 |
46 | What is a Promise? (Part 2) | 14:25 |
47 | Hashing User Passwords | 13:54 |
48 | How Can We "Identify" or "Trust" a Request? | 19:18 |
49 | Understanding Sessions | 19:08 |
50 | Letting Users Logout | 11:58 |
51 | Adding Flash Messages | 16:29 |
52 | User Registration Improvements (Part 1) | 17:42 |
53 | User Registration Improvements (Part 2) | 12:02 |
54 | Adding User Profile Photos | 15:37 |
55 | Letting Users Create Posts (Part 1) | 17:32 |
56 | Letting Users Create Posts (Part 2) | 12:18 |
57 | Post Model (Part 1) | 20:00 |
58 | Post Model (Part 2) | 07:17 |
59 | Viewing a Post (Part 1) | 07:46 |
60 | Viewing a Post (Part 2) | 19:11 |
61 | Performing a Lookup in MongoDB (Part 1) | 16:51 |
62 | Performing a Lookup in MongoDB (Part 2) | 08:15 |
63 | User Profile Screen | 18:11 |
64 | View Posts by Author | 19:48 |
65 | Is the Current Visitor the Owner of the Post? | 12:54 |
66 | The "Edit" Screen for a Post | 08:51 |
67 | Updating Posts in Database (Part 1) | 10:52 |
68 | Updating Posts in Database (Part 2) | 18:58 |
69 | Miscellaneous Improvements | 14:56 |
70 | Markdown: Safe User Generated HTML | 15:45 |
71 | Let Users Delete a Post | 13:59 |
72 | Staying Organized: Front-End JavaScript | 19:58 |
73 | Showing and Hiding Search Overlay | 16:55 |
74 | Responding to Key Press Events | 19:13 |
75 | Back-End Aspect of Search | 15:41 |
76 | Generating HTML for Search Results (Part 1) | 10:06 |
77 | Generating HTML for Search Results (Part 2) | 10:48 |
78 | Sanitizing User Generated HTML on the Front-End | 08:13 |
79 | Letting Users Follow Each Other | 12:26 |
80 | Saving a "Follow" Action Into Our Database | 12:26 |
81 | Stop Following a User (Part 1) | 13:49 |
82 | Stop Following a User (Part 2) | 13:17 |
83 | Profile Followers Screen (Part 1) | 10:27 |
84 | Profile Followers Screen (Part 2) | 15:26 |
85 | Following Screen (Part 1) | 13:30 |
86 | Following Screen (Part 2) | 17:31 |
87 | Homepage Feed (Posts From Those You Follow) | 19:33 |
88 | Beginning Chat Feature | 19:38 |
89 | Socket.IO (Part 1) | 10:44 |
90 | Socket.IO (Part 2) | 11:43 |
91 | Finishing Chat (Part 1) | 13:40 |
92 | Finishing Chat (Part 2) | 19:57 |
93 | Quick Misc. Feature: Dynamic Title Tag | 07:42 |
94 | Live Form Validation (Part 1) | 18:42 |
95 | Live Form Validation (Part 2) | 18:23 |
96 | Live Form Validation (Part 3) | 19:59 |
97 | Live Form Validation (Part 4) | 19:09 |
98 | Preventing Cross-Site Request Forgery (CSRF) | 19:59 |
99 | Adjusting Our App To Use CSRF Token | 13:05 |
100 | Setting Up The Skeleton for an API | 19:42 |
101 | JSON Web Tokens (Part 1) | 11:38 |
102 | JSON Web Tokens (Part 2) | 13:48 |
103 | Finishing API and Understanding CORS | 19:11 |
104 | Pushing Our Complex App Up Onto The Web | 14:16 |
105 | Sending Email From Our App | 15:26 |
106 | Next Steps & Career Advice | 19:54 |