Institut Mines-Télécom

C Programming with Linux Specialization

This point in the year is perfect for 40% off 10,000+ programs. Save now.

Institut Mines-Télécom

C Programming with Linux Specialization

Gain skills in computer engineering - C and Linux.

Become a skilled C programmer and start a career in computer engineering.

Rémi SHARROCK
Petra Bonfert-Taylor

Instructors: Rémi SHARROCK

14,452 already enrolled

Included with Coursera Plus

Get in-depth knowledge of a subject

from 444 reviews of courses in this program

Beginner level

Recommended experience

2 months to complete
at 10 hours a week
Get in-depth knowledge of a subject

from 444 reviews of courses in this program

Beginner level

Recommended experience

2 months to complete
at 10 hours a week

What you'll learn

  • Develop and debug code in the C programming language

  • Discover the foundations of computer programming and Linux, the command line, manage processes, files and memory, 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

Details to know

Shareable certificate

Add to your LinkedIn profile

Taught in English
Flexible schedule
Learn at your own pace

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

Advance your subject-matter expertise

  • Learn in-demand skills from university and industry experts
  • Master a subject or tool with hands-on projects
  • Develop a deep understanding of key concepts
  • Earn a career certificate from Institut Mines-Télécom

Specialization - 7 course series

C Programming: Getting Started - 1

C Programming: Getting Started - 1

Course 1, 11 hours

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

Skills you'll gain

Category: C (Programming Language)
Category: Computer Programming
Category: Programming Principles
Category: Computational Logic
Category: Computer Programming Tools
Category: Embedded Software
Category: Linux
Category: Software Documentation
C Programming: Language Foundations - 2

C Programming: Language Foundations - 2

Course 2, 14 hours

What you'll learn

  • Use logical conditions to control the flow of a program via branch statements (if-else), repetition (for/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

Skills you'll gain

Category: C (Programming Language)
Category: Computational Logic
Category: Data Structures
Category: Algorithms
Category: Computer Programming
Category: Embedded Systems
Category: Programming Principles
Category: Computer Programming Tools
Category: Software Development Tools
Category: Computer Engineering

What you'll learn

  • Break acomplex 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

Skills you'll gain

Category: Memory Management
Category: C (Programming Language)
Category: Computer Architecture
Category: Embedded Software
Category: System Programming
Category: Linux
Category: Programming Principles
Category: Computer Programming
Category: Code Reusability
C Programming: Pointers and Memory Management - 4

C Programming: Pointers and Memory Management - 4

Course 4, 7 hours

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

Skills you'll gain

Category: Memory Management
Category: C (Programming Language)
Category: Embedded Systems
Category: Data Structures
Category: Computer Programming
Category: Programming Principles
Category: Software Visualization
Category: Linux
Category: Computer Engineering
Category: Embedded Software
C Programming: Advanced Data Types - 5

C Programming: Advanced Data Types - 5

Course 5, 8 hours

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

  • Create linked lists of structures with dynamic memory allocation at runtime

  • Sort or search lined lists of structures

Skills you'll gain

Category: Data Structures
Category: C (Programming Language)
Category: Memory Management
Category: Algorithms
Category: C and C++
Category: Computer Programming
Category: Linux
Category: Embedded Systems
Category: Programming Principles
Category: Computer Engineering
Linux Basics: The Command Line Interface - 6

Linux Basics: The Command Line Interface - 6

Course 6, 8 hours

What you'll learn

  • 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 in Linux

Skills you'll gain

Category: Command-Line Interface
Category: Linux
Category: File Management
Category: Unix
Category: Linux Commands
Category: C (Programming Language)
Category: File Systems
Category: Memory Management
Category: Computer Programming
Category: Computer Engineering
Category: Linux Servers
Category: Build Tools
Category: Open Source Technology
Category: Embedded Software
Category: OS Process Management
Category: Embedded Systems
C Programming: Using Linux Tools and Libraries - 7

C Programming: Using Linux Tools and Libraries - 7

Course 7, 9 hours

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

Skills you'll gain

Category: C (Programming Language)
Category: Build Tools
Category: File I/O
Category: Make.com
Category: Software Installation
Category: Development Environment
Category: Embedded Systems
Category: Linux
Category: Embedded Software
Category: Command-Line Interface
Category: Code Reusability
Category: C and C++
Category: Computer Programming
Category: Computer Programming Tools
Category: Operating Systems
Category: Application Development
Category: System Programming
Category: Linux Commands
Category: Program Development

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Prepare for a degree

Taking this Specialization by Institut Mines-Télécom may provide you with a preview of the topics, materials and instructors in a related degree program which can help you decide if the topic or university is right for you.

Instructors

Rémi SHARROCK
Institut Mines-Télécom
7 Courses31,631 learners
Petra Bonfert-Taylor
Dartmouth College
7 Courses31,631 learners

Offered by

Industry partners

Partner 1

Why people choose Coursera for their career

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions