Principles of Computing (Part 1)

  • 4.7
Approx. 19 hours to complete

Course Summary

Learn the principles of computing with this introductory course. Discover the fundamentals of programming and algorithms to build your skills in problem-solving and computation.

Key Learning Points

  • Gain a strong foundation in programming and computational thinking
  • Learn algorithms and problem-solving techniques
  • Develop skills in data structures and basic data analysis

Job Positions & Salaries of people who have taken this course might have

    • USA: $75,000 - $130,000
    • India: ₹600,000 - ₹1,500,000
    • Spain: €30,000 - €50,000
    • USA: $75,000 - $130,000
    • India: ₹600,000 - ₹1,500,000
    • Spain: €30,000 - €50,000

    • USA: $50,000 - $100,000
    • India: ₹300,000 - ₹1,000,000
    • Spain: €20,000 - €40,000
    • USA: $75,000 - $130,000
    • India: ₹600,000 - ₹1,500,000
    • Spain: €30,000 - €50,000

    • USA: $50,000 - $100,000
    • India: ₹300,000 - ₹1,000,000
    • Spain: €20,000 - €40,000

    • USA: $55,000 - $100,000
    • India: ₹250,000 - ₹800,000
    • Spain: €20,000 - €35,000

Related Topics for further study


Learning Outcomes

  • Develop problem-solving skills using computational thinking
  • Apply programming concepts to solve basic problems
  • Design and implement basic algorithms and data structures

Prerequisites or good to have knowledge before taking this course

  • Basic computer skills
  • Familiarity with high school level algebra and geometry

Course Difficulty Level

Beginner

Course Format

  • Online
  • Self-paced
  • Video lectures
  • Assignments
  • Quizzes

Similar Courses

  • Programming for Everybody (Getting Started with Python)
  • Java Programming: Solving Problems with Software
  • Algorithms, Part I

Related Education Paths


Notable People in This Field

  • Professor, Harvard University
  • Founder, deeplearning.ai

Related Books

Description

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.

Outline

  • 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

Summary of User Reviews

Read reviews for Principles of Computing 1 course on Coursera. Users have given positive feedback on the course content and structure. Many found it helpful for beginners to learn about the basic principles of computing.

Pros from User Reviews

  • course content is well-structured and easy to follow
  • instructors explain concepts clearly
  • assignments and quizzes are challenging but manageable
  • peer grading system encourages interaction and collaboration among students

Cons from User Reviews

  • some users found the course to be too basic and not challenging enough
  • lectures can be dry and boring
  • feedback from peer graders can be inconsistent
  • some technical issues with the platform and assignments
English
Available now
Approx. 19 hours to complete
Scott Rixner, Joe Warren, Luay Nakhleh
Rice University
Coursera

Instructor

Scott Rixner

  • 4.7 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses