Algorithmic Thinking (Part 1)

Location type
Logo Coursera (CC)
Provider rating: starstarstarstar_borderstar_border 6.3 Coursera (CC) has an average rating of 6.3 (out of 4 reviews)

Need more information? Get more details on the site of the provider.

Description

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: 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 importa…

Read the complete description

Frequently asked questions

There are no frequently asked questions yet. Send an Email to info@springest.com

Didn't find what you were looking for? See also: Algorithms, Python, Programming, Hour of Code, and Ruby on Rails.

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: 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".

Created by:  Rice University
  • Taught by:  Luay Nakhleh, Associate Professor

    Computer Science; Biochemistry and Cell Biology
  • Taught by:  Scott Rixner, Professor

    Computer Science
  • Taught by:  Joe Warren, Professor

    Computer Science
Basic Info Course 5 of 7 in the Fundamentals of Computing Specialization Level Intermediate Commitment 4 weeks of study, 7-10 hours/week Language English, Subtitles: Spanish How To Pass Pass all graded assignments to complete the course. User Ratings 4.6 stars Average User Rating 4.6See what learners said Coursework

Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.

Help from your peers

Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.

Certificates

Earn official recognition for your work, and share your success with friends, colleagues, and employers.

Rice University Rice University is consistently ranked among the top 20 universities in the U.S. and the top 100 in the world. Rice has highly respected schools of Architecture, Business, Continuing Studies, Engineering, Humanities, Music, Natural Sciences and Social Sciences and is home to the Baker Institute for Public Policy.

Syllabus


WEEK 1


Module 1 - Core Materials
What is Algorithmic Thinking?, class structure, graphs, brute-force algorithms


15 videos, 2 readings expand


  1. Video: What is Algorithmic Thinking?
  2. Video: Class structure
  3. Video: Pseudo-code
  4. Video: The small-world problem
  5. Video: Graphs and representation
  6. Video: Paths and distances
  7. Video: Brute force
  8. Video: What Is algorithm efficiency?
  9. Video: Measuring efficiency
  10. Video: Efficiency of brute force distance
  11. Video: Number of steps of brute force distance
  12. Reading: Class notes
  13. Reading: Coding notes
  14. Video: Coding styles and standards - PoC
  15. Video: Machine grading - PoC
  16. Video: Plotting data - PoC
  17. Video: Peer assessment - "We want a shrubbery!" - IIPP

Graded: Homework #1

WEEK 2


Modules 1 - Project and Application
Graph representations, plotting, analysis of citation graphs


3 readings expand


  1. Reading: Project #1 Description
  2. LTI Item: Project Submission History
  3. Reading: Application #1 Description
  4. Reading: Application #1 Solution

Graded: Assignment: Degree Distribution for Graphs
Graded: Analysis of Citation Graphs

WEEK 3


Module 2 - Core Materials
Asymptotic analysis, "big O" notation, pseudocode, breadth-first search


9 videos expand


  1. Video: Orders of growth
  2. Video: Asymptotics
  3. Video: Illustrating "Big O"
  4. Video: Illustrating BFS
  5. Video: Queues and boundary cases
  6. Video: Pseudocode
  7. Video: BFS running time - loose analysis
  8. Video: BFS running time - tighter analysis
  9. Video: BFS-based distance distribution

Graded: Homework #2

WEEK 4


Module 2 - Project and Application
Connected components, graph resilience, and analysis of computer networks


3 readings expand


  1. Reading: Project #2 Description
  2. Reading: Application #2 Description
  3. Reading: Application #2 Solution

Graded: Assignment: Connected Components and Graph Resilience
Graded: Analysis of a Computer Network
There are no reviews yet.

Share your review

Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.

There are no frequently asked questions yet. Send an Email to info@springest.com