By Frances Advincula (Software Engineer, Accenture)
What I love most about being an engineer is at the end of the day, I am helping build a product, something tangible and measurable. Of course, it doesn’t hurt that right now, everyone wants to learn how to program, since the tech industry is currently so hot and well, it’s now cool to be a geek. To top it off, I’m sure you’ve noticed how everyone wants to hire top-notch engineers.
So today, whether you just want to see what all the hype is about and just tinker with Computer Science, or whether you plan to be the next Martia, errr Mark Zuckerberg (’bout time a girl founded the next Facebook/Google/Apple), here’s a list to get you started on learning how to code, all for free.
Time magazine recently ran an article on how college is being revolutionized massively open online courses. It’s like taking a class at a top school — professors send you emails, homeworks get assigned regularly, you form groups and teams, interact with classmates, etc, but online and for free. Here are the top players:
Founded by two Stanford professors, Coursera offers free courses on finance, business, social sciences, engineering, and computer science from Ivy League schools and other top universities. What people seem to like about Coursera is that it very closely mimics the traditional classroom – true to its mission of offering top-notch education for everyone. This means they lean towards longer lecture videos, complete with slides and quizzes. (It also has a female co-founder, how cool is that!)
Courses have a start date, and students go through the lectures and assignments as a class. Upcoming courses include: Programming Languages, Creative Programming for Digital Media & Mobile Apps, and Learn to Program: Crafting Quality Code.
Built by three roboticists, Udacity offers free courses on computer science, entrepreneurship, etc. Udacity’s differentiating factor is it’s delivery – it has shorter videos and more quizzes throughout the process. I also noticed it leans heavily on building things as you learn – just look at their list of classes, a sampling of which include HTML5 Game Development, Web Development, and How to Build a Startup.
This non-profit started as mitX and was later renamed edXa when Harvard joined as a founding partner. Now it also offers classes from UC Berkeley and the University of Texas System. A sampling of classes include Software as a Service, Foundations of Computer Graphics, and Artificial Intelligence.
Although not as collaborative as the previous three, those below still deserve to be named.
With iTunes U, I really like the notebook style look in the iPad app, and the fact that I can take it with me wherever I go — watch videos on my tablet or listen to podcasts (such as my favorite Stanford E-Corner) on long commutes. I also like that there is no pressure — I can learn at my own pace.
Stanford Engineering Everywhere
Stanford Engineering Everywhere offers Stanford’s most popular courses in CS and Electrical Engineering, including the full course materials. A sampling includes the university’s 3-course intro to CS taken by Stanford undergrads and more other topics such as Introduction to Robotics and Programming Massively Parallel Processors.
There are a lot of courses on MIT Opencourseware, and we have to give them credit for being the first big pioneer in opensourcing education. However, some of the courses have incomplete materials, not all have videos, etc. That being said, the lecture notes and book lists are still very useful.
- Stack Overflow – I’m sure Stack Overflow would cringe that I listed them under the header “forum,” but I can’t tell you how many times I’ve found solutions to programming problems here. Check out it’s sister sites such as programmers.stackexchange where one is allowed to ask more subjective questions. It’s worth it to note that there is an opensource versioin of Stack Overflow — I’ve known some companies that have used it as a QA tool internally.
- Dream In Code – It’s no Stack Overflow, but still definitely worth checking out. More focused towards web development.
- Code Project – If you code, you must check this out. Tutorials, great articles, QA, cool opensource frameworks — it has it all.
The MeetUps with Great Resources Online
The following are workshops and meetup-type of groups but also have great learning resources on their websites.
- Misko Hevery – All you want to know about testability. ‘Nuff said.
- Joel on Software – Great article playlists whether you are a new dev, a rockstar dev, a founder, a designer, etc. (Home page, look over to the right side.)
- General Assembly’s Article – A 3-part series on learning how to code.
- Sara J. Chipps on Mightybell – 5 steps on teaching yourself programming.
This post was originally posted at Femgineer.
Women 2.0 readers: How did you learn how to code? Got any tips? Let us know in the comments.
About the guest blogger: Frances Advincula is a software engineer at Accenture. Frances just graduated with a degree in Computer Science with specialization in Software Engineering. She contributes to The Levo League, Women 2.0 and STEMinist. A proud geek girl, she’s sure she is the only one who can’t play video games. Follow her on Twitter at @FranAdvincula.