This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games.
This course is part of the Fundamentals of Computing Specialization
Offered By


About this Course
Skills you will gain
- Recursion
- Algorithms
- Python Programming
- Tree (Data Structure)
Offered by

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 - What you will learn from this course
Searching and Data Structures
This week, we will explain the importance of searching. We will also explore various data structures and learn about inheritance.
Recursion
This week, we will explain the importance of recursion.
Trees
This week, we will explain the importance of trees. We will also explore how to set up game trees so that we can efficiently search them.
Modeling, Assertions, and Invariants
This week, we will explain the importance of modeling. We will also explore how to use assertions and invariants to ensure that our models are always consistent and correct.
Reviews
- 5 stars84.41%
- 4 stars11.61%
- 3 stars2.83%
- 2 stars0.28%
- 1 star0.84%
TOP REVIEWS FROM PRINCIPLES OF COMPUTING (PART 2)
Interesting, but challenging course. Some weeks might take longer than a week, but don't give up. If you pull through, you have accomplished quite a lot.
Must have course to build foundation on computational thinking.
Another fantastic course from the team at Rice University. The coursework is interesting and challenging, and I really feel I have learned a lot.
Very challenging projects and a very interesting way to learn about data structures. Lecturers are really great
About the Fundamentals of Computing Specialization
This Specialization covers much of the material that first-year Computer Science students take at Rice University, brought to you by the world-class Faculty who teach our master's and PhD programs. Students learn sophisticated programming skills in Python from the ground up and apply these skills in building more than 20 fun projects. The Specialization concludes with a Capstone exam that allows the students to demonstrate the range of knowledge that they have acquired in the Specialization.

Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
More questions? Visit the Learner Help Center.