Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
#90 overall

CS101 Building a Search Engine

Udacity

5 recommenders · 5 threads · recommended in 1 year, 2012 · score 5.0

Go to course ↗

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

What commenters said (6)

  1. Strongly recommendsninthfrank072012in “Ask HN: What programming language do you recommend starting with?”

    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).

  2. Strongly recommendsdlf2012in “Ask HN: How to finish Learn Python The Hard Way and where to go from there?”

    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!

  3. Strongly recommendsjmau52012in “Ask HN: Best Online Learning Sites?”

    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/

  4. Recommendsanthonycerra2012in “Young web dev asking what language to learn?”

    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!

  5. Recommendstwunde2012in “Where to Start in Computer Science?”

    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.

  6. Mentionsfranczesko2022in “Ask HN: I want to dive into how to make search engines”

    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.

Related courses

Keyboard

In the course grid
←↑→↓
Move between courses
Home End
Start / end of row (with Ctrl: first / last)
PgUp PgDn
Jump several rows
Enter
Open course
S
Save / unsave course
1–5
Best, Trending, Hidden gems, Evergreen, Saved
[ ]
Previous / next topic
On a course page
← →
Previous / next course in your list
S
Save / unsave
O
Open the course website
Esc
Back to the grid
Everywhere
/
Search
T
Light / dark theme
?
This help