Principles of Computing (Part 1)

Product type

Principles of Computing (Part 1)

Coursera (CC)
Logo Coursera (CC)
Provider rating: starstarstarstar_halfstar_border 7.2 Coursera (CC) has an average rating of 7.2 (out of 6 reviews)

Need more information? Get more details on the site of the provider.

Description

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

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…

Read the complete description

Frequently asked questions

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.

Didn't find what you were looking for? See also: Python, R Programming, Problem Analysis & Solving, Public speaking & presentation, and Decision Making.

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

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.

Created by:  Rice University
  • Taught by:  Scott Rixner, Professor

    Computer Science
  • Taught by:  Joe Warren, Professor

    Computer Science
  • Taught by:  Luay Nakhleh, Associate Professor

    Computer Science; Biochemistry and Cell Biology
Basic Info Course 3 of 7 in the Fundamentals of Computing Specialization Level Intermediate Commitment 4 weeks of study, 7-10 hours/week Language English How To Pass Pass all graded assignments to complete the course. User Ratings 4.8 stars Average User Rating 4.8See what learners said Coursework

Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.

Help from your peers

Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.

Certificates

Earn official recognition for your work, and share your success with friends, colleagues, and employers.

Rice University Rice University is consistently ranked among the top 20 universities in the U.S. and the top 100 in the world. Rice has highly respected schools of Architecture, Business, Continuing Studies, Engineering, Humanities, Music, Natural Sciences and Social Sciences and is home to the Baker Institute for Public Policy.

Syllabus


WEEK 1


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.


10 videos, 9 readings expand


  1. Video: Principles of Computing
  2. Video: Introduction
  3. Video: Required Python Knowledge
  4. Reading: Required Python Knowledge
  5. Video: Coding Style and Standards
  6. Reading: Guidelines for Coding Style
  7. Video: Python Modules
  8. Reading: Importing Custom Modules in Python
  9. Video: Machine Grading
  10. Video: Mini-project Video
  11. Reading: Mini-project Description
  12. Reading: 2048
  13. LTI Item: Assignment Submission History
  14. Reading: Math Expressions for Homework
  15. Reading: Math Notes on Functions
  16. Reading: Practice Mini-project - Solitaire Mancala
  17. Video: CodeSkulptor
  18. Video: Saving in CodeSkulptor
  19. Video: Beyond CodeSkulptor (15:12) (optional video)
  20. Reading: Python Development Environments

Graded: Homework 1
Graded: Assignment: 2048 (Merge)

WEEK 2


Testing, plotting, and grids
This week, we will explain the importance of testing. We will also learn to solve problems with grids.


5 videos, 4 readings expand


  1. Video: The Importance of Testing
  2. Video: Testing
  3. Reading: Building Tests for Python Programs
  4. Video: Plotting
  5. Video: Grids
  6. Video: Mini-project Video
  7. Reading: Mini-project Description
  8. Reading: Math Notes on Grid Representations
  9. Reading: Practice Activity - Testing Solitaire Mancala

Graded: Homework 2
Graded: Assignment: 2048 (Full)

WEEK 3


Probability, randomness, and objects/references
This we will learn how to use probability and randomness to solve problems.


6 videos, 6 readings expand


  1. Video: The Importance of Probability
  2. Video: Basics of Probability
  3. Video: Expected Value
  4. Video: Monte Carlo Methods
  5. Video: Objects and References
  6. Video: Mini-project Video
  7. Reading: Mini-project Description
  8. Reading: TTTBoard Class
  9. Reading: Math Notes on Basic Probability
  10. Reading: Math Notes on Expected Value
  11. Reading: Practice Mini-project - Nim (Monte Carlo)
  12. Reading: Practice Activity - The Monty Hall Problem

Graded: Homework 3
Graded: Assignment: Tic-Tac-Toe (Monte Carlo)

WEEK 4


Combinatorics, generators, and debugging
This week, we will learn how to use combinatorics to solve problems.


6 videos, 5 readings expand


  1. Video: The Importance of Combinatorics
  2. Video: Enumeration
  3. Video: Permutations and Combinations
  4. Video: Combinatorics and Password Breaking
  5. Video: Debugging
  6. Video: Mini-project Video
  7. Reading: Mini-project Description
  8. Reading: Math Notes on Enumeration
  9. Reading: Math Notes on Permutations and Combinations
  10. Reading: Practice Activity - Analyzing a Simple Dice Game
  11. Reading: Practice Activity - Counting Game States

Graded: Homework 4
Graded: Assignment: Yahtzee

WEEK 5


Counting, growth of functions, higher-order functions
This week, we will explain the importance of counting in solving complex problems.


6 videos, 7 readings expand


  1. Video: The Importance of Counting
  2. Video: Counting and Sums
  3. Video: Functions: Finding the Max
  4. Video: Higher-order Functions
  5. Video: Plotting Statement Counts
  6. Video: Mini-project Video
  7. Reading: Mini-project Description
  8. Reading: BuildInfo Class
  9. Reading: Math Notes on Arithmetic Sums
  10. Reading: Math Notes on Logarithms and Exponentials
  11. Reading: Math Notes on Growth Rates of Functions
  12. Reading: Practice Activity - Modeling the Growth of Functions
  13. Reading: Practice Activity - The Case of the Greedy Boss

Graded: Homework 5
Graded: Assignment: Cookie Clicker
There are no reviews yet.
  • View related products with reviews: Python.

Share your review

Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.