What Is Programming? And How To Get Started
January 28, 2025
Article
This course is part of C Programming with Linux Specialization
Instructors: Rémi SHARROCK
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
3,783 already enrolled
Included with
(57 reviews)
Recommended experience
Beginner level
We recommend to have completed the 2 first courses of the Specialization: C Programming with Linux OR equivalent skills.
(57 reviews)
Recommended experience
Beginner level
We recommend to have completed the 2 first courses of the Specialization: C Programming with Linux OR equivalent skills.
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
Add to your LinkedIn profile
4 assignments
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
Enhance your coding skills along your path to becoming a proficient C programmer with the essential concepts of functions and pointers.
In this course you will be introduced to the concept of modular programming: that is, dividing up more complex tasks into manageable pieces. 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! You will receive instant feedback on your code right within your browser. The programming concepts you will gain in this course are foundational to any programming language. 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. By the end of this course, you will have reached the third mile stone in the C Programming with Linux Specialization program, 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) This course has received financial support from the Patrick & Lina Drahi Foundation.
Let's start coding. You will get familiar with the leaning tools our team has developed to make learning code easier.
4 videos10 readings1 assignment1 app item3 discussion prompts
This week, you will to decompose a more complex program into various functions. To do this, you will learn to create functions, write function calls and prototypes, call on functions, and have functions return specific values.
1 assignment3 app items
This week you will know more of the Von Neumann architecture model. You will recall how computer memory is organized and addressed, use the sizeof() functions with variables of different types, recognize overflow and roundoff errors, and identify the scope of a variable.
2 videos1 assignment3 app items
This week, you will visualize, describe, and utilize points using simple pointer arithmetic. You will be able to create functions to which arrays can be passed and that can modify arrays.
1 assignment4 app items
1 video2 readings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
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.
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.
University of London
Build toward a degree
Course
Coursera Instructor Network
Course
Politecnico di Milano
Course
57 reviews
85.96%
10.52%
0%
3.50%
0%
Showing 3 of 57
Reviewed on Jun 28, 2023
Very good course and knowledge. I recommend it to enroll it.
Reviewed on Nov 8, 2022
Definitely one of the best MOOCs I have ever taken, in this course I learn a lot of concept about memory management
Reviewed on Feb 16, 2023
Very cool touch on the fundamentals of C language. Enjoy the course.
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
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.
The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
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. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.
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. 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.
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.