Web Development

About This Course

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?

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?

Prerequisites and Requirements

In order to take the full advantage of this course, we want you to be well prepared for it. This course assumes an intermediate proficiency programming with Python, as well as a solid knowledge on the following topics: - Basic computer science concepts such as procedures, decision statements, and loops. - Basic data structures such as lists, dictionaries, and hash tables. - Object-oriented programming. Please feel free to peek at the Intro to Computer Science and Programming Foundations with Python courses to make sure you are comfortable with these required concepts for the course.
Starting from the basics of how the web works, you will learn everything you need to know to build your own blog and scale it to support large numbers of users.

Frequently Asked Questions

### When does the course begin? This class is self paced. You can begin whenever you like and then follow your own pace. It’s a good idea to set goals for yourself to make sure you stick with the course. ### How long will the course be available? This class will always be available! ### How do I know if this course is for me? Take a look at the “Class Summary,” “What Should I Know,” and “What Will I Learn” sections above. If you want to know more, just enroll in the course and start exploring. ### Can I skip individual videos? What about entire lessons? Yes! The point is for you to learn what YOU need (or want) to learn. If you already know something, feel free to skip ahead. If you ever find that you’re confused, you can always go back and watch something that you skipped. ### What are the rules on collaboration? Collaboration is a great way to learn. You should do it! The key is to use collaboration as a way to enhance learning, not as a way of sharing answers without understanding them. ### Why are there so many questions? Udacity classes are a little different from traditional courses. We intersperse our video segments with interactive questions. There are many reasons for including these questions: to get you thinking, to check your understanding, for fun, etc... But really, they are there to help you learn. They are NOT there to evaluate your intelligence, so try not to let them stress you out. ### What should I do while I’m watching the videos? Learn actively! You will retain more of what you learn if you take notes, draw diagrams, make notecards, and actively try to make sense of the material.