Rice University - Algorithmic Thinking (Part 1)
- Offered byCoursera
Algorithmic Thinking (Part 1) at Coursera Overview
Duration | 12 hours |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Algorithmic Thinking (Part 1) at Coursera Highlights
- Shareable Certificate Earn a Certificate upon completion
- 100% online Start instantly and learn at your own schedule.
- Course 5 of 7 in the Fundamentals of Computing Specialization
- Flexible deadlines Reset deadlines in accordance to your schedule.
- Intermediate Level
- Approx. 12 hours to complete
- English Subtitles: Arabic, French, Portuguese (European), Greek, Italian, Vietnamese, Korean, German, Russian, English, Spanish, Telugu
Algorithmic Thinking (Part 1) at Coursera Course details
- Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part course builds on the principles that you learned in our Principles of Computing course and is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to real-world computational problems.
- In part 1 of this course, we will study the notion of algorithmic efficiency and consider its application to several problems from graph theory. As the central part of the course, students will implement several important graph algorithms in Python and then use these algorithms to analyze two large real-world data sets. The main focus of these tasks is to understand interaction between the algorithms and the structure of the data sets being analyzed by these algorithms.
- Recommended Background - Students should be comfortable writing intermediate size (300+ line) programs in Python and have a basic understanding of searching, sorting, and recursion. Students should also have a solid math background that includes algebra, pre-calculus and a familiarity with the math concepts covered in "Principles of Computing".
Algorithmic Thinking (Part 1) at Coursera Curriculum
Module 1 - Core Materials
What is Algorithmic Thinking?
Class structure
Pseudo-code
The small-world problem
Graphs and representation
Paths and distances
Brute force
What Is algorithm efficiency?
Measuring efficiency
Efficiency of brute force distance
Number of steps of brute force distance
Coding styles and standards - PoC
Machine grading - PoC
Plotting data - PoC
Peer assessment - "We want a shrubbery!" - IIPP
Class notes
Coding notes
Homework #1
Modules 1 - Project and Application
Project #1 Description
Application #1 Description
Application #1 Solution
Module 2 - Core Materials
Orders of growth
Asymptotics
Illustrating "Big O"
Illustrating BFS
Queues and boundary cases
Pseudocode
BFS running time - loose analysis
BFS running time - tighter analysis
BFS-based distance distribution
Homework #2
Module 2 - Project and Application
Project #2 Description
Application #2 Description
Application #2 Solution