Duke University - Interacting with the System and Managing Memory
- Offered byCoursera
Interacting with the System and Managing Memory at Coursera Overview
Duration | 26 hours |
Start from | Start Now |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Beginner |
Official Website | Explore Free Course |
Credential | Certificate |
Interacting with the System and Managing Memory at Coursera Highlights
- This Course Plus the Full Specialization.
- Shareable Certificates.
- Graded Programming Assignments.
Interacting with the System and Managing Memory at Coursera Course details
- 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 at Coursera Curriculum
Module 1: Interacting with the user and system
Why We Need Interactivity and to Manage Memory
Reading a File with fgetc
Reading a File with fgets
Writing to a File
Closing a File
Assignment 24_read_arr3
Introduction to the Operating System
Errors from System Calls
Command Line Arguments
Complex Option Processing
The Environment Pointer
Process Creation
Opening a File
Reading a File
Reading a File with fgets
Reading a File with fread
Assignment 25_break_encr
Writing to Files
Closing Files
Other Interactions
Assignments 26_tests_matrix_input and 27_matrix_input
The Operating System
Command Line Arguments and Process Creation
Opening Files and fgetc
Reading encryption.c
Writing and Closing Files
Module 2: Dynamic allocation
Simple Call to malloc
Mechanics of free
Code with a Memory Leak
Three Common Problems When Using free
Call to realloc
Reading a File with getline
Combining getline and realloc
Motivation for Dynamic Allocation
malloc
Fixing initArray
More Complex Structures
Shallow vs. Deep Copying
free
Memory Leaks
A Dynamic Memory Allocation Analogy
Common Problems with free
realloc
getline
Valgrind's Memcheck
Uninitialized Values
Invalid Reads and Writes
Valgrind with GDB
Dynamic Allocation Issues
memcheck.h
Other Valgrind Tools
Assignments 28_fix_vg_encr, 29_outname, 30_sort_lines, and 31_minesweeper
malloc
free
realloc
getline
Valgrind's Memcheck
Module 3: Programming in the Large
Introduction
Roster Planning
Analogy to Writing
Abstraction
The Seven-Item Limit
Hierarchical Abstraction
Readability
Function Size
Naming
Formatting
Commenting and Documentation
Team Considerations
Git
Past Versions
Collaboration
Multiple Versions of the Present
Read More
Problem Description
Planning the High-Level Algorithm
Writing and Testing readInput
Finishing the Program
Even Larger Programs
Assignments 32_kvs, 33_counts, and 34_put_together
Abstraction
Readability
Module 4: Poker Project
Poker Project: Final Part
Poker Project: Final Part