- Level Foundation
- المدة 23 ساعات hours
- الطبع بواسطة Duke University
-
Offered by
عن
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.الوحدات
Lesson 1: Introduction
- Assignment 24_read_arr3
1
Videos
- Why We Need Interactivity and to Manage Memory
1
Readings
- The Practice Programming Environment
Lesson 2: The Operating System
1
Assignment
- The Operating System
2
Readings
- Introduction to the Operating System
- Errors from System Calls
Lesson 3: Command Line Arguments
1
Assignment
- Command Line Arguments and Process Creation
4
Readings
- Command Line Arguments
- Complex Option Processing
- The Environment Pointer
- Process Creation
Lesson 4: Opening and Reading Files
- Assignment 25_break_encr
2
Assignment
- Opening Files and fgetc
- Reading encryption.c
2
Videos
- Reading a File with fgetc
- Reading a File with fgets
4
Readings
- Opening a File
- Reading a File
- Reading a File with fgets
- Reading a File with fread
Lesson 5: Writing to and Closing Files
1
Assignment
- Writing and Closing Files
2
Videos
- Writing to a File
- Closing a File
3
Readings
- Writing to Files
- Closing Files
- Other Interactions
Lesson 6: Review
- Assignment 26_tests_matrix_input
- Assignment 27_matrix_input
Lesson 1: Introduction
1
Readings
- Motivation for Dynamic Allocation
Lesson 2: malloc
1
Assignment
- malloc
1
Videos
- Simple Call to malloc
4
Readings
- malloc
- Fixing initArray
- More Complex Structures
- Shallow vs. Deep Copying
Lesson 3: free
1
Assignment
- free
3
Videos
- Mechanics of free
- Code with a Memory Leak
- Three Common Problems When Using free
4
Readings
- free
- Memory Leaks
- A Dynamic Memory Allocation Analogy
- Common Problems with free
Lesson 4: realloc
1
Assignment
- realloc
1
Videos
- Call to realloc
1
Readings
- realloc
Lesson 5: getline
1
Assignment
- getline
2
Videos
- Reading a File with getline
- Combining getline and realloc
1
Readings
- getline
Lesson 6: valgrind
1
Assignment
- Valgrind's Memcheck
7
Readings
- Valgrind's Memcheck
- Uninitialized Values
- Invalid Reads and Writes
- Valgrind with GDB
- Dynamic Allocation Issues
- memcheck.h
- Other Valgrind Tools
Review
- Assignment 28_fix_vg_encr
- Assignment 29_outname
- Assignment 30_sort_lines
- Assignment 31_minesweeper
Lesson 1: Introduction
1
Videos
- Introduction
1
Readings
- Analogy to Writing
Lesson 2: Abstraction
1
Assignment
- Abstraction
3
Readings
- Abstraction
- The Seven-Item Limit
- Hierarchical Abstraction
Lesson 3: Readability
1
Assignment
- Readability
5
Readings
- Readability
- Function Size
- Naming
- Formatting
- Commenting and Documentation
Lesson 4: Revision Control
6
Readings
- Team Considerations
- Git
- Past Versions
- Collaboration
- Multiple Versions of the Present
- Read More
Lesson 5: A Modestly-Sized Example
1
Videos
- Roster Planning
4
Readings
- Problem Description
- Planning the High-Level Algorithm
- Writing and Testing readInput
- Finishing the Program
Lesson 6: Even Larger Programs
1
Readings
- Even Larger Programs
Lesson 7: Review
- Assignment 32_kvs
- Assignment 33_counts
- Assignment 34_put_together
Lesson 1: Final Part
- Assignment c4prj1_deck
- Assignment c4prj2_input
- Assignment c4prj3_finish
1
Videos
- Poker Project: Final Part
Auto Summary
This advanced course, "Interacting with the System and Managing Memory," is the final installment in Coursera's Introduction to Programming in C specialization. Aimed at foundational learners in IT & Computer Science, it covers dynamic memory allocation, sophisticated pointer usage, and user/system interaction. Over approximately 1380 minutes, students will engage with practical techniques like file I/O and Monte Carlo simulations. Subscription options include Starter, Professional, and Paid plans. Perfect for those looking to deepen their C programming skills.

Andrew D. Hilton

Anne Bracy

Genevieve M. Lipp