What you will learn
- Develop and debug code in the C programming language
- Discover the foundations of computer programming and Linux, manipulate the command line, manage processes, files and memory, and compile C code with Linux
- Interpret, analyze, and implement important computer algorithms
- Observe, manipulate, and optimize computer memory using pointers in the C programming language
Program Overview
In this C Programming with Linux Professional Certificate program of seven short courses, you will learn how to write, read and debug computer programs in the C programming language while also becoming familiar with the Linux operating system.
Beginners, even those without any programming experience, will be able to immediately start coding in C through our new coding tools within the web browser. No need to install anything!
Why learn C and not another programming language? Did you know that smartphones, your car’s navigation system, robots, drones, trains, and almost all electronic devices have some C-code running under the hood? C is used in any circumstance where speed and flexibility are important, such as in embedded systems or high-performance computing.
C is a foundational programming language taught at engineering schools around the world, and represents one of the building blocks of modern computer information technology. Invented in the 1970’s. It is still one of the most stable and popular programming languages in the world.
Along with the C programming language comes Linux, an essential operating system used by most computer scientists and developers. Linux powers almost all supercomputers and most of the servers worldwide as well as all android devices and most internet of things devices. This Professional Certificate Program will introduce the Linux command line and Linux tools for C programmers; both of which are must-have skills in today’s tech industries.
You will practice through guided exercises and short coding demonstrations, as well as more elaborate assignments.
Our dedicated international course team is excited to introduce you to the world of coding and guide you along your path to becoming a skilled C programmer and help you pursue a career in computer engineering.
This course has received financial support from the Patrick and Lina Drahi Foundation.
Courses
1C Programming: Getting Started
Course Details
2C Programming: Language Foundations
Course Details
3C Programming: Modular Programming and Memory Management
Course Details
4C Programming: Pointers and Memory Management
Course Details
5C Programming: Advanced Data Types
Course Details
6Linux Basics: The Command Line Interface
Course Details
7C Programming: Using Linux Tools and Libraries
Course Details
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
Program Endorsements
About this course
This seventh and final course in the C Programming with Linux Professional Certificate program will allow you to develop and use your C code within the Linux operating system. Using libraries in C is a fundamental concept when it comes to sharing code with others. In addition to compiling and linking, you will also learn how to pass arguments to an executable program.
Within moments you will be coding hands-on in a new browser tool developed for this course providing instant feedback on your code. No need to install anything!
As you embark on your future career as a programmer, you will be able to continue your coding adventures with professional coding environments used by C programmers around the world.
At the end of this short course, you will have completed 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.
What you’ll learn
- Use external libraries
- Build an application from multiple source files
- Automate the building process using makefiles
- Pass and use arguments to the main function
- Read from and write to files in C
- Use professional building tools within the Linux operating system

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
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.
In this course, you will learn the history of Linux and how its open source community was able to create today’s most advanced operating system. You will navigate the file system, use fundamental Linux commands and master the Linux command line interface. These are essential skills for every developer.
You will also be able to produce software written in C using the industry-standard tools on Linux.
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!
We are excited to introduce you to Linux and guide you along your path to becoming a skilled user of this powerful operating system!
At the end of this short course, you will reach the sixth milestone of 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.
What you’ll learn
- Situate on a timeline the key dates of Unix and Linux creation
- Use basic commands to control the Linux Operating System
- Navigate and manipulate the Linux Filesystem using the command line interface
- Manage the memory and processes running on Linux
- Compile and execute a C program on Linux

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
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 efficiently store and process your data.
Many programming languages provide a number of built-in data types to store things such as integers, decimals, and characters in variables, but what if you wanted to store more complex data?
Defining your own data types in C allows you to more efficiently store and process data such as a customer’s name, age and other relevant data, all in one single variable!
This course will provide a hands-on coding experience in a new browser tool developed for this course that will allow you to receive instant feedback on your code. No need to install anything! You will also gain experience with programming concepts that are foundational to any programming language.
At the end of this short course, you will reach the fifth milestone of 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.
What you’ll learn
- Define new data types (structures) to store multiple data items in one variable and create, initialize and modify variables of these new types
- Find and explain the memory usage of a structure and use pointers to structures and the direct and indirect member selection operators to access members of structures
- Create linked lists of structures with dynamic memory allocation at runtime
- Sort or search lined lists of structures

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
In this course, we will examine a key concept, foundational to any programming language: the usage of memory.
This course builds upon the basic concept of pointers, discussed in C Programming: Modular Programming and Memory Management, and introduces the more advanced usage of pointers and pointer arithmetic. Arrays of pointers and multidimensional arrays are addressed, and you will learn how to allocate memory for your own data during program execution. This is called dynamic memory allocation at runtime using pointers.
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!
In this course, you will gain experience with programming concepts that are foundational to any programming language.
At the end of this short course, you will reach the fourth milestone in 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.
What you’ll learn
- Visualize the concept of a pointer and use it to pass variables to functions by reference in order to modify them via the function
- Apply pointer arithmetic in order to address elements of both one-dimensional and multi-dimensional arrays
- Use arrays of strings to store lists of strings in one array variable
- Control memory usage by dynamically allocating and freeing memory at runtime

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
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 will have reached the third milestone in 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.
What you’ll learn
- Break a complex programming task into a number of functions to which you pass arguments
- Recall how computer memory is organized to store variables and arrays
- Find the address of a variable
- Perform simple pointer arithmetic

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
In this course, part of the C Programming with Linux Professional Certificate program, 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.
Within moments of this course, you will be coding hands-on in a new browser tool developed specifically for this course, receiving instant feedback on your code. No need to install anything!
Why learn C? Not only is it one of the most stable and popular programming languages in the world, it’s also used to power almost all electronic devices. The C programming language represents one of the building blocks of modern computer information technology.
By the end of this course, you will have gained experience with programming concepts that are foundational to any programming language and be one step closer to a career in computer engineering.
This course has received financial support from the Patrick & Lina Drahi Foundation.
What you’ll learn
- Use logical conditions to control the flow of a program via branch statements (if-else), repetition (for or while loop) and nesting of these structures
- Create and modify arrays to store integer and floating point numbers and explain how arrays are organized in memory
- Create null-terminated arrays of characters to store and modify strings (of characters)
- Sort and search arrays of numbers and characters using bubble sort, selection sort, linear search and bisection

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
In this course, you will learn the principles of C programming and start 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.
Beginners, even those without any programming experience, will be able to immediately start coding in C with the help of powerful yet simple coding tools right within the web browser. No need to install anything!
We are excited to introduce you to the world of coding and launch you along your path to becoming a skilled C programmer!
This is the first course in the C Programming with Linux Professional Certificate program. This series of seven short courses will establish your programming skills and unlock doors to careers in computer engineering.
This course has received financial support from the Patrick & Lina Drahi Foundation.
What you’ll learn
- Define, distinguish and give examples of hardware/software, computer programs/algorithms
- Explain the concept of a variable and declare, initialize and modify variables of data types int, double and char
- Create and comment simple C-programs that may print text, special characters and variables to the screen with controlled formatting
- Create simple C-programs that utilize for-loops to repeat blocks of instructions

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor
