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 2 of this course, we will study advanced algorithmic techniques such as divide-and-conquer and dynamic programming.
Once students have completed this class, they will have both the mathematical and programming skills to analyze, design, and program solutions to a wide range of computational problems. While this class will use Python as its vehicle of choice to practice Algorithmic Thinking, the concepts that you will learn in this class transcend any particular programming language.
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