Here’s the best place to get started — academia. These are the course websites of some of the top schools in the country. You can actually follow along with the material they study, because the information is available for free. If you follow the lecture slides week-to-week and attempt the projects and homeworks, you can have an introductory Ivy-league education in computer science without the crippling tuition costs!
- Introduction to Object-Oriented Programming (OOP) and Computer Science – Brown University
- An Integrated Introduction to Computer Science
- Introduction to Data Structures and Algorithms
- Structure and Interpretation of Computer Programs – UCal Berkeley
- Data Structures and Advanced Programming
- Machine Structures
- Efficient Algorithms and Intractable Problems
- Software Engineering for Internet Applications
- Algorithms – the book
Now that you have a basic understanding of a language and how to create the common data structures and algorithms used in computing, it’s time to take it one step further. These tips focus on building your skills and reviewing the material you’ve learned from the basic core concepts:
- How to Learn a New Programming Language
- 15 Exercises For Learning a New Programming Language
- Top 10 Programming Languages You Should Learn Right Now – Hint: 4 of them are made for the web
- Microsoft Interview Questions
- Google Interview Questions
- Mega Project Idea List
- Project Euler
Here are some hand-picked references I found on Wikipedia that are either A. not discussed very well in most textbooks or B. are great overviews that were helpful for me during the job search:
- Overview of Modern Programming Languages
- Overview of Modern Relational Database Management Systems (RDBMS)
- List of sorting algorithms
- Depth-first Search (DFS)
- Breadth-first Search (BFS)
- Big O Notation
- Hash Tables
- Refactoring
- Strategy Patterns
- Strong References
- Weak References
Are we blatantly missing the greatest links? Care to add your own? Shoot us your best computer science links for web developers and comment on this post.
Leave A Comment