YoVDO

Principles of Computing (Part 1)

Offered By: Rice University via Coursera

Tags

Algorithms and Data Structures Courses Python Courses Combinatorics Courses Probability Courses

Course Description

Overview

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.

Syllabus

  • Required Python knowledge, coding standards, and machine grading
    • This week, we will introduce you to the structure and standards of the Principles of Computing courses.
  • Testing, plotting, and grids
    • This week, we will explain the importance of testing. We will also learn to solve problems with grids.
  • Probability, randomness, and objects/references
    • This we will learn how to use probability and randomness to solve problems.
  • Combinatorics, generators, and debugging
    • This week, we will learn how to use combinatorics to solve problems.
  • Counting, growth of functions, higher-order functions
    • This week, we will explain the importance of counting in solving complex problems.

Taught by

Scott Rixner, Joe Warren and Luay Nakhleh

Tags

Related Courses

Analytic Combinatorics
Princeton University via Coursera
Contest Math I
Brilliant
Discrete Mathematics
City College of San Francisco via California Community Colleges System
Liberal Arts Math
City College of San Francisco via California Community Colleges System
Discrete Structures
Chaffey College via California Community Colleges System