To support our site, Class Central may be compensated by some course providers.

  • Provider Coursera
  • Subject Algorithms and Data Structures
  • $ Cost Free Online Course (Audit)
  • Session Upcoming
  • Language English
  • Certificate Paid Certificate Available
  • Effort 7-10 hours a week
  • Start Date
  • Duration 5 weeks long

Taken this course? Share your experience with other students. Write review

Overview

Sign up to Coursera courses for free Learn how

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

Help Center

Most commonly asked questions about Coursera Coursera

Reviews for Coursera's Principles of Computing (Part 1)
4.7 Based on 29 reviews

  • 5 stars 72%
  • 4 stars 24%
  • 3 star 3%
  • 2 star 0%
  • 1 star 0%

Did you take this course? Share your experience with other students.

Write a review
  • 1
Gregor U
5.0 4 years ago
Gregor completed this course.
On the mathematical side, Principles of Computing covered arithmetic sums, basic functions in order to describe growth rates, basic probability and a bit of combinatorics. Some assignments focused on algorithms, including standard topics like searching and sorting. Breadth-first search was covered in a rather amusing assignment where you had to write logic for ‘humans’ that would make them avoid slowly moving ‘zombies’. Further, minimax was covered in a disappointingly short assignment that was merely a variation of a previous one, an AI for Tic-Tac-Toe. The assignments themselves were the highlight of the course, though, covering the logic behind games such as 2048, Cookie Clicker, Yahtzee, the just mentioned Tic-Tac-Toe (Monte Carlo and tree search), and the 15-puzzle. Overall, they helped solidify the concepts.

In my opinion it is one of the best-designed MOOCs in computer science you can take.
4 people found
this review helpful
Was this review helpful to you? Yes
David W
4.0 4 years ago
by David completed this course.
Disclaimer: The course has been split into a Part 1 and Part 2; I've completed Part 1 only at this point.

Building on their first course, Introduction to Interactive Programming in Python (IIPP), this class aims to set a higher standard of programming and conceptual understanding (of the role of certain math topics in programming, in particular) for students.

The class differs from IIPP in several respects. As mentioned above by Gregor, almost immediately students are introduced to math concepts like combinatorics, probability, and growth rates (although the topics a…
7 people found
this review helpful
Was this review helpful to you? Yes
Kilderkin K
5.0 3 years ago
by Kilderkin is taking this course right now, spending 10 hours a week on it and found the course difficulty to be medium.
A big step up from IIPP. Does a great job of starting to transition students from introductory, highly guided projects toward more independent research and experimental exploration of the scientific underpinnings of coding with Python. The homework (== quiz from IIPP) continues to build on the lectures in preparation for the weekly mini-project. There is no longer any UI component to the assignment, instead to focus is on problem solving methodologies using mathematics, statistics, and probability. I havent taken a math course in 20 years, so I had to spend a couple of extra hours per week…
9 people found
this review helpful
Was this review helpful to you? Yes
Boboyang B
5.0 a year ago
by Boboyang completed this course, spending 20 hours a week on it and found the course difficulty to be hard.


如果要评价这门课,最恰当的应该是这门课主讲Scott在课程结束时的一句话:“It is difficult but fun. In fact, things that are worthwhile often are difficult."

这门课还有一些细节让人觉得很心动,这像极了某些经典游戏里的体验。比如每次的homework之前都会有一些很touching的句子,而且跟当周的课程内容很贴切。像第一周是关于如何为Cookie Clicker这个游戏选择最佳策略的,那周homework前的句子就是:"I arise in the morning torn between a desire to improve the world and a desire to enjoy the world. This makes it hard to plan the day." E. B. White - author of Charlotte's Web

Was this review helpful to you? Yes
Tom K
5.0 a year ago
by Tom completed this course.
This course continues the high standard set by the first two courses in the sequence. Once again, the lectures and exercises provide just the right amount of practice to make the project of the week attainable. I cannot recommend this course highly enough. I've learned a lot about Python specific topics but I've also learned a lot about math. I had heard about Monte Carlo method but didn't really know how it was implemented. I'm moving on to the fourth course in the sequence from Rice University today. Get started today - you'll be glad that you did.
Was this review helpful to you? Yes
Danika C
5.0 4 years ago
by Danika is taking this course right now.
1 person found
this review helpful
Was this review helpful to you? Yes
Nikita I
5.0 4 years ago
by Nikita completed this course.
1 person found
this review helpful
Was this review helpful to you? Yes
Andrei D
5.0 3 years ago
by Andrei completed this course.
1 person found
this review helpful
Was this review helpful to you? Yes
Pharmacist.noha P
5.0 3 years ago
by Pharmacist.noha is taking this course right now.
1 person found
this review helpful
Was this review helpful to you? Yes
Alex I
3.0 2 years ago
Alex completed this course.
1 person found
this review helpful
Was this review helpful to you? Yes
Raphael F
5.0 2 years ago
Raphael completed this course.
Was this review helpful to you? Yes
Dhawal S
5.0 4 years ago
by Dhawal completed this course, spending 5 hours a week on it and found the course difficulty to be medium.
Was this review helpful to you? Yes
Rafeh Q
5.0 3 years ago
by Rafeh is taking this course right now.
Was this review helpful to you? Yes
Bhuvan N
4.0 3 years ago
by Bhuvan completed this course, spending 10 hours a week on it and found the course difficulty to be medium.
Was this review helpful to you? Yes
Mark B
5.0 3 years ago
by Mark completed this course.
Was this review helpful to you? Yes
Scott O
4.0 3 years ago
by Scott completed this course.
Was this review helpful to you? Yes
M S
5.0 3 years ago
M completed this course.
Was this review helpful to you? Yes
Ines I
5.0 3 years ago
Ines completed this course.
Was this review helpful to you? Yes
Rafael P
4.0 3 years ago
Rafael completed this course.
Was this review helpful to you? Yes
Félix P
5.0 3 years ago
by Félix completed this course.
Was this review helpful to you? Yes
  • 1

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.