Duke University
Interacting with the System and Managing Memory
Duke University

Interacting with the System and Managing Memory

This course is part of Introductory C Programming Specialization

Taught in English

Some content may not be translated

Andrew D. Hilton
Anne Bracy
Genevieve M. Lipp

Instructors: Andrew D. Hilton

21,028 already enrolled

Included with Coursera Plus

Course

Gain insight into a topic and learn the fundamentals

4.3

(164 reviews)

|

95%

Beginner level
No prior experience required
23 hours (approximately)
Flexible schedule
Learn at your own pace

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

12 quizzes

Course

Gain insight into a topic and learn the fundamentals

4.3

(164 reviews)

|

95%

Beginner level
No prior experience required
23 hours (approximately)
Flexible schedule
Learn at your own pace

See how employees at top companies are mastering in-demand skills

Placeholder

Build your subject-matter expertise

This course is part of the Introductory C Programming 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
Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 4 modules in this course

So far, our programs have had a rather limited interaction with the user or rest of the system, printing some results to standard output (typically to the terminal). Now that we have learned about topics such as strings and arrays, we are ready to learn how to write a program that takes input from the user, takes arguments on the command line, accesses files, and does many other things we typically think of real programs as doing.

What's included

5 videos14 readings5 quizzes4 programming assignments

So far, most of the memory we have used has been located on the stack. Dynamic memory allocation gives a programmer much more flexibility, in that it allows you to request a specific amount memory to be allocated on the heap, so that it will not disappear with the stack frame of the calling function.

What's included

7 videos18 readings5 quizzes4 programming assignments

So far, we have focused exclusively on programming in the small—designing the algorithm for a small-sized task, implementing it, testing it, and debugging it. This module discusses three main differences that "real" programs exhibit. 1) They tend to be much larger than those we have written. 2) More than one person works on them, sometimes teams of hundreds to thousands. 3) Real software has a long life-span during which it must be maintained. Now that you have an understanding of the basics of programming in the small, we are ready to begin learning about programming in the large!

What's included

2 videos20 readings2 quizzes3 programming assignments

In this module, you will complete the Poker Project! Now that you know about dynamic memory allocation, user input, and how to program in the large, you can write the final parts of the program. You will write code to read in a file with a hand of cards and code to choose unknown cards from a shuffled deck. As you program with more sophisticated data structures, the importance of drawing good pictures will increase. Happy programming!

What's included

1 video3 programming assignments

Instructors

Instructor ratings
4.5 (26 ratings)
Andrew D. Hilton
Duke University
16 Courses1,025,937 learners

Offered by

Duke University

Recommended if you're interested in Software Development

Why people choose Coursera for their career

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."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
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."
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

Showing 3 of 164

4.3

164 reviews

  • 5 stars

    65.45%

  • 4 stars

    16.96%

  • 3 stars

    8.48%

  • 2 stars

    1.81%

  • 1 star

    7.27%

TN
5

Reviewed on Sep 27, 2022

NP
4

Reviewed on Mar 13, 2021

CW
5

Reviewed on Apr 20, 2020

New to Software Development? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions