Computational Thinking with Beginning C Programming Specialization
Instructor: Dr. Tim "Dr. T" Chamillard
Skills you'll gain
Specialization - 4 course series
Learners build a variety of C programs using the concepts covered in the specialization courses. They also apply computational thinking ideas in a number of exercises and topic understanding checks in algorithms; data collection, analysis, and representation; abstraction; automation; simulation; and parallelization.
You may have heard lots of talk about computational thinking recently, but if you ask 10 different people what it is you’ll probably get 10 different answers. Rather than trying to define computational thinking, we’ll just say it’s a problem-solving process that includes lots of different components. In this course, we’ll explore algorithms and data collection. Most people have a better understanding of what beginning C programming means! You’ll start learning how to develop C programs in this course by writing your first C program; learning about data types, variables, and constants; and honing your C programming skills by implementing a variety of STEM computations. This course doesn't assume you have any previous programming experience, so don't worry if you've never written code before. If that all sounds interesting to you, go ahead and jump into the course! Caution: Beginning (assuming no prior programming knowledge) is not the same as easy (not hard to do). Learning to program IS hard to do, especially since the courses in this specialization are built from a freshman-level college course. Meeting the course challenges while you master the material will be rewarding to you, but doing that will require hard work and maybe even a few expletives along the way. Module 1: Learn about algorithms and write your first C program Module 2: Discover how we store data in our programs Module 3: Explore how we use data collection to solve problems and answer questions Module 4: Practice writing C programs to implement STEM computations
This course assumes you have the prerequisite knowledge from the previous course in the specialization. You should make sure you have that knowledge, either by taking that previous course or from personal experience, before tackling this course. The required prerequisite knowledge is listed below. Prerequisite computational thinking knowledge: Algorithms and procedures, data collection Prerequisite C knowledge: Data types, variables, constants, and STEM computations Throughout this course you'll learn about data analysis and data representation, which are computational thinking techniques that help us understand what sets of data have to tell us. For the programming topics, you'll continue building on your C knowledge by implementing selection, which lets us decide which code to execute, and iteration (or looping), which lets us repeat chunks of code multiple times. Module 1: Learn about some common statistics we can calculate as we analyze sets of data Module 2: Discover how we make decisions in our code Module 3: Explore the various ways we can represent sets of data Module 4: Use iteration (looping) to repeat actions in your code
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
This course assumes you have the prerequisite knowledge from the previous three 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; data collection, analysis, and representation; abstraction; and problem decomposition Prerequisite C knowledge: Data types, variables, constants; STEM computations; selection; iteration (looping); arrays; strings; and functions Throughout this course the computational thinking topics you'll explore are: automation, simulation, parallelization, and algorithm analysis.For the programming topics, you'll continue building on your C knowledge by implementing file input and output in your programs and by exploring pointers in more depth. Module 1: Learn how to read, write, and append to files. Explore automation Module 2: Discover the benefits of simulation and parallelization Module 3: Learn how to perform algorithm analysis to quantify algorithm complexity Module 4: Explore how to use pointers in more depth
Data Analysis and Representation, Selection and Iteration
Abstraction, Problem Decomposition, and Functions
Simulation, Algorithm Analysis, and Pointers
©2025 ementorhub.com. All rights reserved