University of Colorado Boulder - Abstraction, Problem Decomposition, and Functions
- Offered byCoursera
Abstraction, Problem Decomposition, and Functions at Coursera Overview
Duration | 17 hours |
Start from | Start Now |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Beginner |
Official Website | Explore Free Course |
Credential | Certificate |
Abstraction, Problem Decomposition, and Functions at Coursera Highlights
- Earn a shareable certificate upon completion.
- Flexible deadlines according to your schedule.
Abstraction, Problem Decomposition, and Functions at Coursera Course details
- This course is the third course in the specialization exploring both computational thinking and beginning C programming. Rather than trying to define computational thinking, we'll just say it's a problem-solving process that includes lots of different components. Most people have a better understanding of what beginning C programming means!
- This course assumes you have the prerequisite knowledge from the previous two courses in the specialization. You should make sure you have that knowledge, either by taking those previous courses or from personal experience, before tackling this course. The required prerequisite knowledge is listed below.
- Prerequisite computational thinking knowledge: Algorithms and procedures and data collection, analysis, and representation
- Prerequisite C knowledge: Data types, variables, constants; STEM computations; selection; and iteration (looping)
- Throughout this course the computational thinking topics you'll explore are abstraction, which is deciding which details matter for the problem you're trying to solve, and problem decomposition, which is about breaking large problems into smaller sub-problems to handle complexity. For the programming topics, you'll continue building on your C knowledge by practicing using arrays, which let you store multiple values in a single variable, and strings, which are arrays of characters. You'll also learn how to implement functions, which are the mechanism we use for problem decomposition in our C programs.
- Module 1: Learn about arrays as a way to store multiple values in a single variable
- Module 2: Discover how we store and process strings (arrays of characters)
- Module 3: Explore abstraction and problem decomposition
- Module 4: Use functions to implement problem decomposition in your code
Abstraction, Problem Decomposition, and Functions at Coursera Curriculum
Arrays
Course Introduction
Navigating a Coursera Course
Meet the Instructor (optional)
Lesson Introduction
Intro to Arrays
Initializing an Array
Why We Start at Zero
How Big Is an Array?
Run-Time Array Size with Pointers
Processing an Array
Multi-Dimensional Arrays
Matrix Multiplication
Exercise 1: Min and Max
Arrays Lecture Code
An Array of Cards Solution
Strings
Lesson Introduction
String Basics
String Length
Searching a String
String Input
Converting Strings to Numbers
CSV String Processing
The Caesar Cipher Revisited
Exercise 2: Full Caesar Cipher
Strings Lecture Code
Junior Codebreaker Solution
Abstraction and Problem Decomposition
Lesson Introduction
Rock and Roll
What Is a Chair?
Network Layers
Abstraction in Code
Lesson Introduction
Going Green
Building a Chair
Designing a Car
Abstraction Exercise: What's an Apple?
Abstraction Topic Understanding Check
Abstraction and Problem Decomposition Practice Quiz
Abstraction and Problem Decomposition Graded Quiz
Functions
Lesson Introduction
Intro to Functions
Returning Data From a Function
Passing Data Into a Function
Getting Valid User Input
Changing Parameter Values
Nesting and Boxes Revisited
Finishing Up
Exercise 3: Functional Caesar Cipher
Functions Lecture Code
Height Statisticamator Solution