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.
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".
Length: 4 weeks
Effort: 7-10 hours/week
Price: FREE (Add a Verified Certificate for $36 USD/month)
Institution: Rice University
Subject: Computer Science
Instructors: Luay Nakhleh, Scott Rixner, Joe Warren