Marketing Management: What Is It and Why Does It Matter?
January 22, 2025
Article
Gain skills in computer engineering - C and Linux. Become a skilled C programmer and start a career in computer engineering.
Instructors: Rémi SHARROCK
10,452 already enrolled
Included with
(325 reviews)
Recommended experience
Beginner level
No prior experience needed
(325 reviews)
Recommended experience
Beginner level
No prior experience needed
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
Add to your LinkedIn profile
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
In this C Programming with Linux Specialization 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.
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 Specialization will introduce the Linux command line and Linux tools for C programmers; both of which are must-have skills in today’s tech industries.
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.
Applied Learning Project
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!
You will practice through guided exercises and short coding demonstrations, as well as more elaborate assignments.
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
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
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
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
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
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
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
Institut Mines-Télécom is a public institution dedicated to higher education, research and innovation in engineering and digital technologies. Always attentive to the economic world, IMT combines strong academic legitimacy, close corporate relations. It focuses on key transformations in Digital Technologies, Production, Energy and Ecology and trains the engineers, managers and PhDs who will be tomorrow’s players in these key changes of the 21st century. Its activities are conducted in Mines and Télécom graduate schools under the aegis of the Minister for Industry and Electronic Communication, one subsidiary school and three strategic partners. The IMT’s schools rank among the leading graduate schools in France.
Founded in 1769, Dartmouth is a member of the Ivy League and consistently ranks among the world’s greatest academic institutions. Dartmouth has forged a singular identity for combining its deep commitment to outstanding undergraduate liberal arts and graduate education with distinguished research and scholarship in the Arts and Sciences and its four leading graduate schools—the Geisel School of Medicine, the Guarini School of Graduate and Advanced Studies, Thayer School of Engineering, and the Tuck School of Business.
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Earn a degree from world-class universities - 100% online
Upskill your employees to excel in the digital economy
This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.
If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.
Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. If you only want to read and view the course content, you can audit the course for free. If you cannot afford the fee, you can apply for financial aid.
This Specialization doesn't carry university credit, but some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work.
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
These cookies enable the website to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.