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

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

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

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Writing, Running, and Fixing Code in C · LearnSpace
Назад в каталог
courseraПрограммирование

Writing, Running, and Fixing Code in C

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

О курсе

Building on the course Programming Fundamentals, this course will teach you how to write code by first planning what your program should do—an important approach for novice and professional programmers. You will learn how to compile and run your program, and then how to test and debug it. This course builds on the Seven Steps you have already learned and provides a framework for systematically testing for problems and fixing them, so you can find and fix problems efficiently.

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

C (Programming Language)DebuggingAlgorithmsSoftware TestingSimulationsComputer ProgrammingTest PlanningTest CaseProgramming PrinciplesBuild ToolsProgram Development

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

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

01Writing Code34 материалов

Introduction

Introduction to Writing CodeВидеоPlanningЧтениеReport a problem with the courseЧтение

More about Steps 1–4

Revisiting Step 1Чтение

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

Andrew D. Hilton

Associate Professor of the Practice

Genevieve M. Lipp

Assistant Professor of the Practice

Anne Bracy

Senior Lecturer

Writing, Running, and Fixing Code in C
В каталоге вашей программы

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

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

Начать на Coursera

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

Обучение на Coursera

≈ 20.4 ч

4 модулей

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

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

Часть программы вашего университета
Revisiting Step 2Чтение
Step 3: Generalizing ValuesЧтение
Step 3: RepetitionsЧтение
Step 3: Conditional BehaviorЧтение
Revisiting Step 4Чтение
Intersection of Two RectanglesВидео
Steps 1–4 ReviewЗадание

Step 5

Translation to CodeЧтениеTranslating Algorithm ComponentsЧтениеTranslating the Intersection Algorithm to CodeВидеоCompleted Rectangle Intersection CodeЧтениеTop-down Design and ComposabilityЧтениеStars ExampleЧтениеStep 5 ConceptsЗадание

Tools

Introduction to the Programming EnvironmentЧтениеIntroduction to the Programming EnvironmentВидеоInstructions for Learners Upgrading from a Previous Course VersionЧтениеAssignment 00_helloПрограммированиеSolutions to a Few Common ProblemsЧтениеUNIX basicsЧтениеMore UNIX CommandsЧтениеEditing Files with EmacsВидеоEmacsЧтениеAssignment 01_appleПрограммированиеGitЧтениеMore about GitВидео[Optional Reference] Help me fix...Чтение

Review

Assignment 02_code1ПрограммированиеAssignment 03_code2ПрограммированиеNext StepsЧтение
02Compiling and Running30 материалов

Introduction

Now We Need to CompileВидеоCompiling OverviewЧтениеCompilation ProcessЧтениеPreprocessingЧтениеCompilingЗадание

First Example

"Hello World"ВидеоAssignment 04_compileПрограммированиеPlanning isPrimeВидеоGeneralizing isPrimeВидеоTranslating isPrime to CodeВидеоGetting Help: man PagesЧтениеComparing Output with diffВидеоAssignment 05_squaresПрограммирование

Compiler Details

More about Macros and Header FilesЧтениеThe Actual CompilerЧтениеCompiler ErrorsЧтениеAssemblingЧтениеLinkingЧтениеCompilation ProcessЗадание

More Tools

Build Tool: makeВидеоMakeЧтениеCompiling with a MakefileВидеоFancier make OptionsЧтениеRunning Your ProgramЧтениеvalgrindЧтениеCompiler OptionsЧтение

Review

Prototype: Assignment 06 Practice QuizЗаданиеAssignment 06_rectПрограммированиеAssignment 07_retirementПрограммирование
03Testing and debugging27 материалов

Testing

Testing Means Finding BugsВидеоBlack Box TestingЧтениеTest-driven DevelopmentВидеоPractical Tips for Designing Test CasesЧтениеWhite Box TestingЧтениеGenerating Test CasesЧтениеAssertsЧтениеCode ReviewЧтениеCode ReviewВидеоTestingЗаданиеAssignment 08_testingПрограммированиеAssignment 09_testing2Программирование

Debugging

Step 7: DebuggingЧтениеThe Scientific MethodЧтениеAccept or Reject Your Hypothesis?ЧтениеDebuggingЗадание

Debugging Tools

Finding Problems with ValgrindВидеоIntro to gdbЧтениеGetting Started with gdbЧтениеInvestigating the State of Your ProgramЧтениеControlling ExecutionЧтениеGathering Information with gdbВидеоWatchpoints

Review

Assignment 10_gdbПрограммированиеAdvice from a Duke Software Engineering Student: Don't Give Up!Видео
04Project6 материалов

Introduction to the Poker Project

Introduction to the Poker ProjectВидеоPoker Project RoadmapВидеоAssignment c2prj1_cardsПрограммирование

Test Cases for Course 3

Rules of PokerЧтениеAssignment c2prj2_testingПрограммированиеShare your learning experienceЧтение
Make and ValgrindЗадание
Чтение
SignalsЧтение
gdbЗадание