Algorithmic Thinking Part 1

  • Course StartSelf-Paced
  • Course Duration4 weeks
  • Workload7-10 hours per week
  • Credit OfferedCertificate Available
  • TuitionSubscription

Learn about the notion of algorithmic efficiency and consider its application to several problems from graph theory.

Course Description

Part of the Fundamentals of Computing specialization.

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

Lecture Samples

Contact

Any questions? Please e-mail RiceOnline@rice.edu.

Professor Information

Picture of Dr. Joe Warren

Dr. Joe Warren

Joe Warren is a Professor in the Department of Computer Science at Rice University. His main area of research interest is computer graphics and geometric modeling, where he has published extensively. He is the author of the book Subdivision Methods for Geometric Design. He also has a love for computer gaming, both playing games and […]

Full Bio

Picture of Dr. Scott Rixner

Dr. Scott Rixner

Scott Rixner is a Professor of Computer Science at Rice University. His research spans virtualization, operating systems, and computer architecture, with a specific focus on memory systems and networking. He is well versed in the internals of the Python programming language, as he has developed Python interpreters for both embedded systems and web browsers. He […]

Full Bio

Picture of Dr. Luay Nakhleh

Dr. Luay Nakhleh

Luay Nakhleh received a BSc degree in Computer Science from the Technion (Israel) in 1996, a Master’s degree in Computer Science from Texas A&M University in 1998, and a PhD degree in Computer Science from UT Austin in May 2004 (Advisor: Prof. Tandy Warnow). While at UT Austin, he received the Outstanding Doctoral Dissertation Award, […]

Full Bio