#90 overall
CS101 Building a Search Engine
Udacity
5 recommenders · 5 threads · recommended in 1 year, 2012 · score 5.0
A free introductory Python course taught on Udacity in which students build a basic web search engine, covering crawling, link extraction, search queries, performance with hash tables, and ranking results. It was taught by David Evans and offered interactive in-browser exercises.
Commenters call it a perfect, interactive beginner course that assumes no prior programming knowledge and teaches Python through a practical project.
Programming Languagesbeginnerfreeinteractive MOOC#python#search engines#web crawling#hash tables#david evans#intro to computer science
Recommendations by year
20062026
If you enjoy watching videos, I'd recommend starting with the CS101 Udacity course (Intro to Computer Science: Building a Search Engine), which you can find here:
http://www.udacity.com/overview/Course/cs101/CourseRev/apr20...
This courses will introduce you to the Python programming language and will also explain you how search engines work. It's a perfect course for a beginner, because it assumes no prior programming knowledge. It's also very interactive, because you often have to answer questions or to implement your own procedures in Python (you can write you code, run it to see the output and submit it for validation directly in your web browser).
Looking at the syllabus, you can get a very good idea of what exactly you will learn throughout the course:
Unit 1: How to Get Started (Your first program: Extracting a link)
Unit 2: How to Repeat (Finding all of the links on a page)
Unit 3: How to Manage Data (Crawling the web)
Unit 4: How to Solve Problems (Responding to search queries)
Unit 5: How Programs Run (Making things fast)
Unit 6: How to Have Infinite Power (Ranking search results)
Unit 7: Where to Go from Here (Exam testing your knowledge)
I took this class a few months ago and I found it extremely interesting! Especially Unit 5, where you will learn how to implement hash tables (http://en.wikipedia.org/wiki/Hash_table).
At the risk of making all of HN think I work for Udacity, which I don't, I'm just going to go ahead and recommend Udacity's CS101 "Building a Search Engine" class. It truly is awesome. I signed up late for it and am working through it now. They'll be running the class again starting April 16th. I'm trying to beat the clock and get done in time to take the 200 level classes that start then.
Best of luck!
I'm registered for CS101: Building a Search Engine and CS373: Programming Robotic Cars over at Udacity. Both classes are scheduled to start in a few hours and I highly recommend you get over there and join the fun. Both classes are being led by Sebastian Thrun, ex-Stanford professor, Google Fellow, and instructor of the highly successful Introduction to Artificial Intelligence course than Stanford hosted last year.
Link: http://www.udacity.com/
I'm still a student myself and won't pretend to know which is best, but I can share the resources I've been using.
There are two great interactive courses on Udacity.com that will be helpful if you choose Python. The first course teaches you how to build a basic search engine while learning the Python language. Sergey Brin even makes an appearance. The second course is on how to create a web app using Python taught by a co-founder of Reddit (Steve Huffman). Both are totally free and incredibly high quality.
Codecademy.com will teach you Javascript for free. The Javascript tutorial is really great, but the jQuery tutorial has mixed reviews.
Finally, the de facto place to learn Ruby on Rails is railstutorial.org. The content is freely available as HTML, but the PDFs and screencasts are well worth the money.
Good luck!
For you that I'd say start with Python. It's used for software development, scripting, system administration and web development which seems to hit everything you want. I'd check out udacity's cs 101 which teaches how to build a search engine in Python as well as Google's Python class: http://code.google.com/edu/languages/google-python-class/
Since you're still in school it might be worthwhile to see if you could sneak into an intro to programming class for your last semester.
David Evans' CS101 was about building a search engine with python, however I think it's no longer hosted on Udacity.
https://www.cs.virginia.edu/~evans/courses/
I highly recommend digging deeper and trying to find the course materials - I'm pretty sure they should be available somewhere on the Internet. Perhaps the author could point you in the right direction.