C Programming: Using Linux Tools and Libraries - 7 (Coursera)

C Programming: Using Linux Tools and Libraries - 7 (Coursera)

Learn how to use professional tools and libraries to write and build C programs within the Linux operating system. This seventh and final course in the C Programming with Linux Specialization 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.

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

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.
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.
At the end of this course, you will reach the last milestone in the C Programming with Linux Specialization, unlocking the door to a career in computer engineering.
Your job Outlook:

  • Programmers, developers, engineers, managers, and related industries within scientific computing and data science;
  • Embedded systems such as transportation, utility networks, and aerospace;
  • Robotics industry and manufacturing;
  • IoT (Internet of Things) used in smart homes, automation, and wearables.
  • IEEE, the world’s largest technical professional organization for the advancement of technology, ranks C as third of the top programming languages of 2021 in demand by employers. (Source: IEEE Spectrum)

Course 7 of 7 in the C Programming with Linux Specialization.

What You Will 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

Syllabus

WEEK 1
Welcome
Week 1: Libraries in C
By the end of Week 1, you will be able to effectively declare and define functions, as well as use external libraries (e.g. math, compression, image).

WEEK 2
Week 2: Modularization Libraries and Makefiles
By the end of Week 2, you will be able to use preprocessor directives, build an application from multiple source files, and automate the building process using Makefiles.

WEEK 3
Week 3: File operations in C
By the end of Week 3, you will be able to pass and use arguments to the main function, read and use a file, write to a file, and install a profession C compiler.
Concluding the course

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

Related Courses

Introdução ao Desenvolvimento de Aplicativos Android (Coursera) Coursera
Universidade Estadual de Campinas - UNICAMP

Introdução ao Desenvolvimento de Aplicativos Android (Coursera)

Este curso tem como objetivo propiciar um primeiro contato com a Programação para Dispositivos Móveis que operam na plataforma Android. O Android Studio será utilizado como ambiente de desenvolvimento desde o início do curso e você receberá dicas de como obter ajuda quando alguma tarefa estiver consumindo mais tempo do que o necessário. Ao solucionar problemas por conta própria, você irá adquirir a autonomia necessária para concluir projetos de programação.

Aug 10th 2026
5-12 Weeks
Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera) Coursera
Pontificia Universidad Católica de Chile

Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera)

Decía Steve Jobs que “todo el mundo debería aprender a programar un ordenador porque esto te ayuda a pensar”. Hoy en día la programación es una herramienta fundamental para el desarrollo de la tecnología moderna. Este curso te introduce en el mundo de la programación en el lenguaje Python.

Aug 10th 2026
5-12 Weeks
The Unix Workbench (Coursera) Coursera
Johns Hopkins University

The Unix Workbench (Coursera)

Unix forms a foundation that is often very helpful for accomplishing other goals you might have for you and your computer, whether that goal is running a business, writing a book, curing disease, or creating the next great app. The means to these goals are sometimes carried out by writing software. Software can’t be mined out of the ground, nor can software seeds be planted in spring to harvest by autumn. Software isn’t produced in factories on an assembly line. Software is a hand-made, often bespoke good. If a software developer is an artisan, then Unix is their workbench.

Aug 3rd 2026
4 Weeks
Introduction and Programming with IoT Boards (Coursera) Coursera
Pohang University of Science and Technology - POSTECH

Introduction and Programming with IoT Boards (Coursera)

Internet of Things (IoT) is an emerging area of information and communications technology (ICT) involving many disciplines of computer science and engineering including sensors/actuators, communications networking, server platforms, data analytics and smart applications. IoT is considered to be an essential part of the 4th Industrial Revolution along with AI and Big Data. This course will be very useful to senior undergraduate and graduate students as well as engineers who are working in the industry.

Aug 3rd 2026
5-12 Weeks
Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera) Coursera
University of Maryland, College Park

Programming Mobile Applications for Android Handheld Systems: Part 1 (Coursera)

This course introduces you to the design and implementation of Android applications for mobile devices. You will develop an app from scratch, assuming a basic knowledge of Java, and learn how to set up Android Studio, work with various Activities and create simple user interfaces to make your apps run smoothly.

Aug 3rd 2026
5-12 Weeks
操作系统原理 (Operating Systems) (Coursera) Coursera
Peking University

操作系统原理 (Operating Systems) (Coursera)

操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。

Aug 3rd 2026
13-24 Weeks
Computer Science: Programming with a Purpose (Coursera) Coursera
Princeton University

Computer Science: Programming with a Purpose (Coursera)

The basis for education in the last millennium was “reading, writing, and arithmetic;” now it is reading, writing, and computing. Learning to program is an essential part of the education of every student, not just in the sciences and engineering, but in the arts, social sciences, and humanities, as well. Beyond direct applications, it is the first step in understanding the nature of computer science’s undeniable impact on the modern world.

Aug 10th 2026
5-12 Weeks
Programming Reactive Systems (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Programming Reactive Systems (Scala 2 version) (Coursera)

Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems as per the Reactive Manifesto. Such systems are based on asynchronous message-passing, and their basic building-blocks are event handlers. This course teaches how to implement reactive systems in Scala and Akka by using high-level abstractions, such as actors, asynchronous computations, and reactive streams.

Aug 10th 2026
5-12 Weeks
Functional Program Design in Scala (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Program Design in Scala (Scala 2 version) (Coursera)

In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.

Aug 10th 2026
5-12 Weeks