To be honest I didn't really learn much in university, but without a degree you will struggle to get past HR and will be at a big disadvantage - though it's certainly doable.
Some of my favourite software development books:
The Pragmatic Programmer
Code Complete
Design Patterns
Refactoring
Growing Object Oriented Software Guided By Tests
Applied Cryptography (not really software development, but good to know and usually taught at college)
Concrete Mathematics: A Foundation for Computer Science (again not software development, but good to know. If you struggle with it get another simpler one to guide you into it)
Pick a book for each of the languages you learn (make sure to take a look at reviews)
Some languages to look at (with reason in parentheses) to learn from:
Some kind of assembly (low level programming)
C (procedural programming)
Java or C# or Smallalk (object oriented programming)
Scheme or any other LISP dialect (functional programming) - check out
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/Forth or Factor (stack based programming)
SQL (declarative programming)
Eiffel (design by contract)
For jobs though you'll probably want to be looking at: C#, Java, C++, PHP, SQL, Python, and JavaScript
Try these tasks:
A compiler or byte code generator + interpreter for your own language
A scalable (take a look at Varnish and Redis) dynamic website e.g. a blog - load test it
Build a relational database for some kind of made up company (like a health company) - normalise to third normal form
Build a multi-threaded application where two threads will share a resource
Build some large application (>10,000 physical lines of code) that you think will be useful, try to keep it maintainable (split it into loosely coupled components, use unit testing and take a look at mock testing)
If you really want a thorough knowledge of computer science then try working your way through the books: the art of computer programming - though most of the maths is not all that useful for real development (though no doubt good to know)
good luck
This post was edited by NoWhere on May 17 2012 04:01pm