Coursera
Coursera Logo

Rice University - Principles of Computing (Part 1) 

  • Offered byCoursera

Principles of Computing (Part 1)
 at 
Coursera 
Overview

Duration

19 hours

Total fee

Free

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Principles of Computing (Part 1)
 at 
Coursera 
Highlights

  • This Course Plus the Full Specialization.
  • Shareable Certificates.
  • Graded Programming Assignments.
Details Icon

Principles of Computing (Part 1)
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • This two-part course builds upon the programming skills that you learned in our Introduction to Interactive Programming in Python course. We will augment those skills with both important programming practices and critical mathematical problem solving skills. These skills underlie larger scale computational problem solving and programming. The main focus of the class will be programming weekly mini-projects in Python 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 1 of this course, the programming aspect of the class will focus on coding standards and testing. The mathematical portion of the class will focus on probability, combinatorics, and counting with an eye towards practical applications of these concepts in Computer Science.
  • Recommended Background - Students should be comfortable writing small (100+ line) programs in Python using constructs such as lists, dictionaries and classes and also have a high-school math background that includes algebra and pre-calculus.
Read more

Principles of Computing (Part 1)
 at 
Coursera 
Curriculum

Required Python knowledge, coding standards, and machine grading

Principles of Computing

Introduction

Required Python Knowledge

Coding Style and Standards

Python Modules

Machine Grading

Mini-project Video

CodeSkulptor

Saving in CodeSkulptor

Beyond CodeSkulptor (15:12) (optional video)

Required Python Knowledge

Guidelines for Coding Style

Importing Custom Modules in Python

Mini-project Description

2048

Math Expressions for Homework

Math Notes on Functions

Practice Mini-project - Solitaire Mancala

Python Development Environments

Homework 1

Testing, plotting, and grids

The Importance of Testing

Testing

Plotting

Grids

Mini-project Video

Building Tests for Python Programs

Mini-project Description

Math Notes on Grid Representations

Practice Activity - Testing Solitaire Mancala

Homework 2

Probability, randomness, and objects/references

The Importance of Probability

Basics of Probability

Expected Value

Monte Carlo Methods

Objects and References

Mini-project Video

Mini-project Description

TTTBoard Class

Math Notes on Basic Probability

Math Notes on Expected Value

Practice Mini-project - Nim (Monte Carlo)

Practice Activity - The Monty Hall Problem

Homework 3

Combinatorics, generators, and debugging

The Importance of Combinatorics

Enumeration

Permutations and Combinations

Combinatorics and Password Breaking

Debugging

Mini-project Video

Mini-project Description

Math Notes on Enumeration

Math Notes on Permutations and Combinations

Practice Activity - Analyzing a Simple Dice Game

Practice Activity - Counting Game States

Homework 4

Counting, growth of functions, higher-order functions

The Importance of Counting

Counting and Sums

Functions: Finding the Max

Higher-order Functions

Plotting Statement Counts

Mini-project Video

Mini-project Description

BuildInfo Class

Math Notes on Arithmetic Sums

Math Notes on Logarithms and Exponentials

Math Notes on Growth Rates of Functions

Practice Activity - Modeling the Growth of Functions

Practice Activity - The Case of the Greedy Boss

Homework 5

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 1)
 at 
Coursera 

Student Forum

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