Shamelessly crowdsourcing the availability heuristic: I'm trying to learn web development and have been looking for resources to learn it on my own. My goals are fairly modest; I'd like to make basically static pages and a few forms.
So far I've tried HTML/CSS tutorials, which were approachable and fun to play around with offline, but did not offer step by step instructions on how to translate that online. I also tried the Udemy course, which was great on lesson 1, but gratuitously racheted up the complexity on lesson 2 with unexplained Python code.
So, thus far, there's plenty of materials but they tend to skip some inferential distance when approached by a total noob. Does anyone have recommendations for a lesson plan that can take me all the way there?
Look into web hosting. If you feel a strong need to pay nothing, x10hosting fit the bill several years ago when I felt that way. WebFaction is supposed to be good for Django. Linode could be good if you want to do a lot of difficult system administration first, which will allow you to create far more flexible setups later on. In general, just googling around for hosting opportunities is probably better than listening to me.
Updated Version @ LW Wiki: wiki.lesswrong.com/wiki/Programming_resources
Contents
How Computers Work
1. CODE The Hidden Language of Computer Hardware and Software
2. The Elements of Computing Systems: Building a Modern Computer from First Principles
3. The Write Great Code Series (A Solid Foundation in Software Engineering for Programmers)
Write Great Code Volume I: Understanding the Machine
Write Great Code Volume II: Thinking Low-Level, Writing High-Level
4. The Art of Assembly Language Programming
5. The Art of Computer Programming
An Overview of Computer Programming
1. Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
2. Programming Language Pragmatics
3. An Introduction to Functional Programming Through Lambda Calculus
4. How to Design Programs (An Introduction to Computing and Programming)
5. Structure and Interpretation of Computer Programs
Computer Science and Computation
1. The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine
2. New Turing Omnibus (New Turning Omnibus : 66 Excursions in Computer Science)
3. Udacity
4. Introduction to Artificial Intelligence
Supplementary Resources: Mathematics and Algorithms
1. Concrete Mathematics: A Foundation for Computer Science
2. Algorithms
3. Introduction to Algorithms
Practice
1. Project Euler
2. The Python Challenge
3. CodeChef Programming Competition
4. Write your own programs.
Python
pyscripter
An open-source Python Integrated Development Environment (IDE)
Khan Academy
Introduction to programming and computer science (using Python)
1. Invent Your Own Computer Games with Python
2. Learn Python The Hard Way
3. Python for Software Design: How to Think Like a Computer Scientist
4. Python Programming: An Introduction to Computer Science
5. Practical Programming: An Introduction to Computer Science Using Python
6. The Quick Python Book
Haskell
The Haskell Platform
The Haskell Platform is the easiest way to get started with programming Haskell. It comes with all you need to get up and running. Think of it as "Haskell: batteries included".
1. Haskell in 5 steps
2. Learn Haskell in 10 minutes
3. A brief introduction to Haskell
4. Programming in Haskell
5. Learn You a Haskell for Great Good!
6. Real World Haskell
7. The Haskell Road to Logic, Maths and Programming
Common Lisp
1. Land of Lisp: Learn to Program in Lisp, One Game at a Time!
2. Practical Common Lisp
3. ANSI Common LISP
4. Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp
5. Let Over Lambda
6. Lisp as the Maxwell’s equations of software
R
RStudio
RStudio™ is a free and open source integrated development environment (IDE) for R. You can run it on your desktop (Windows, Mac, or Linux) or even over the web using RStudio Server.
1. R Videos
2. R Tutorials
3. R Tutorials from Universities Around the World
4. R-bloggers
5. The Art of R Programming: A Tour of Statistical Software Design
6. Introduction to Statistical Thinking (With R, Without Calculus)
7. Doing Bayesian Data Analysis: A Tutorial with R and BUGS