About this Course
4.8
362 ratings
64 reviews
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....
Globe

100% online courses

Start instantly and learn at your own schedule.
Calendar

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Clock

Suggested: 4 weeks of study, 7-10 hours/week

Approx. 22 hours to complete
Comment Dots

English

Subtitles: English

Skills you will gain

Computer ProgrammingAlgorithmsPython ProgrammingCombinatorics
Globe

100% online courses

Start instantly and learn at your own schedule.
Calendar

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Clock

Suggested: 4 weeks of study, 7-10 hours/week

Approx. 22 hours to complete
Comment Dots

English

Subtitles: English

Syllabus - What you will learn from this course

1

Section
Clock
6 hours to complete

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....
Reading
10 videos (Total 104 min), 9 readings, 3 quizzes
Video10 videos
Introduction6m
Required Python Knowledge12m
Coding Style and Standards11m
Python Modules7m
Machine Grading10m
Mini-project Video5m
CodeSkulptor11m
Saving in CodeSkulptor9m
Beyond CodeSkulptor (15:12) (optional video)15m
Reading9 readings
Required Python Knowledge10m
Guidelines for Coding Style10m
Importing Custom Modules in Python10m
Mini-project Description10m
204810m
Math Expressions for Homework10m
Math Notes on Functions10m
Practice Mini-project - Solitaire Mancala10m
Python Development Environments10m
Quiz1 practice exercise
Homework 120m

2

Section
Clock
3 hours to complete

Testing, plotting, and grids

This week, we will explain the importance of testing. We will also learn to solve problems with grids....
Reading
5 videos (Total 34 min), 4 readings, 2 quizzes
Video5 videos
Testing4m
Plotting6m
Grids8m
Mini-project Video10m
Reading4 readings
Building Tests for Python Programs10m
Mini-project Description10m
Math Notes on Grid Representations10m
Practice Activity - Testing Solitaire Mancala10m
Quiz1 practice exercise
Homework 218m

3

Section
Clock
3 hours to complete

Probability, randomness, and objects/references

This we will learn how to use probability and randomness to solve problems....
Reading
6 videos (Total 56 min), 6 readings, 2 quizzes
Video6 videos
Basics of Probability10m
Expected Value 13m
Monte Carlo Methods6m
Objects and References 11m
Mini-project Video9m
Reading6 readings
Mini-project Description10m
TTTBoard Class10m
Math Notes on Basic Probability10m
Math Notes on Expected Value10m
Practice Mini-project - Nim (Monte Carlo)10m
Practice Activity - The Monty Hall Problem10m
Quiz1 practice exercise
Homework 320m

4

Section
Clock
3 hours to complete

Combinatorics, generators, and debugging

This week, we will learn how to use combinatorics to solve problems....
Reading
6 videos (Total 68 min), 5 readings, 2 quizzes
Video6 videos
Enumeration10m
Permutations and Combinations13m
Combinatorics and Password Breaking 15m
Debugging18m
Mini-project Video5m
Reading5 readings
Mini-project Description10m
Math Notes on Enumeration10m
Math Notes on Permutations and Combinations10m
Practice Activity - Analyzing a Simple Dice Game10m
Practice Activity - Counting Game States10m
Quiz1 practice exercise
Homework 420m
4.8
Direction Signs

20%

started a new career after completing these courses
Briefcase

83%

got a tangible career benefit from this course
Money

50%

got a pay increase or promotion

Top Reviews

By JHMay 16th 2018

very wellmade assignments! that goes a long way!\n\nplotting seemed a bit superflous and not much learned.\n\nThank you professors!

By IBJun 12th 2017

Yay, no more peer grading! This course felt easier than intro2. Less fiddling with your programs and more about concepts.

Instructors

Scott Rixner

Professor
Computer Science

Joe Warren

Professor
Computer Science

Luay Nakhleh

Associate Professor
Computer Science; Biochemistry and Cell Biology

About 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....

About the Fundamentals of Computing Specialization

This Specialization covers much of the material that first-year Computer Science students take at Rice University. Students learn sophisticated programming skills in Python from the ground up and apply these skills in building more than 20 fun projects. The Specialization concludes with a Capstone exam that allows the students to demonstrate the range of knowledge that they have acquired in the Specialization....
Fundamentals of Computing

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.