subject
Intro

Udacity: Web Development

 with  Steve Huffman
Try to picture yourself sitting down with your computer, ready to start developing a fully functional web application for the first time, available online for millions to use. “Where should I even begin? How long is this going to take me? Am I making any mistakes along the way?” The questions may leave you with an uneasy feeling that you will learn many lessons the hard way.

In this intermediate course, Steve Huffman will teach you everything he wished he knew when he started building Reddit and, more recently, Hipmunk, as a lead engineer. Starting from the basics of how the web works, this course will walk you through core web development concepts such as how internet and browsers fit together, form validations, databases, APIs, integrating with other websites, scaling issues, and more; all of which form part of the knowledge it takes to build a web application of your own.

Why Take This Course?
By taking this course, you will embark on a digital adventure to build your very own application live on the web. Valuable lessons often come from experience, and it’s from this experience that Steve brings a fresh perspective to the classroom to show you how to approach building your web application in a way that assuages the potential challenges you may face.
In this course, you will learn by doing. Once you dive into the course experience, you will work on awesome projects:

- Have you ever thought about what it takes to build a blog from the ground up? Over the course of six lessons, you will build a blog together with Steve that will be fully functional, online, for anybody to read by the end of the course.

- Have you ever wondered how a wiki works? As a final project for this course, you will be able to take all of your newly gained knowledge and apply it to build a complete wiki.

This course concentrates on back-end development, but regardless if you are interested in front-end development, back-end development, or anywhere in between the stack, this course will teach you the fundamental knowledge you need break into the web development world. Are you ready to dive in?

Syllabus

###Lesson 1: How the Web Works (2.5 hours)
In this first lesson, you will learn basic concepts regarding the internet, browsers, HTML, and how all those elements fit together. You’ll start using HTML (HyperText Markup Language) to format content for webpages. Then you’ll get to see the mechanics of how the web works: HyperText Transfer Protocol (HTTP) via GET and POST requests. In the first problem set, you will get a simple website up and running with the Google App Engine platform.

###Lesson 2: Forms and Input (4 hours)
In this second lesson you will learn about forms, a very common way to obtain input from users. You will learn how to get and process user input from webpages using Google App Engine to get a live form up and running. By the end of this lesson, you will know how to validate user input and securely obtain data from users.


###Lesson 3: Databases (6 hours)
You learned about getting all sorts of information from users in the previous lesson, but what do you do with it once it’s in your hands? You store it! In this third lesson, Steve will dive in and teach you what you need to know about databases, the final piece you need to start setting your blog in motion! You will learn about various database technologies, SQL, and the Google App Engine Datastore.

###Lesson 4: User Accounts and Security (6 hours)
In this fourth lesson, you will learn the fundamentals of authentication and security, which are very relevant topics in almost any web application built today. We’ll start by examining how websites use cookies to authenticate users and how we can manage cookies from the backend of a web application. You will implement a login system for your blog and learn how to use hashing to securely read and transmit user passwords.

###Lesson 5: APIs (4.5 hours)
Up until now, your programs have generated HTML that a browser can use to render a web page for the user. In the digital world, however, applications and websites communicate not only with people, but also with other applications and websites. By the end of this lesson, your blog will communicate with humans as well as with other computers. Your web application can generate data in formats such as XML and JSON that other computers can access through an API, or application programming interface. Those computers, in turn, can build websites or services that interact with your data. You’ll first learn how to use APIs, and then build web applications as services so that other computers can glean data from your application. We will look at both XML and JSON by investigating how to read them, how to interpret them, and how to manipulate them.

###Lesson 6: Caching (3.5 hours)
In this lesson, we will explore how to prepare your applications to run at a large scale. So far, we've written 'toy' applications for just one or two users. If we want to start writing apps for thousands or, perhaps, even millions of users, then obviously we'll need to think about scaling. When we talk about scaling, this may mean running your application on multiple machines, storing huge amounts of data, or consuming large amounts of bandwidth. In particular, we will learn about caching, including the uses of caching, why you might want to cache, and specific caching implementations such as Memcached.

###Lesson 7: Scaling Up (2.5 hours)
In this last lesson of the course, Steve has prepared a relaxing, story-time segment. You will hear web development anecdotes from people who have been through it all. You will enjoy interviews with engineer Neil Williams from Reddit, and engineer Chris Chew from Udacity. They will share their experiences on working with web applications, and you will see how all that you’ve learned in this course comes into the big picture.

###Final Project (8 hours)
For the final project, you will build a fully functional wiki - a website that allows any page to be edited. The wiki you will be able to build by the end of the course will feature the following:

- Easily create new pages of the site by using the wiki edit capabilities. You should be able to enter a non-existent URL, redirect to an edit page, and create a new page from there.
- Have user accounts so that logged-in users only will have edit privileges.
- Use caching functionality.
- Have a history section which displays the different wiki versions that have existed.
17 Student
reviews
Cost Free Online Course
Pace Self Paced
Subject Web Development
Provider Udacity
Language English
Hours 6 hours a week
Calendar 12 weeks long

