C Programming: Modular Programming and Memory Management - 3
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
C Programming: Modular Programming and Memory Management - 3
This course is part of C Programming with Linux Specialization
Instructors: Rémi SHARROCK
5,367 already enrolled
Included with
Ask Coursera
62 reviews
Recommended experience
62 reviews
Recommended experience
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
Tools you'll learn
Details to know
See how employees at top companies are mastering in-demand skills
Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate
There are 5 modules in this course
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.
What's included
4 videos10 readings1 assignment1 app item3 discussion prompts
4 videos•Total 12 minutes
- Let's get started•2 minutes
- Get to work with Codecast •4 minutes
- Learn how to use Taskgrader•3 minutes
- How to navigate with the third-party tools on Coursera?•3 minutes
10 readings•Total 52 minutes
- Course syllabus•5 minutes
- Two universities teamed up to offer a new Specialization in C Programming with Linux•2 minutes
- The course team•3 minutes
- Collaborative MOOC•1 minute
- Earn a Specialization from Dartmouth and IMT•5 minutes
- Get the most out of this course•10 minutes
- Pre-course survey•10 minutes
- Learn how to use Codecast and Taskgrader•5 minutes
- Codecast Sandbox•1 minute
- Learn how to post code on the Coursera forum•10 minutes
1 assignment•Total 10 minutes
- Are you ready to start?•10 minutes
1 app item•Total 2 minutes
- Syntax highlighting in Codecast•2 minutes
3 discussion prompts•Total 22 minutes
- Introduce yourself•10 minutes
- Learn how to post code on the forum•10 minutes
- Technical, general, organisational and other questions•2 minutes
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.
What's included
1 assignment3 app items
1 assignment•Total 10 minutes
- Self-assess your learning in Functions and recursion•10 minutes
3 app items•Total 180 minutes
- Defining functions and passing values to functions•60 minutes
- Working with functions•60 minutes
- Using recursion•60 minutes
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.
What's included
2 videos1 assignment3 app items
2 videos•Total 8 minutes
- Discover the Von Neumann architecture•3 minutes
- Memory representation, RAM, cells, word, byte, bit, memory address•4 minutes
1 assignment•Total 10 minutes
- Self-assess your learning in Memory and the scope of variables•10 minutes
3 app items•Total 130 minutes
- Memory management and representation•10 minutes
- Determining the amount of memory used for different data types•60 minutes
- Determining the scope of variables•60 minutes
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.
What's included
1 assignment4 app items
1 assignment•Total 30 minutes
- Self-assess your learning in Pointers•30 minutes
4 app items•Total 130 minutes
- Defining pointers and dereferencing pointers•60 minutes
- Using pointers with functions•30 minutes
- Performing simple pointer arithmetic•20 minutes
- Passing arrays to functions•20 minutes
What's included
1 video2 readings
1 video•Total 1 minute
- Closing MOOC 3 - C Programming: Modular Programming and Memory Management•1 minute
2 readings•Total 12 minutes
- Enroll to the next course of the program•2 minutes
- End of course survey•10 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructors
Explore more from Software Development
- D
Dartmouth College
Course
- D
Dartmouth College
Course
- D
Dartmouth College
Course
- D
Dartmouth College
Course
Why people choose Coursera for their career
Learner reviews
- 5 stars
85.48%
- 4 stars
11.29%
- 3 stars
0%
- 2 stars
3.22%
- 1 star
0%
Showing 3 of 62
Reviewed on Jul 7, 2022
Awesome content, enables you to understand fundamentals well with enjoyable assignments and codecast tool.
Reviewed on Feb 16, 2023
Very cool touch on the fundamentals of C language. Enjoy the course.
Reviewed on Nov 1, 2022
A good balance between, practice, quizzes, and lecture videos.
Frequently asked questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. 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.
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.
More questions
Financial aid available,
