Simulation, Algorithm Analysis, and Pointers (Coursera)

Simulation, Algorithm Analysis, and Pointers (Coursera)

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!

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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
Course 4 of 4 in the Computational Thinking with Beginning C Programming Specialization.

Syllabus

WEEK 1: File IO and Automation
WEEK 2: Simulation and Parallelization
WEEK 3: Algorithm Analysis
WEEK 4: Pointers

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

Related Courses

Identifying Patient Populations (Coursera) Coursera
University of Colorado System

Identifying Patient Populations (Coursera)

This course teaches you the fundamentals of computational phenotyping, a biomedical informatics method for identifying patient populations. In this course you will learn how different clinical data types perform when trying to identify patients with a particular disease or trait. You will also learn how to program different data manipulations and combinations to increase the complexity and improve the performance of your algorithms.

Sep 14th 2026
5-12 Weeks
Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Sep 28th 2026
5-12 Weeks
Problem Solving Using Computational Thinking (Coursera) Coursera
University of Michigan

Problem Solving Using Computational Thinking (Coursera)

Have you ever heard that computers "think"? Believe it or not, computers really do not think. Instead, they do exactly what we tell them to do. Programming is, "telling the computer what to do and how to do it." Before you can think about programming a computer, you need to work out exactly what it is you want to tell the computer to do. Thinking through problems this way is Computational Thinking. Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand.

Sep 14th 2026
5-12 Weeks
Real-Time Embedded Systems Concepts and Practices (Coursera) Coursera
University of Colorado Boulder

Real-Time Embedded Systems Concepts and Practices (Coursera)

This course can also be taken for academic credit as ECEA 5315, part of CU Boulder’s Master of Science in Electrical Engineering degree. Course Description: In this course, students will design and build a microprocessor-based embedded system application using a real-time operating system or RT POSIX extensions with Embedded Linux. The course focus is on the process as well as fundamentals of integrating microprocessor-based embedded system elements for digital command and control of typical embedded hardware systems.

Sep 14th 2026
4 Weeks
Writing, Running, and Fixing Code in C (Coursera) Coursera
Duke University

Writing, Running, and Fixing Code in C (Coursera)

Building on the course Programming Fundamentals, this course will teach you how to write code by first planning what your program should do—an important approach for novice and professional programmers. You will learn how to compile and run your program, and then how to test and debug it. This course builds on the Seven Steps you have already learned and provides a framework for systematically testing for problems and fixing them, so you can find and fix problems efficiently.

Sep 21st 2026
4 Weeks
Current-Mode Control (Coursera) Coursera
University of Colorado Boulder

Current-Mode Control (Coursera)

This is Course #4 in the Modeling and Control of Power Electronics course sequence. The course is focused on current-mode control techniques, which are very frequently applied in practical realizations of switched-mode. Practical advantages of peak current mode control are discussed, including built-in overcurrent protection, simpler and more robust dynamic responses, as well as abilities to ensure current sharing in parallel connected converter modules.

Sep 14th 2026
4 Weeks
Rebo-binario (Coursera) Coursera
Universidad Autónoma Metropolitana

Rebo-binario (Coursera)

Te damos la bienvenida al curso en línea Rebo-binario, un curso diseñado para incentivar el desarrollo de habilidades mentales relacionados al pensamiento computacional y creativo para la resolución de problemas y la reflexión crítica. Para lograr este cometido echamos mano de estrategias del pensamiento computacional y la creatividad como saberes para el uso y apropiación de herramientas digitales y tecnologías informáticas.

Sep 28th 2026
3 Weeks
Modeling Risk and Realities (Coursera) Coursera
University of Pennsylvania

Modeling Risk and Realities (Coursera)

Useful quantitative models help you to make informed decisions both in situations in which the factors affecting your decision are clear, as well as in situations in which some important factors are not clear at all. In this course, you can learn how to create quantitative models to reflect complex realities, and how to include in your model elements of risk and uncertainty.

Sep 21st 2026
4 Weeks
Modeling and Control of Single-Phase Rectifiers and Inverters (Coursera) Coursera
University of Colorado Boulder

Modeling and Control of Single-Phase Rectifiers and Inverters (Coursera)

This is Course #5 in the Modeling and Control of Power Electronics Specialization. The course is focused on modeling and control of grid-tied power electronics. Upon completion of the course, you will be able to understand, analyze, model, and design low-harmonic rectifiers and inverters interfacing dc loads or dc power sources, such as photovoltaic arrays, to the single-phase ac power grid.

Sep 14th 2026
3 Weeks
Python Fundamentals for Designers (Coursera) Coursera
University of Michigan

Python Fundamentals for Designers (Coursera)

Python Fundamentals for Designers is an introduction to programming using Python meant for students interested in how programming is applied to visual applications and design. The course introduces the foundations of programming through a visual and dynamic learning environment. You’ll cover the essential building blocks of Python programming, from basic syntax and data types to more advanced concepts like control structures, functions, and inputs/outputs.

Sep 21st 2026
5-12 Weeks