Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Online Course

Principles of Computing (Part 2)

Rice University via Coursera

Overview

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.

Syllabus

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.

Taught by

Scott Rixner, Joe Warren and Luay Nakhleh

Related Courses

Reviews

4.4 rating, based on 16 reviews

Start your review of Principles of Computing (Part 2)

  • Profile image for Eric Colon
    Eric Colon

    Eric Colon completed this course, spending 12 hours a week on it and found the course difficulty to be hard.

    A big step up in terms of difficulty compared to the rest of the specialization. I did pass but I think I will stop here for a while and look for other courses on this subject.
  • Rafael Prados

    Rafael Prados completed this course.

  • Ines

    Ines completed this course.

  • Profile image for Lien Block
    Lien Block

    Lien Block completed this course.

  • Félix Pérez completed this course.

  • Profile image for Bhuvan N
    Bhuvan N

    Bhuvan N completed this course, spending 8 hours a week on it and found the course difficulty to be medium.

  • Colin Khein completed this course.

  • Steven Peterson

    Steven Peterson completed this course.

  • Mark Henry Butler completed this course.

  • Zach completed this course.

  • Andrei Dumitrescu completed this course.

  • M S

    M S completed this course.

  • Stephanie Ochoa

    Stephanie Ochoa completed this course.

  • Profile image for Alex Ivanov
    Alex Ivanov

    Alex Ivanov completed this course.

  • Raphael Favero

    Raphael Favero completed this course.

  • Joctor completed this course.

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free