Principles of Computing (Part 2)

  • 4.8
Approx. 16 hours to complete

Course Summary

This course teaches the fundamental principles of computing, including algorithms, data structures, and simulation.

Key Learning Points

  • Learn about the basics of algorithms and data structures
  • Understand how to simulate various systems using computational methods
  • Get hands-on experience through programming assignments

Related Topics for further study


Learning Outcomes

  • Understand the fundamentals of computing
  • Develop problem-solving skills through programming assignments
  • Apply computational thinking to various domains

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge
  • Mathematical background

Course Difficulty Level

Intermediate

Course Format

  • Online self-paced
  • Video lectures
  • Programming assignments
  • Quizzes

Similar Courses

  • Introduction to Computer Science
  • Data Structures and Algorithms
  • Computational Thinking for Problem Solving

Related Education Paths


Notable People in This Field

  • Creator of jQuery
  • Professor at MIT

Related Books

Description

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.

Outline

  • Searching and Data Structures
  • Introduction
  • The Importance of Searching
  • Generators
  • Stacks and Queues
  • Inheritance
  • Grid Class
  • Grid search
  • Mini-project Video
  • CodeSkulptor (optional video from our previous class)
  • Saving in CodeSkulptor (optional video from our previous class)
  • Beyond CodeSkulptor (optional video from our previous class)
  • Mini-project Description
  • Math Notes on Growth Rates of Functions
  • Math Notes on Grid Representations
  • Math Notes on Breadth-First Search
  • Practice Activity - Sorting strings
  • Practice Activity - Working with Distance Fields
  • Homework 1
  • Recursion
  • The Importance of Recursion
  • Recursion
  • Binary Search
  • Visualizing Recursion
  • Recurrences
  • Reading Files
  • Mini-project Video
  • Mini-project Description
  • Math Notes on Recurrence Relations
  • Practice Activity - Recursion
  • Practice Activity - Binary representations for numbers
  • Practice Activity - Visualizing recurrences
  • Homework 2
  • Trees
  • The Importance of Trees
  • Lambda
  • Trees
  • Illustration of Trees
  • Minimax
  • Mini-project Video
  • Mini-project Description
  • TTTBoard Class
  • Math Notes on Trees
  • Math Notes on Minimax
  • Practice Activity - Nim (Tree search)
  • Practice Activity - Drawing trees
  • Homework 3
  • Modeling, Assertions, and Invariants
  • The Importance of Modeling
  • Assertions
  • Invariants
  • Modeling
  • Software Development
  • Mini-project Video
  • What is Algorithmic Thinking?
  • The Basics of the Fifteen Puzzle
  • Mini-project Description
  • Math Notes on Invariants
  • Practice Activity - Solitaire Tantrix
  • Homework 4

Summary of User Reviews

Discover the Principles of Computing 2 course on Coursera. Students love this course and find it to be a great way to learn more about the principles of computing. The course has received high ratings from users and has been praised for its engaging content and knowledgeable instructors.

Key Aspect Users Liked About This Course

Many users thought the course was well-structured and provided a great foundation for learning more about computing.

Pros from User Reviews

  • Engaging content
  • Knowledgeable instructors
  • Well-structured course
  • Great foundation for learning more about computing
  • Extensive resources available

Cons from User Reviews

  • Some users found the workload to be too heavy
  • Course may not be suitable for beginners
  • Course may be too technical for some users
  • Limited interaction with instructors
  • Some users found the quizzes and assignments to be too difficult
English
Available now
Approx. 16 hours to complete
Scott Rixner, Joe Warren, Luay Nakhleh
Rice University
Coursera

Instructor

Scott Rixner

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