The final course in the specialization Introduction to Programming in C will teach you powerful new programming techniques for interacting with the user and the system and dynamically allocating memory. You will learn more sophisticated uses for pointers, such as strings and multidimensional arrays, as well as how to write programs that read and write files and take input from the user. Learning about dynamic memory allocation will allow your programs to perform complex tasks that will be applied in the final part of the specialization project: a Monte Carlo simulation for calculating poker hand probabilities.
Interacting with the System and Managing Memory
This course is part of Introductory C Programming Specialization
Instructors: Andrew D. Hilton
Sponsored by Duke Alumni
23,599 already enrolled
(170 reviews)
Details to know
Add to your LinkedIn profile
12 assignments
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
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
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 assignments4 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 assignments4 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 assignments3 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
Offered by
Why people choose Coursera for their career
Learner reviews
170 reviews
- 5 stars
65.49%
- 4 stars
16.37%
- 3 stars
8.18%
- 2 stars
1.75%
- 1 star
8.18%
Showing 3 of 170
Reviewed on Mar 13, 2021
Valuable course, recommend for a beginner who wants to learn coding in c if this course has more materials and more detailed explanation it should be 5 stars.
Reviewed on Sep 27, 2022
It teaches exactly what a novice C programmer needs about memory allocation.
Reviewed on Mar 12, 2021
this course is helpful and wonderful it is helped me very much in my study
Open new doors with Coursera Plus
Unlimited access to 10,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