Disclosure: To support our site, Class Central may be compensated by some course providers.

+ Add to My Courses
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

17 reviews for Udacity's Web Development

Write a review
8 out of 14 people found the following review useful
4 years ago
profile picture
Lingua Frankly completed this course.
And Huffman, we're told, “teaches from experience” – which basically translated to "he is not a teacher," in layman's terms. He does an admirable job for someone who hasn't been trained in pedagogy, but really, seriously, would it kill them to get an actual teacher to teach the course? Huffman's awkwardness and uncert Read More
And Huffman, we're told, “teaches from experience” – which basically translated to "he is not a teacher," in layman's terms. He does an admirable job for someone who hasn't been trained in pedagogy, but really, seriously, would it kill them to get an actual teacher to teach the course? Huffman's awkwardness and uncertainty about the format is the reason he keeps killing the echo effect – he hasn't developed the instinct to know how much time and space we need to process an idea. At times, he gives a reasonably broad view of the topic, but at others, he just splurges onto the page what is needed for the task at hand. There's no progressive differentiation of concepts, and he doesn't use any advance organisers to help the learner understand new concepts.

Was this review helpful to you? YES | NO
3 out of 5 people found the following review useful
5 years ago
profile picture
Anonymous completed this course.
The course cover some specific advance topics about high-performance web applications, those were really great!. The course was well-driven by Steve Huffman, the course take all my attention from the beginning until the end. I suppose to be a web-application-developer and suppose to know about many topics about it, but Read More
The course cover some specific advance topics about high-performance web applications, those were really great!. The course was well-driven by Steve Huffman, the course take all my attention from the beginning until the end. I suppose to be a web-application-developer and suppose to know about many topics about it, but this course shows me that there are too many others topics to learn, always there are some to learn :).

Thank you for the great course and your time.
Was this review helpful to you? YES | NO
4 out of 5 people found the following review useful
3 years ago
profile picture
Life is Study completed this course.
The video lectures are very well made and quizzes help reinforce the material without being too difficult. The class covers a wide range of topics including HTTP requests, basic HTML, getting user input, databases, user authentication, cookies, caching, scaling and APIs. It touches on CSS very briefly and barely mentions JavaScript, so look elsewhere if you are interested in front-end development.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
5 years ago
profile picture
Anonymous completed this course.
Fun class, You will have built your own blog and wiki by the end on google app engine. You will learn how to make logins and cookies and keep a database of users secure.

I would recommend learning a bit of HTML and CSS first as you will want to make your site look pretty and he will only teach the very basics you need to get your site up.
Was this review helpful to you? YES | NO
2 out of 2 people found the following review useful
3 years ago
Jake Russo completed this course, spending 4 hours a week on it and found the course difficulty to be easy.
Great course for those just moving into the intermediate level of programming. I finished wishing it had more but looking back you really do accomplish quite a lot. This course really could use a unit on AJAX and the client-side JavaScript frameworks (at least touching on them).
Was this review helpful to you? YES | NO
2 out of 3 people found the following review useful
4 years ago
profile picture
Michael Bock completed this course.
Absolutely amazing course. If you know some Python (up through at least Object Oriented programming), you can go from knowing 0 about web development to creating your own web apps from scratch!
Was this review helpful to you? YES | NO
0 out of 1 people found the following review useful
5 years ago
profile picture
Anonymous completed this course.
Very informative class and i strongly suggest this course for all developers
Was this review helpful to you? YES | NO
2 years ago
Xiaofeng Hao completed this course, spending 5 hours a week on it and found the course difficulty to be medium.
Great course. Some material is old because this course is created several years ago. However 90 percent of the material is latest and the foundation is great. It is an alternative choice if you don't want to spend more time to take full-stack nanodegree or you have much experience in application development and self studying by official documents.
Was this review helpful to you? YES | NO
3 years ago
Santhosh Vaiyapuri completed this course, spending 6 hours a week on it and found the course difficulty to be medium.
Awesome instructor. A must learn course. Learned a lot to start with web development, at the end real issues of scaling are touched.
Was this review helpful to you? YES | NO
1 out of 2 people found the following review useful
4 years ago
profile picture
Martin Bede completed this course, spending 6 hours a week on it and found the course difficulty to be easy.
Was this review helpful to you? YES | NO
0 out of 1 people found the following review useful
4 years ago
profile picture
Susan completed this course and found the course difficulty to be hard.
Was this review helpful to you? YES | NO
a year ago
profile picture
Diego Giuliani completed this course.
Was this review helpful to you? YES | NO
2 years ago
Tabish Sada completed this course.
Was this review helpful to you? YES | NO
3 years ago
Lachlan partially completed this course.
Was this review helpful to you? YES | NO
2 years ago
Tafadzwa Zimucha completed this course.
Was this review helpful to you? YES | NO
2 years ago
Sergio Chivilo is taking this course right now.
Was this review helpful to you? YES | NO

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free