Principles of Computing (Part 2)
About this Course
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. In part 2 of this course, the programming portion of the class will focus on concepts such as recursion, assertions, and invariants. The mathematical portion of the class will focus on searching, sorting, and recursive data structures. Upon completing this course, you will have a solid foundation in the principles of computation and programming. This will prepare you for the next course in the specialization, which will begin to introduce a structured approach to developing and analyzing algorithms. Developing such algorithmic thinking skills will be critical to writing large scale software and solving real world computational problems.Created by: Rice University

Related Online Courses
Designed for learners of all experience levels, this program equips you with the essential skills needed to use the software tools utilized on a daily basis in office environments. Throughout the... more
This specialization equips learners with in-depth knowledge of advanced testing techniques, including risk-based testing, white-box methods, static and dynamic analysis, and test automation.... more
During this course the student will go through a full Low Code/No Code platform lifecycle. Learners will get an understanding of how to lead Citizen Developers (CD) and learn how to deploy... more
In the \"Network Interventions\" course, learners will explore the foundational principles of data manipulation, visualization, and the dynamics of networks. This course stands out by seamlessly... more
Did you know developers using AI coding tools like GitHub Copilot are significantly more productive and make fewer errors? Join along in this course and become a more efficient and productive... more