Recommended Resources
Brush up on skills or learn at your own pace with the resources below.
Top Resources
- Codecademy — Intro Web Design (HTML/CSS), JavaScript, Python
Free, interactive online mini-courses in popular languages. Excellent starting point for learning from scratch! - HackerRank — Coding/Logic Skills, Interview preparation
Know the basics? Challenges rated by difficulty/category with automatic test cases - perfect for preparing for interviews, flexing your logic and algorithmic skills! - Project Euler — Math problems in any language
Mathematics-based problems requiring algorithmic solutions. Good way to push yourself for the mathematically inclined!
I Don't Know What to Make!
- To Learn Programming, Do Projects You Actually Care About
- Mega Project List — List of programming projects to work on, for programmers of all levels
- Reddit Daily Programmer — Entire Reddit community that posts coding ideas
Web Design (HTML, CSS, JavaScript)
Learning HTML and CSS is the first step towards creating websites:
- Dash — highly recommended interactive introduction to HTML and CSS
- HTML Dog: HTML Tutorials — written guides to HTML for all levels
- Vodien Education— Learn about common document structure
JavaScript is the language that makes websites interactive:
- Codecademy: Introduction to JavaScript — interactive JavaScript guide for beginners
- Mozilla JavaScript Guide — comprehensive guide to JavaScript for intermediate programmers
iOS App Development
Make apps for iPhone and iPad with Swift
- Hacking With Swift — Tutorials for getting started making iPhone apps with Swift - Apple's language for app development
- Start Developing iOS Apps — Apple tutorial for making a simple app to get started
Android App Development
Make apps for Android devices in Java
- Google Android Training — Introduction to using the Android Studio and getting started with simple apps
Virtual Reality Development
- The Technology Behind Virtual Reality: Coding and Design — Overview of the programming languages that are most commonly used for virtual reality.
Git Version Control
Git is a system to keep track of your code - it's used by GitHub!
- Try Git — learn how to use the popular source control program
Paid Resources
- TreeHouse ($9/month with student discount; 14-day free trial) — videos of HTML, CSS, iOS and Android development, and more
- Code School ($19/month with student discount; many free courses) — interactive coding challenges, video lessons, and screencasts
News and Other Resources
Common sources we use to keep up to date and learn about what's new
- CS50 @ Harvard — introduction to computer science course from Harvard
- Hacker News — Tech/startup news, run by a venture capital firm
- WTF is a Hackathon — popular blog post explaining hackathons
- Reddit r/Programming — Large community for all things code related