Coursera
Coursera Logo

Rice University - Principles of Computing (Part 2) 

  • Offered byCoursera

Principles of Computing (Part 2)
 at 
Coursera 
Overview

Duration

16 hours

Start from

Start Now

Total fee

Free

Mode of learning

Online

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Principles of Computing (Part 2)
 at 
Coursera 
Highlights

  • 80% started a new career after completing these courses.
  • 60% got a tangible career benefit from this course.
  • 50% got a pay increase or promotion.
  • Earn a shareable certificate upon completion.
Read more
Details Icon

Principles of Computing (Part 2)
 at 
Coursera 
Course details

More 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.
Read more

Principles of Computing (Part 2)
 at 
Coursera 
Curriculum

Searching and Data Structures

Introduction

The Importance of Searching

Generators

Stacks and Queues

Inheritance

Grid Class

Grid search

Mini-project Video

CodeSkulptor (optional video from our previous class)

Saving in CodeSkulptor (optional video from our previous class)

Beyond CodeSkulptor (optional video from our previous class)

Mini-project Description

Math Notes on Growth Rates of Functions

Math Notes on Grid Representations

Math Notes on Breadth-First Search

Practice Activity - Sorting strings

Practice Activity - Working with Distance Fields

Homework 1

Recursion

The Importance of Recursion

Recursion

Binary Search

Visualizing Recursion

Recurrences

Reading Files

Mini-project Video

Mini-project Description

Math Notes on Recurrence Relations

Practice Activity - Recursion

Practice Activity - Binary representations for numbers

Practice Activity - Visualizing recurrences

Homework 2

Trees

The Importance of Trees

Lambda

Trees

Illustration of Trees

Minimax

Mini-project Video

Mini-project Description

TTTBoard Class

Math Notes on Trees

Math Notes on Minimax

Practice Activity - Nim (Tree search)

Practice Activity - Drawing trees

Homework 3

Modeling, Assertions, and Invariants

The Importance of Modeling

Assertions

Invariants

Modeling

Software Development

Mini-project Video

What is Algorithmic Thinking?

The Basics of the Fifteen Puzzle

Mini-project Description

Math Notes on Invariants

Practice Activity - Solitaire Tantrix

Homework 4

Principles of Computing (Part 2)
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 CoursesRight Arrow Icon
    qna

    Principles of Computing (Part 2)
     at 
    Coursera 

    Student Forum

    chatAnything you would want to ask experts?
    Write here...