College: Dartmouth
Certificate Price: $49
Length: 7 Weeks
Instructors: Petra Bonfert-Taylor , Rémi Sharrock

C Programming: Modular Programming and Memory Management

In this course, part of the C Programming with Linux Professional Certificate program, you will be introduced to the concept of modular programming: that is, dividing up more complex tasks into manageable pieces.

Within moments you will be coding hands-on in a new browser tool developed for this course, receiving instant feedback on your code. No need to install anything!

You will learn how to write your own functions (just like functions in mathematics for example). You will also gain insight into a computer’s architecture and learn how its memory is organized.

Given the vast amount of memory computers have these days, how does your program remember where a certain variable is stored? This brings about the important topic of how memory is efficiently addressed inside a computer, and with it, the topic of pointers.

Pointers are often considered the most difficult part and main struggle for C program developers. We will introduce you to this central topic with our novel and innovative visualization tools and show you precisely how pointers work. No need to struggle!

The programming concepts you will gain in this course are foundational to any programming language.

By the end of this short course, you willhave reached the third milestonein the C Programming with Linux Professional Certificate program, unlocking the door to a career in computer engineering.

This course has received financial support from the Patrick & Lina Drahi Foundation.

Similar Courses

Computing for Data Analysis

The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data. The goal of this course, part of the Analytics: Essential Tools and Methods MicroMasters program,…

Computer Hardware and Operating Systems

This is a self-paced course that provides an Introduction to Computer Hardware and Operating Systems This course will cover topics including: Fundamentals of system hardware Introduction to OS concepts OS…
C Programming: Advanced Data Types

C Programming: Advanced Data Types

In this course, part of the C Programming with Linux Professional Certificate program, you will define your own data types in C, and use the newly created types to more…
Saving Schools

Saving Schools

This course seeks to answer the question: how did a school system, once the envy of the world, stumble so that the performance in math, science, and reading of U.S.…
The Quantum World

The Quantum World

Welcome to The Quantum World! This course is an introduction to quantum chemistry: the application of quantum theory to atoms, molecules, and materials. You’ll learn about wavefunctions, probability, special notations,…
China and Communism

China and Communism

How did the Communists conquer China? What role does culture play? What are the successes and failures of the Chinese Communist Party after seizing power in 1949? What constitutes liberation?…
Big Data and Education

Big Data and Education

Online and software-based learning tools have been used increasingly in education. This movement has resulted in an explosion of data, which can now be used to improve educational effectiveness and…
Lending

Lending, Crowdfunding, and Modern Investing

In this course, you’ll learn the foundational theories behind robo-advising, crowdfunding, and marketplace lending, and how to apply these theories to optimize your investments. Professor David Musto of the Wharton…