VOOZH about

URL: https://www.coursera.org/learn/c-programming-modular-programming-and-memory-management

⇱ C Programming: Modular Programming and Memory Management - 3 | Coursera


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

5,367 already enrolled

Included with

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.8

62 reviews

Beginner level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
4.8

62 reviews

Beginner level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

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

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

4 assignments

Taught in English

Build your subject-matter expertise

This course is part of the C Programming with Linux Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • 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 videosTotal 12 minutes
  • Let's get started2 minutes
  • Get to work with Codecast 4 minutes
  • Learn how to use Taskgrader3 minutes
  • How to navigate with the third-party tools on Coursera?3 minutes
10 readingsTotal 52 minutes
  • Course syllabus5 minutes
  • Two universities teamed up to offer a new Specialization in C Programming with Linux2 minutes
  • The course team3 minutes
  • Collaborative MOOC1 minute
  • Earn a Specialization from Dartmouth and IMT5 minutes
  • Get the most out of this course10 minutes
  • Pre-course survey10 minutes
  • Learn how to use Codecast and Taskgrader5 minutes
  • Codecast Sandbox1 minute
  • Learn how to post code on the Coursera forum10 minutes
1 assignmentTotal 10 minutes
  • Are you ready to start?10 minutes
1 app itemTotal 2 minutes
  • Syntax highlighting in Codecast2 minutes
3 discussion promptsTotal 22 minutes
  • Introduce yourself10 minutes
  • Learn how to post code on the forum10 minutes
  • Technical, general, organisational and other questions2 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 assignmentTotal 10 minutes
  • Self-assess your learning in Functions and recursion10 minutes
3 app itemsTotal 180 minutes
  • Defining functions and passing values to functions60 minutes
  • Working with functions60 minutes
  • Using recursion60 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 videosTotal 8 minutes
  • Discover the Von Neumann architecture3 minutes
  • Memory representation, RAM, cells, word, byte, bit, memory address4 minutes
1 assignmentTotal 10 minutes
  • Self-assess your learning in Memory and the scope of variables10 minutes
3 app itemsTotal 130 minutes
  • Memory management and representation10 minutes
  • Determining the amount of memory used for different data types60 minutes
  • Determining the scope of variables60 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 assignmentTotal 30 minutes
  • Self-assess your learning in Pointers30 minutes
4 app itemsTotal 130 minutes
  • Defining pointers and dereferencing pointers60 minutes
  • Using pointers with functions30 minutes
  • Performing simple pointer arithmetic20 minutes
  • Passing arrays to functions20 minutes

What's included

1 video2 readings

1 videoTotal 1 minute
  • Closing MOOC 3 - C Programming: Modular Programming and Memory Management1 minute
2 readingsTotal 12 minutes
  • Enroll to the next course of the program2 minutes
  • End of course survey10 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

Instructor ratings
5.0 (20 ratings)
Institut Mines-Télécom
7 Courses31,518 learners
Dartmouth College
7 Courses31,518 learners

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    85.48%

  • 4 stars

    11.29%

  • 3 stars

    0%

  • 2 stars

    3.22%

  • 1 star

    0%

Showing 3 of 62

RS
·

Reviewed on Jul 7, 2022

Awesome content, enables you to understand fundamentals well with enjoyable assignments and codecast tool.

SS
·

Reviewed on Feb 16, 2023

Very cool touch on the fundamentals of C language. Enjoy the course.

VV
·

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.

Financial aid available,