- Level Foundation
- Duration 18 hours
- Course by University of Pennsylvania
-
Offered by
About
Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer. But you don't need to be a computer scientist to think like a computer scientist! In fact, we encourage students from any field of study to take this course. Many quantitative and data-centric problems can be solved using computational thinking and an understanding of computational thinking will give you a foundation for solving problems that have real-world, social impact. In this course, you will learn about the pillars of computational thinking, how computer scientists develop and analyze algorithms, and how solutions can be realized on a computer using the Python programming language. By the end of the course, you will be able to develop an algorithm and express it to the computer by writing a simple Python program. This course will introduce you to people from diverse professions who use computational thinking to solve problems. You will engage with a unique community of analytical thinkers and be encouraged to consider how you can make a positive social impact through computational thinking.Modules
1.1 Introduction
1
Assignment
- Learning Style Preference Survey
1
Videos
- 1.1 Introduction
1.2 Decomposition
1
Assignment
- 1.2 Decomposition
1
Discussions
- Applying Decomposition in Your Life
1
Videos
- 1.2 Decomposition
1.3 Pattern Recognition
1
Assignment
- 1.3 Pattern Recognition
1
Discussions
- Applying Pattern Recognition in Your Life
1
Videos
- 1.3 Pattern Recognition
1.4 Data Representation and Abstraction
1
Assignment
- 1.4 Data Representation and Abstraction
1
Discussions
- Applying Data Representation and Abstraction in Your Life
1
Videos
- 1.4 Data Representation and Abstraction
1.5 Algorithms
1
Assignment
- 1.5 Algorithms
1
Peer Review
- Applying Computational Thinking in Your Life
1
Discussions
- Applying Algorithms in Your Life
1
Videos
- 1.5 Algorithms
1.6 Case Studies
1
Peer Review
- Project Part 1: Applying the Pillars of Computational Thinking
1
Videos
- 1.6 Case Studies
1
Readings
- Opt-in to Penn Engineering Online Communications
2.1 Finding the Largest Value
1
Assignment
- 2.1 Finding the Largest Value
1
Peer Review
- Finding Minimum Values
1
Videos
- 2.1 Finding the Largest Value
2.2 Linear Search
1
Assignment
- 2.2 Linear Search
1
Videos
- 2.2 Linear Search
2.3 Algorithmic Complexity
1
Assignment
- 2.3 Algorithmic Complexity
1
Videos
- 2.3 Algorithmic Complexity
2.4 Binary Search
1
Assignment
- 2.4 Binary Search
1
Peer Review
- Binary Search
1
Videos
- 2.4 Binary Search
2.5 Brute Force Algorithms
1
Assignment
- 2.5 Brute Force Algorithms
1
Videos
- 2.5 Brute Force Algorithms
2.6 Greedy Algorithms
1
Assignment
- 2.6 Greedy Algorithms
1
Peer Review
- Greedy vs. Brute Force Algorithms
1
Videos
- 2.6 Greedy Algorithms
2.7 Case Studies
1
Peer Review
- Project Part 2: Describing Algorithms Using a Flowchart
1
Videos
- 2.7 Case Studies
3.1 A History of the Computer
1
Assignment
- 3.1 A History of the Computer
1
Videos
- 3.1 A History of the Computer
3.2 Intro to the von Neumann Architecture
1
Assignment
- 3.2 Intro to the von Neumann Architecture
1
Videos
- 3.2 Intro to the von Neumann Architecture
3.3 Von Neumann Architecture Data
1
Assignment
- 3.3 von Neumann Architecture Data
1
Peer Review
- von Neumann Architecture Data & Instructions
1
Videos
- 3.3 von Neumann Architecture Data
3.4 Von Neumann Architecture Control Structures
1
Assignment
- 3.4 von Neumann Architecture Control Flow
1
Peer Review
- (Optional) von Neumann Architecture Control Instructions
1
Videos
- 3.4 von Neumann Architecture Control Flow
3.5 Expressing Algorithms in Pseudocode
1
Assignment
- 3.5 Expressing Algorithms in Pseudocode
2
Peer Review
- Reading & Writing Pseudocode
- (Optional) Understanding Pseudocode
1
Videos
- 3.5 Expressing Algorithms in Pseudocode
3.6 Case Studies
1
Peer Review
- Project Part 3: Writing Pseudocode
1
Videos
- 3.6 Case Studies
4.1 Introduction to Python
1
Videos
- 4.1 Introduction to Python
3
Readings
- Programming on the Coursera Platform
- Python Playground
- Opt-in to Penn Engineering Online Communications
4.2 Variables
1
Assignment
- 4.2 Variables
1
Videos
- 4.2 Variables
2
Readings
- Variables Programming Activity
- Solution to Variables Programming Activity
4.3 Conditional Statements
1
Assignment
- 4.3 Conditional Statements
1
Videos
- 4.3 Conditional Statements
2
Readings
- Conditionals Programming Activity
- Solution to Conditionals Programming Activity
4.4 Lists
2
Assignment
- 4.4 Lists
- Lists Programming Assignment
1
Videos
- 4.4 Lists
1
Readings
- Solution to Lists Programming Assignment
4.5 Iteration
2
Assignment
- 4.5 Iteration
- Loops Programming Assignment
1
Videos
- 4.5 Iteration
1
Readings
- Solution to Loops Programming Assignment
4.6 Functions
3
Assignment
- 4.6 Functions
- Functions Programming Assignment
- (Optional) Challenge Programming Assignment
1
Videos
- 4.6 Functions
2
Readings
- Solution to Functions Programming Assignment
- Solution to Challenge Programming Assignment
4.7 Classes and Objects
2
Assignment
- 4.7 Classes and Objects
- Classes and Objects Programming Assignment
1
Videos
- 4.7 Classes and Objects
1
Readings
- Solution to Classes and Objects Programming Assignment
4.8 Case Studies
1
Assignment
- Project Part 4: Implementing the Solution in Python
1
Videos
- 4.8 Case Studies
1
Readings
- Solution to Project Part 4
4.9 Course Conclusion
1
Videos
- 4.9 Course Conclusion
Auto Summary
Discover "Computational Thinking for Problem Solving," an engaging course from Coursera that introduces you to the pillars of computational thinking and Python programming. Ideal for all fields, this foundational course spans 1080 minutes and explores algorithm development and real-world problem-solving. Join a diverse community and choose from Starter, Professional, or Paid subscriptions to enhance your analytical skills and make a positive social impact.

Susan Davidson