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

Data Structures in C (Coursera) Coursera
University of Michigan

Data Structures in C (Coursera)

Covering dynamic memory allocation for optimizing memory utilization, Data Structures in C explores ways to handle multiple variables collectively. In this course, you’ll delve into the central concept of pointers for managing the storage and retrieval of memory. Explore and understand structures, a C-specific user-defined data type combining assorted data items.

Aug 31st 2026
4 Weeks
C Programming: Getting Started - 1 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

C Programming: Getting Started - 1 (Coursera)

Start learning one of the most powerful and widely used programming languages: C. Within moments you will be coding hands-on in a browser tool that will provide instant feedback on your code. The C programming language is one of the most stable and popular programming languages in the world. It helps to power your smartphone, your car's navigation system, robots, drones, trains, and almost all electronic devices. C is used in any circumstances where speed and flexibility are important, such as in embedded systems or high-performance computing. In this course, you will get started with C and learn how to write your first programs, how to make simple computations and print the results to the screen, how to store values in variables and how to repeat instructions using loops.

Aug 31st 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.

Aug 31st 2026
3 Weeks
Autonomous Aerospace Systems (Coursera) Coursera
University of Naples Federico II

Autonomous Aerospace Systems (Coursera)

The course aims to provide the knowledge needed to design and develop efficient driving and navigation solutions for autonomous vehicles. Driving can be strategic or tactical while navigation is the function that provides information about the position, speed and orientation of the vehicle. It is made by integrating measurement from different sources, such as sensors and receivers.

Aug 31st 2026
5-12 Weeks
Computational Thinking for K-12 Educators: Sequences and Loops (Coursera) Coursera
University of California, San Diego

Computational Thinking for K-12 Educators: Sequences and Loops (Coursera)

How do we give instructions to a computer? Isn't programming hard? Not really! Whether it's giving someone directions to a nearby store or writing out some dance moves we frequently exhibit aspects of computational thinking in our everyday lives! This class teaches the first key concepts of programming -- sequences of instructions and basic counted repetition of instructions.

Aug 26th 2026
5-12 Weeks
Programming in C (Coursera) Coursera
University of Michigan

Programming in C (Coursera)

C remains one of the most popular languages thanks to its portability and efficiency, and laying the groundwork for many programming languages like C++, Java, JavaScript, and Python. In this course, you’ll dive deeper into the syntax of C, learning the functions of the language and how to properly apply them within an algorithm. Identify types, operators, and expressions within C to build recursive functions and examine the role of the C preprocessor in achieving software portability.

Aug 31st 2026
4 Weeks
Fundamentals of Robotics & Industrial Automation (Coursera) Coursera
L&T EduTech

Fundamentals of Robotics & Industrial Automation (Coursera)

The "Fundamentals of Robotics & Industrial Automation" course is tailored to provide a comprehensive understanding of essential concepts and practical skills necessary for excelling in the field of collaborative robotics. Through three dynamic modules, participants will explore the intricacies of sensors & transducers in machine tools & robots, servo systems, and interfacing and simulation techniques.

Aug 31st 2026
3 Weeks
Building Objects in C (Coursera) Coursera
University of Michigan

Building Objects in C (Coursera)

In this course, learn how Python was built in C and, by extension, languages like Java and JavaScript. Review object-oriented programming syntax from several languages and use your knowledge of C to build a library that integrates high-level data structures like strings, lists, and dictionaries. Learn how to make your program run as efficiently as possible by covering memory allocation, de-allocation, and object lifecycle.

Aug 31st 2026
5-12 Weeks
Programación en Python (Coursera) Coursera
Universidad de los Andes

Programación en Python (Coursera)

¡Te damos la bienvenida al curso de Programación en Python de la Universidad de los Andes! El propósito de este curso es ofrecerte un ambiente interactivo para que desarrolles tus habilidades de pensamiento computacional, aprendas a programar en el lenguaje Python y te entrenes en la resolución de problemas utilizando un computador. La estrategia pedagógica empleada es el aprendizaje activo basado en casos.

Aug 31st 2026
4 Weeks
C Programming: Language Foundations - 2 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

C Programming: Language Foundations - 2 (Coursera)

In this course you will learn to use logical statements and arrays in C. Logical statements are used for decision-making with follow-up instructions, based on conditions you define. Arrays are used to store, keep track of, and organize larger amounts of data. You will furthermore implement some fundamental algorithms to search and sort data.

Aug 31st 2026
3 Weeks
Linux Basics: The Command Line Interface - 6 (Coursera) Coursera
Institut Mines-Telecom,Dartmouth College

Linux Basics: The Command Line Interface - 6 (Coursera)

This course will introduce you to Linux, a powerful operating system used by most professional developers! Why add Linux to your C programming skills? Most people use Linux without knowing it! Whether you use a smartphone, search the web, or use an ATM, each time Linux is involved somewhere in the background. It is the most used operating system for embedded devices and high-performance servers. It is also the most common operating system used by developers to create software applications.

Aug 31st 2026
3 Weeks