Principles of Computing (Part 2)

Product type

Principles of Computing (Part 2)

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 introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects 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 2 of this course, the programming portion of the class w…

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, Computer Science, Computer Hardware, and Science.

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 introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects 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 2 of this course, the programming portion of the class will focus on concepts such as recursion, assertions, and invariants. The mathematical portion of the class will focus on searching, sorting, and recursive data structures. Upon completing this course, you will have a solid foundation in the principles of computation and programming. This will prepare you for the next course in the specialization, which will begin to introduce a structured approach to developing and analyzing algorithms. Developing such algorithmic thinking skills will be critical to writing large scale software and solving real world computational problems.

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 4 of 7 in the Fundamentals of Computing Specialization 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


Searching and Data Structures
This week, we will explain the importance of searching. We will also explore various data structures and learn about inheritance.


11 videos, 6 readings expand


  1. Video: Introduction
  2. Video: The Importance of Searching
  3. Video: Generators
  4. Video: Stacks and Queues
  5. Video: Inheritance
  6. Video: Grid Class
  7. Video: Grid search
  8. Video: Mini-project Video
  9. Reading: Mini-project Description
  10. LTI Item: Assignment Submission History
  11. Reading: Math Notes on Growth Rates of Functions
  12. Reading: Math Notes on Grid Representations
  13. Reading: Math Notes on Breadth-First Search
  14. Reading: Practice Activity - Sorting strings
  15. Reading: Practice Activity - Working with Distance Fields
  16. Video: CodeSkulptor (optional video from our previous class)
  17. Video: Saving in CodeSkulptor (optional video from our previous class)
  18. Video: Beyond CodeSkulptor (optional video from our previous class)

Graded: Homework 1
Graded: Assignment: Zombie Apocalypse

WEEK 2


Recursion
This week, we will explain the importance of recursion.


7 videos, 5 readings expand


  1. Video: The Importance of Recursion
  2. Video: Recursion
  3. Video: Binary Search
  4. Video: Visualizing Recursion
  5. Video: Recurrences
  6. Video: Reading Files
  7. Video: Mini-project Video
  8. Reading: Mini-project Description
  9. Reading: Math Notes on Recurrence Relations
  10. Reading: Practice Activity - Recursion
  11. Reading: Practice Activity - Binary representations for numbers
  12. Reading: Practice Activity - Visualizing recurrences

Graded: Homework 2
Graded: Assignment: Word Wrangler

WEEK 3


Trees
This week, we will explain the importance of trees. We will also explore how to set up game trees so that we can efficiently search them.


6 videos, 6 readings expand


  1. Video: The Importance of Trees
  2. Video: Lambda
  3. Video: Trees
  4. Video: Illustration of Trees
  5. Video: Minimax
  6. Video: Mini-project Video
  7. Reading: Mini-project Description
  8. Reading: TTTBoard Class
  9. Reading: Math Notes on Trees
  10. Reading: Math Notes on Minimax
  11. Reading: Practice Activity - Nim (Tree search)
  12. Reading: Practice Activity - Drawing trees

Graded: Homework 3
Graded: Assignment: Tic-Tac-Toe (Minimax)

WEEK 4


Modeling, Assertions, and Invariants
This week, we will explain the importance of modeling. We will also explore how to use assertions and invariants to ensure that our models are always consistent and correct.


7 videos, 4 readings expand


  1. Video: The Importance of Modeling
  2. Video: Assertions
  3. Video: Invariants
  4. Video: Modeling
  5. Video: Software Development
  6. Reading: The Basics of the Fifteen Puzzle
  7. Video: Mini-project Video
  8. Reading: Mini-project Description
  9. Reading: Math Notes on Invariants
  10. Reading: Practice Activity - Solitaire Tantrix
  11. Video: What is Algorithmic Thinking?

Graded: Homework 4
Graded: Assignment: The Fifteen Puzzle
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.