Udacity - Intro to Algorithms (2015)
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. Why Take This Course? 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. 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.
See the Technology Requirements for using Udacity.
What Will I Learn?
Lesson 1: A Social Network Magic Trick
Objective: Become familiar with Algorithm Analysis.
Correctness of Naïve
Russian Peasants Algorithm
Steps for Naive, Steps for Russian
Divide and Conquer
Lesson 2: Growth Rates in Social Networks
Objective: Use mathematical tools to analyze how things are connected.
Chain, Ring and Grid Networks
Nodes, Edges, Regions
Growth Rate of Edges in Planar Graph
Randomly Generated Graphs
Lesson 3: Basic Graph Algorithms
Objective: Find the quickest route to Kevin Bacon.
Properties of Social Networks
Running Time of Connected Components
Checking Pairwise Connectivity
Pairwise Shortest Path
Depth vs. Breadth First Search
Marvel “Social” Network
Finding Bridge Edges
Lesson 4: It’s Who You Know
Objective: Learn to keep track of your Best Friends using heaps.
Top K Via Partitioning
Three Partitioning Cases
Properties of a Heap
Patch Up a Heap
Lesson 5: Strong and Weak Bonds
Objective: Work with Social Networks that have edge weights.
Make a Tree
Strength of Connections
Weighted Social Networks
How to Find the Shortest Path
Dijkstra’s Shortest Path Algorithm
Randomizing Clustering Coefficient
Bounds on the Estimate
Lesson 6: Hardness of Network Problems
Objective: Explore what it means for a Social Network problem to be "harder" than other.
Exponential Running Time
Degrees of Hardness
Reduction: Long and Simple Path
Polynomial Time Decidable Problems
Non-deterministic Polynomial Time Decidable Problem
Clique Problem in NP
Find the Strangers
Graph Coloring is NP-Complete
Lesson 7: Review and Application
Interview with Peter Winker (Professor, Dartmouth College) on Names and Boxes Problem && Puzzles and Algorithms
Interview with Tina Eliassi-Rad (Professor, Rutgers University) on Statistical Measures in Network && Social Networks in Security and Protests
Interview with Andrew Goldberg (Principal Researcher, Microsoft Research) on Practical Algorithms
Interview with Vukosi Marivate (Graduate Student, Rutgers University) on Social Algorithms
Interview with Duncan Watts (Principal Researcher, Microsoft) on Pathway That Can Use Two Nodes
Intro to Graph Search Animation
Instructors & Partners