I’ve been trying to learn how to code in Python for a while now. Of all the beginner resources I’ve tried, Udacity’s Intro to Computer Science (UD CS101) has been my favorite.
To clarify: I’m not learning Python with the intention of becoming a software developer. Rather, I like analyzing data, and I hear Python can help with that. R too, but Python is 1: recommended for beginners, and 2: has more applications outside of big data.
I do have some programming experience, though never anything formal, never to this depth, and never in Python.
UD CS101’s premise is for you to create “The Next Google” by teaching you how to build your own search engine.
The self-paced course is broken down into 7 modules*. Each module introduces a new concept to help improve on your search engine.
Each module contains:
- Videos. Here the instructor explains the theory behind the concepts and demonstrates how to use them on the search engine.
- Q&As. These help nail down the concepts. These aren’t too difficult and are usually similar to the demonstrations.
- Problem sets. These are machine problems that build on the concepts you’ve learned so far and are more challenging than the Q&As.
At the end of the course you would have built a search engine with a similar algorithm to AltaVista–what was once the #1 search engine in the 90s before Google took over.
For your class project you then build a mini social network based on the concepts you learned from the course.
*As of writing Udacity has revamped their classrooms so this modular approach may no longer apply.