On the recommendation of a friend, I decided to begin my
journey into programming with a free Introduction to Computer Science 101
course at udacity.com. While there are
many courses online, I stuck with this one as I liked the fact it involved
training videos and quizzes, which made the whole learning experience a lot
more interactive rather than passive, and also I found the enthusiasm and
friendliness of the course instructor (Professor David Evans of the University
of Virginia) very engaging. (I have a
soft spot for endearingly geeky men – perhaps another good reason to do a
career change into computer programming).
Udacity was set up by Sebastian Thrun and has a rather
noble goal to "bring accessible, affordable, engaging, and highly effective higher education to the world", not just in Computer Science but also Psychology, Biology, Maths
and Physics. Sebastian Thrun is the closest thing the world of programming has to a rock star (see the pic below) - not content with being a Research Professor at Stanford University and a Google Fellow, he is the inventor of the autonomous car and project lead on Google Glass, as well as being a generally all round cool dude.
What a guy! I wish he was my friend...
The course is taught using the programming language Python,
assumes zero knowledge of computer science, and teaches you many basic concepts
in the context of building a simple web search engine. What’s really incredible is that if you stick
with the course, you do actually end up programming an extremely rudimentary
search engine! Obviously there is a fair
bit of hand holding, as the course sets up the framework of the search engine
programme for you, but you do build the code yourself and are able to
understand the individual components of the programme and how they link with
each other.
The course is broken up into multiple units, with each unit
introducing a new aspect of computer science and using it to add another
section to your search engine code. A
typical format of a unit involves a series of tutorial videos, each one
delivered with a hearty dose of passion and joviality by Professor Evans and his assistant PhD student
Peter Chapman, interspersed with quizzes (some multiple choice, or involving simple
calculations). You do not have to get
the answers right in order to progress, and a full explanation of the answer is
always given in the next video. At the
end of the unit, there are a series of homework questions that help to
consolidate what you’ve learned, and also develop the way you use your newly
acquired knowledge. Some of these are
marked with a “gold star” (or even 2-3 stars) as they require the student to
engage their grey matter and think slightly beyond the course material that has
been fed to them, solving a puzzle using the knowledge they have acquired, but
with a slight twist. While I did find
some of these problem solving exercises really very tricky, they are by no
means impossible and I always learnt
something by continuing to work on them, and when you do finally get the green
message that says your code is Correct, it feels SO GOOD! They also have forums where you can ask for
help from other users (aka “udacians”) and discuss topics from the course –
while I never actually contributed material to the forums, reading the posts of
others who were stuck on similar questions and the kind people who replied to
help explain the issue, was always super helpful.
Yes, even a newb can end up building this:
I think what’s really satisfying about the course is that
you do get to a basic level of familiarity with a widely used programming
language, you gain a simple understanding of the concepts of how Google works
and it’s an exciting sneak peak into what can be achieved by further study in
computer science! Of course, this also
makes you realise how much there is still left to learn…
Thoughts about the Udacity course in Summary:
Pros:
- Pitched at complete beginners and introduces the main basic concepts of computer science
- Makes you think on your own, rather than spoon feeding
- Downloadable Youtube videos and pdf course materials help make the course a very polished and professional learning experience
Cons:
- Some exercises do get quite tricky – this can be disconcerting for beginners, but you feel immense satisfaction when you work out the solution
- After a few units the focus of the course narrows to the web search engine very specifically
- The overall course is quite long, and it’s difficult to break down each unit into bitesize chunks, meaning you have to find the time and perseverance to get to the finished product
Very informative blog!!! I was really looking for some good informative blog post about various computer courses.Thanks for sharing this information with us
ReplyDelete