VOOZH about

URL: https://www.coursera.org/learn/principles-of-computing-2

⇱ Principles of Computing (Part 2) | Coursera


Principles of Computing (Part 2)

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Principles of Computing (Part 2)

19,812 already enrolled

Included with

β€’

Learn more

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.8

365 reviews

Intermediate level
Some related experience required
2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
4.8

365 reviews

Intermediate level
Some related experience required
2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

4 assignments

Taught in English

Build your subject-matter expertise

This course is part of the Fundamentals of Computing Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 4 modules in 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.

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

What's included

11 videos6 readings1 assignment2 app items

11 videosβ€’Total 104 minutes
  • Introduction β€’3 minutes
  • The Importance of Searching β€’2 minutes
  • Generatorsβ€’8 minutes
  • Stacks and Queues β€’9 minutes
  • Inheritance β€’14 minutes
  • Grid Classβ€’13 minutes
  • Grid searchβ€’10 minutes
  • Mini-project Videoβ€’10 minutes
  • CodeSkulptor (optional video from our previous class)β€’11 minutes
  • Saving in CodeSkulptor (optional video from our previous class)β€’10 minutes
  • Beyond CodeSkulptor (optional video from our previous class)β€’15 minutes
6 readingsβ€’Total 60 minutes
  • Mini-project Descriptionβ€’10 minutes
  • Math Notes on Growth Rates of Functionsβ€’10 minutes
  • Math Notes on Grid Representationsβ€’10 minutes
  • Math Notes on Breadth-First Searchβ€’10 minutes
  • Practice Activity - Sorting stringsβ€’10 minutes
  • Practice Activity - Working with Distance Fieldsβ€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Homework 1β€’30 minutes
2 app itemsβ€’Total 120 minutes
  • Assignment: Zombie Apocalypseβ€’60 minutes
  • Assignment Submission Historyβ€’60 minutes

This week, we will explain the importance of recursion.

What's included

7 videos5 readings1 assignment1 app item

7 videosβ€’Total 79 minutes
  • The Importance of Recursion β€’4 minutes
  • Recursion β€’15 minutes
  • Binary Search β€’14 minutes
  • Visualizing Recursion β€’11 minutes
  • Recurrencesβ€’12 minutes
  • Reading Files β€’9 minutes
  • Mini-project Videoβ€’13 minutes
5 readingsβ€’Total 50 minutes
  • Mini-project Descriptionβ€’10 minutes
  • Math Notes on Recurrence Relationsβ€’10 minutes
  • Practice Activity - Recursionβ€’10 minutes
  • Practice Activity - Binary representations for numbersβ€’10 minutes
  • Practice Activity - Visualizing recurrencesβ€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Homework 2β€’30 minutes
1 app itemβ€’Total 60 minutes
  • Assignment: Word Wranglerβ€’60 minutes

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.

What's included

6 videos6 readings1 assignment1 app item

6 videosβ€’Total 51 minutes
  • The Importance of Trees β€’2 minutes
  • Lambda β€’6 minutes
  • Treesβ€’13 minutes
  • Illustration of Trees β€’7 minutes
  • Minimaxβ€’10 minutes
  • Mini-project Videoβ€’12 minutes
6 readingsβ€’Total 60 minutes
  • Mini-project Descriptionβ€’10 minutes
  • TTTBoard Classβ€’10 minutes
  • Math Notes on Treesβ€’10 minutes
  • Math Notes on Minimaxβ€’10 minutes
  • Practice Activity - Nim (Tree search)β€’10 minutes
  • Practice Activity - Drawing treesβ€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Homework 3β€’30 minutes
1 app itemβ€’Total 60 minutes
  • Assignment: Tic-Tac-Toe (Minimax)β€’60 minutes

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.

What's included

7 videos4 readings1 assignment1 app item

7 videosβ€’Total 71 minutes
  • The Importance of Modeling β€’3 minutes
  • Assertions β€’7 minutes
  • Invariantsβ€’13 minutes
  • Modeling β€’12 minutes
  • Software Development β€’15 minutes
  • Mini-project Videoβ€’12 minutes
  • What is Algorithmic Thinking? β€’9 minutes
4 readingsβ€’Total 40 minutes
  • The Basics of the Fifteen Puzzleβ€’10 minutes
  • Mini-project Descriptionβ€’10 minutes
  • Math Notes on Invariantsβ€’10 minutes
  • Practice Activity - Solitaire Tantrixβ€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Homework 4β€’30 minutes
1 app itemβ€’Total 60 minutes
  • Assignment: The Fifteen Puzzleβ€’60 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructors

Instructor ratings
4.9 (19 ratings)
Rice University
11 Coursesβ€’421,267 learners

Explore more from Software Development

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    84.69%

  • 4 stars

    11.20%

  • 3 stars

    2.73%

  • 2 stars

    0.27%

  • 1 star

    1.09%

Showing 3 of 365

AF
Β·

Reviewed on Dec 7, 2017

Another fantastic course from the team at Rice University. The coursework is interesting and challenging, and I really feel I have learned a lot.

OK
Β·

Reviewed on May 12, 2019

Mini-projects hard and makes you wanna think all aspects which is a good programming practice. However, I believe theoretical depth is missing.

RH
Β·

Reviewed on Feb 24, 2019

Great course, I hope for more of this kind of courses. Invaluable skills gained from this course. High praise to all the professors. Thank You Very Much.

Frequently asked questions

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

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.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,