- Level Foundation
- المدة 17 ساعات hours
- الطبع بواسطة University of Colorado System
-
Offered by
عن
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الوحدات
Getting Started
3
Videos
- Course Introduction
- Navigating a Coursera Course
- Meet the Instructor (optional)
Arrays
- An Array of Cards
9
Videos
- 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
3
Readings
- Exercise 1: Min and Max
- Arrays Lecture Code
- An Array of Cards Solution
Strings
- Junior Codebreaker
8
Videos
- Lesson Introduction
- String Basics
- String Length
- Searching a String
- String Input
- Converting Strings to Numbers
- CSV String Processing
- The Caesar Cipher Revisited
3
Readings
- Exercise 2: Full Caesar Cipher
- Strings Lecture Code
- Junior Codebreaker Solution
Abstraction
5
Videos
- Lesson Introduction
- Rock and Roll
- What Is a Chair?
- Network Layers
- Abstraction in Code
2
Readings
- Abstraction Exercise: What's an Apple?
- Abstraction Topic Understanding Check
Problem Decomposition
2
Assignment
- Abstraction and Problem Decomposition Practice Quiz
- Abstraction and Problem Decomposition Graded Quiz
4
Videos
- Lesson Introduction
- Going Green
- Building a Chair
- Designing a Car
Functions
- Height Statisticamator
7
Videos
- 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
3
Readings
- Exercise 3: Functional Caesar Cipher
- Functions Lecture Code
- Height Statisticamator Solution
Finishing Up
1
Videos
- Finishing Up
Auto Summary
Enhance your computational thinking and C programming skills with "Abstraction, Problem Decomposition, and Functions," a foundational course in the IT & Computer Science domain. This course is the third installment in a specialized series designed to deepen your understanding of computational thinking and beginner-level C programming. Guided by an expert instructor from Coursera, you will delve into core concepts such as abstraction and problem decomposition. Abstraction involves identifying the crucial details necessary for solving a problem, while problem decomposition focuses on breaking down complex problems into manageable sub-problems. Building on your existing knowledge of algorithms, data collection, and basic C programming (including data types, variables, and iteration), this course will expand your skill set. You will learn to handle arrays for storing multiple values, process strings (arrays of characters), and implement functions as a method of problem decomposition in C programs. The course is structured into four comprehensive modules: 1. Master the use of arrays for efficient data storage. 2. Understand and manipulate strings within your programs. 3. Implement abstraction and break down problems effectively. 4. Develop and utilize functions to streamline your code. With a duration of 1020 hours, this course offers flexible subscription options, including Starter and Professional plans. It is ideal for individuals seeking to strengthen their foundational knowledge and problem-solving abilities in computational thinking and C programming. Join now and take your first step towards mastering the art of computational problem-solving and efficient programming!

Dr. Tim "Dr. T" Chamillard