Intermediate
Join 62,121 Students

We're still building the full experience
Approx. 2 months
(work at your own pace)

Class Summary

Ever played the Kevin Bacon game? This class will show you how it works by giving you an introduction to the design and analysis of algorithms, enabling you to discover how individuals are connected.

What Will I Learn?

By the end of this class you will understand key concepts needed to devise new algorithms for graphs and other important data structures and to evaluate the efficiency of these algorithms.

What Should I Know?

This class assumes an understanding of programming at the level of CS101, including the ability to read and write short programs in Python; it also assumes a comfort level with mathematical notation at the level of high school Algebra II or the SATs.

Syllabus

Lesson 1: A Social Network Magic Trick

Becoming familiar with algorithm analysis

Lesson 2: Growth Rates in Social Networks

Using mathematical tools to analyze how things are connected

Lesson 3: Basic Graph Algorithms

Finding the quickest route to Kevin Bacon

Lesson 4: It’s Who You Know

Keeping track of your best friends using heaps

Lesson 5: Strong and Weak Bonds

Working with social networks with edge weights.

Lesson 6: Hardness of Network Problems

Exploring what it means for a social network problem to be harder than other.

Lesson 7: Conclusion

Using your knowledge

FAQ

When does the course begin?

This class is self paced. You can begin whenever you like and then follow your own pace. It’s a good idea to set goals for yourself to make sure you stick with the course.

How long will the course be available?

This class will always be available!

How do I know if this course is for me?

Take a look at the “Class Summary,” “What Should I Know,” and “What Will I Learn” sections above. If you want to know more, just enroll in the course and start exploring.

Can I skip individual videos? What about entire lessons?

Yes! The point is for you to learn what YOU need (or want) to learn. If you already know something, feel free to skip ahead. If you ever find that you’re confused, you can always go back and watch something that you skipped.

How much does this cost?

It’s completely free! If you’re feeling generous, we would love to have you contribute your thoughts, questions, and answers to the course discussion forum.

What are the rules on collaboration?

Collaboration is a great way to learn. You should do it! The key is to use collaboration as a way to enhance learning, not as a way of sharing answers without understanding them.

Why are there so many questions?

Udacity classes are a little different from traditional courses. We intersperse our video segments with interactive questions. There are many reasons for including these questions: to get you thinking, to check your understanding, for fun, etc... But really, they are there to help you learn. They are NOT there to evaluate your intelligence, so try not to let them stress you out.

What should I do while I’m watching the videos?

Learn actively! You will retain more of what you learn if you take notes, draw diagrams, make notecards, and actively try to make sense of the material.

Course Instructors

instructor photo

Michael Littman

Instructor

Michael Littman is a Professor of Computer Science at Rutgers University and (soon) Brown University. He served as department chair at Rutgers for the past several years and leads a machine-learning research group. Michael's computer science classes on topics such as algorithms, discrete math, and artificial intelligence earned him university-level teaching awards at both Duke and Rutgers. He is a Fellow of the Association for the Advancement of Artificial Intelligence.