Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Microcredential

Computational Thinking with Beginning C Programming

University of Colorado System via Coursera Specialization

Overview

This specialization is designed to let you explore computational thinking and beginning C programming topics, applying those concepts to develop solutions to a variety of practical problems.The first course assumes no programming experience, and throughout the 4 courses in the specialization you'll learn about both computational thinking and C programming. The material in the courses in the specialization is equivalent to our computational thinking course at UCCS.

Syllabus

Course 1: Algorithms, Data Collection, and Starting to Code
- This course starts you on your journey learning about computational thinking and beginning C programming. If you’d like to explore how we can interact with the world in a rigorous, computational way, and would also like to start learning to program, this is the course for you! 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

Course 2: Data Analysis and Representation, Selection and Iteration
- This course is the second 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 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

Course 3: Abstraction, Problem Decomposition, and Functions
- 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

Course 4: Simulation, Algorithm Analysis, and Pointers
- This course is the fourth and final 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 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

Courses

Taught by

Dr. Tim "Dr. T" Chamillard

Related Courses

Reviews

0.0 rating, based on 0 reviews

Start your review of Computational Thinking with Beginning C Programming

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free