C Programming with Linux
Offered By: Dartmouth College via edX
Course Description
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.
Syllabus
Course 1: C Programming: Getting Started
Start learning one of the most powerful and widely used programming languages: C.
Course 2: C Programming: Language Foundations
Master foundational concepts in the C programming language such as logical statements and arrays.
Course 3: C Programming: Modular Programming and Memory Management
Enhance your coding skills along your path to becoming a proficient C programmer with the essential concepts of functions and pointers. Receive instant feedback on your code right within your browser.
Course 4: C Programming: Pointers and Memory Management
Continue building your coding skills along your path to becoming a proficient C programmer by mastering the concept of pointers and memory management. Receive instant feedback on your code right within your browser.
Course 5: C Programming: Advanced Data Types
Master effective ways to store your data in the C programming language using advanced data types such as structures and linked lists. Receive instant feedback on your code right within your browser.
Course 6: Linux Basics: The Command Line Interface
Learn the Linux Command Line interface and become a skilled user of this powerful operating system.
Course 7: C Programming: Using Linux Tools and Libraries
Learn how to use professional tools and libraries to write and build C programs within the Linux operating system. Receive instant feedback on your code right within your browser.
Courses
-
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.
-
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.
-
Inthis 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.
-
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.
-
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.
-
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.
-
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.
Taught by
Petra Bonfert-Taylor and Rémi Sharrock
Tags
Related Courses
استخدام وإدارة المؤشرات في لغة البرمجة سيCoursera Project Network via Coursera Approfondimento sulla sicurezza dei container (Italiano) | Deep Dive on Container Security (Italian)
Amazon Web Services via AWS Skill Builder Aspectos básicos de PostgreSQL: arquitectura (Español LATAM) | PostgreSQL Fundamentals: Architecture (LATAM Spanish)
Amazon Web Services via AWS Skill Builder Computer Memory
Brilliant Building Objects in C
University of Michigan via Coursera