Learn more about HTML elements, tags, attributes, and forms
The Mozilla Developer Network (aka MDN, and a good resource in general), explains key HTML vocabulary.
Forms are one way users interact with your page. This is a tutorial for beginners.
Scan through to get a feel for all the HTML elements that exist from <a> to <video>.
The first lesson of this Udacity course is already in the Nanodegree, but the rest of the course does a good job of thoroughly explaining how to make web pages look the way you want them to.
Learn how to make your web page look good.
A good walk through of the `position` property, including static, relative, fixed, and absolute positioning.
By using "Multiple Selectors" you can apply styling only to elements which meet multiple criteria.
What happens when multiple conflicting rules apply to the same element? CSS Specificity rules are what decide which rule "wins". If you are having trouble getting rules to work, this is probably the resource you need.
Flexbox is a flexible box! It gives you a way to have your HTML elements easily adjust their size based on the size of the page.
Bootstrap is a popular CSS "framework" which provides you with pre-written CSS to make your page look good.
It's hard to find colors that look good together. This is a list of 50 color palettes.
At its core, the internet is about connecting people. Practice accessible design to ensure that all users of your site have the best experience.
Blind people use the web too! And when they do, they often use "screen readers" which read the text of your page to them. When your visual content (like <img> or <video> elements) has an alt tag these screen readers will read the descriptive text that you've added.
A list of 12 easy-to-implement accessibile design guidelines.
Get more Python practice and read more about important Python concepts.
A super-helpful flowchart for when your code isn't working.
A free online book by Zed Shaw. It's written for novice programmers looking to learn Python. It's organized by topic and has very good explanations and example code throughout. Each section ends with helpful 'Study Drills.'
This site provides a lot of highly mathematical problems which can be solved with programming. It's a good place for building your 'Procedural Thinking'.
The organization that manages the Python language also maintains a list of practice resources as well. Some are better than others.
The frameworks listed here can make it easier to build large web applications by taking care of a lot of the ugly details for you.
The Django homepage says: Flask is a 'microframework'. It's simple to learn, easy to understand, and well-documented. It's great for small to medium sized projects.
The Django homepage says: Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It's free and open source.
Flask and Django are both very popular. This thread has some great discussion about the pros and cons of each. Summary: Django has more features, but Flask is easier to learn.
Great tools to make you a more powerful programmer.
Chris Pederick's "Web Developer Extenstion is a tool to make web development easier. You can see the box-like structure of a page, easily disable CSS, and more.
Wow. These tools changed how I code. Do youself a favor: visit this page, install iPython Notebook, and make your programming life 100 times better.
A list of popular external libraries for Python ordered by votes.
A thread on stackoverflow about the most useful modules that come with Python.
After the Intro Programming Nanodegree, you'll be ready to take most (if not all) of Udacity's other Nanodegrees.
Learn more about Front-end web development: responsive design, JavaScript, jQuery, and more.
Learn to make apps for iPhone and iPad.
Learn how to make bigger and better "full-stack" web applications.