К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Interacting with the System and Managing Memory · LearnSpace
Назад в каталог
courseraПрограммирование

Interacting with the System and Managing Memory

Курс от Duke University
Начальный≈ 23.5 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

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.

Навыки, которые вы освоите

Memory ManagementFile I/OCommand-Line InterfaceCollaborative SoftwareProgramming PrinciplesMaintainabilityC (Programming Language)Software DevelopmentSoftware EngineeringSystem ProgrammingSimulations

Программа курса

4 модулей · 95 учебных материалов

01Module 1: Interacting with the user and system29 материалов

Lesson 1: Introduction

Why We Need Interactivity and to Manage MemoryВидеоThe Practice Programming EnvironmentЧтениеAssignment 24_read_arr3ПрограммированиеReport a problem with the courseЧтение

Учитесь у экспертов

Andrew D. Hilton

Associate Professor of the Practice

Anne Bracy

Senior Lecturer

Genevieve M. Lipp

Assistant Professor of the Practice

Interacting with the System and Managing Memory
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 23.5 ч

4 модулей

Язык: Английский

Субтитры: Арабский, Французский, Бенгальский, Узбекский, Украинский, Китайский (Китай), Греческий, Итальянский, Бразильский португальский, Вьетнамский, Нидерландский, Корейский, Немецкий, Пушту, Урду, Русский, Тайский, Индонезийский, Шведский, Турецкий, Азербайджанский, Испанский, Дари, Хинди, Японский, Казахский, Венгерский, Польский

Часть программы вашего университета

Lesson 2: The Operating System

Introduction to the Operating SystemЧтение
Errors from System CallsЧтение
The Operating SystemЗадание

Lesson 3: Command Line Arguments

Command Line ArgumentsЧтениеComplex Option ProcessingЧтениеThe Environment PointerЧтениеProcess CreationЧтениеCommand Line Arguments and Process CreationЗадание

Lesson 4: Opening and Reading Files

Opening a FileЧтениеReading a FileЧтениеReading a File with fgetcВидеоOpening Files and fgetcЗаданиеReading a File with fgetsЧтениеReading a File with fgetsВидеоReading a File with freadЧтениеReading encryption.cЗаданиеAssignment 25_break_encrПрограммирование

Lesson 5: Writing to and Closing Files

Writing to FilesЧтениеWriting to a FileВидеоClosing FilesЧтениеClosing a FileВидеоOther InteractionsЧтениеWriting and Closing FilesЗадание

Lesson 6: Review

Assignment 26_tests_matrix_inputПрограммированиеAssignment 27_matrix_inputПрограммирование
02Module 2: Dynamic allocation34 материалов

Lesson 1: Introduction

Motivation for Dynamic AllocationЧтение

Lesson 2: malloc

mallocЧтениеSimple Call to mallocВидеоFixing initArrayЧтениеMore Complex StructuresЧтениеShallow vs. Deep CopyingЧтениеmallocЗадание

Lesson 3: free

freeЧтениеMechanics of freeВидеоMemory LeaksЧтениеCode with a Memory LeakВидеоA Dynamic Memory Allocation AnalogyЧтениеCommon Problems with freeЧтениеThree Common Problems When Using free

Lesson 4: realloc

reallocЧтениеCall to reallocВидеоreallocЗадание

Lesson 5: getline

getlineЧтениеReading a File with getlineВидеоCombining getline and reallocВидеоgetlineЗадание

Lesson 6: valgrind

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Программирование
03Module 3: Programming in the Large27 материалов

Lesson 1: Introduction

IntroductionВидеоAnalogy to WritingЧтение

Lesson 2: Abstraction

AbstractionЧтениеThe Seven-Item LimitЧтениеHierarchical AbstractionЧтениеAbstractionЗадание

Lesson 3: Readability

ReadabilityЧтениеFunction SizeЧтениеNamingЧтениеFormattingЧтениеCommenting and DocumentationЧтениеReadabilityЗадание

Lesson 4: Revision Control

Team ConsiderationsЧтениеGitЧтениеPast VersionsЧтениеCollaborationЧтениеMultiple Versions of the PresentЧтениеRead MoreЧтение

Lesson 5: A Modestly-Sized Example

Problem DescriptionЧтениеRoster PlanningВидеоPlanning the High-Level AlgorithmЧтениеWriting and Testing readInputЧтениеFinishing the ProgramЧтение

Lesson 6: Even Larger Programs

Even Larger ProgramsЧтение

Lesson 7: Review

Assignment 32_kvsПрограммированиеAssignment 33_countsПрограммированиеAssignment 34_put_togetherПрограммирование
04Module 4: Poker Project5 материалов

Lesson 1: Final Part

Poker Project: Final PartВидеоAssignment c4prj1_deckПрограммированиеAssignment c4prj2_inputПрограммированиеAssignment c4prj3_finishПрограммированиеShare your learning experienceЧтение
Видео
freeЗадание
Valgrind's MemcheckЗадание