About this Course
11,504

100% 온라인

지금 바로 시작해 나만의 일정에 따라 학습을 진행하세요.

탄력적인 마감일

일정에 따라 마감일을 재설정합니다.

초급 단계

완료하는 데 약 22시간 필요

권장: 4 weeks of study, 6–8 hours/week...

영어

자막: 영어

100% 온라인

지금 바로 시작해 나만의 일정에 따라 학습을 진행하세요.

탄력적인 마감일

일정에 따라 마감일을 재설정합니다.

초급 단계

완료하는 데 약 22시간 필요

권장: 4 weeks of study, 6–8 hours/week...

영어

자막: 영어

강의 계획 - 이 강좌에서 배울 내용

1
완료하는 데 6시간 필요

Module 1: Interacting with the user and system

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. ...
5 videos (Total 16 min), 16 readings, 5 quizzes
5개의 동영상
Reading a File with fgetc4m
Reading a File with fgets5m
Writing to a File2m
Closing a File2m
16개의 읽기 자료
Assignment 24_read_arr330m
Introduction to the Operating System10m
Errors from System Calls10m
Command Line Arguments10m
Complex Option Processing10m
The Environment Pointer10m
Process Creation10m
Opening a File10m
Reading a File10m
Reading a File with fgets10m
Reading a File with fread10m
Assignment 25_break_encr
Writing to Files10m
Closing Files10m
Other Interactions10m
Assignments 26_tests_matrix_input and 27_matrix_input
5개 연습문제
The Operating System6m
Command Line Arguments and Process Creation6m
Opening Files and fgetc6m
Reading encryption.c6m
Writing and Closing Files8m
2
완료하는 데 8시간 필요

Module 2: Dynamic allocation

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....
7 videos (Total 24 min), 19 readings, 5 quizzes
7개의 동영상
Mechanics of free2m
Code with a Memory Leak2m
Three Common Problems When Using free1m
Call to realloc4m
Reading a File with getline5m
Combining getline and realloc4m
19개의 읽기 자료
Motivation for Dynamic Allocation10m
malloc10m
Fixing initArray10m
More Complex Structures10m
Shallow vs. Deep Copying10m
free10m
Memory Leaks10m
A Dynamic Memory Allocation Analogy10m
Common Problems with free10m
realloc10m
getline10m
Valgrind's Memcheck10m
Uninitialized Values10m
Invalid Reads and Writes10m
Valgrind with GDB10m
Dynamic Allocation Issues10m
memcheck.h3m
Other Valgrind Tools3m
Assignments 28_fix_vg_encr, 29_outname, 30_sort_lines, and 31_minesweeper
5개 연습문제
malloc6m
free8m
realloc4m
getline8m
Valgrind's Memcheck20m
3
완료하는 데 5시간 필요

Module 3: Programming in the Large

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!...
2 videos (Total 6 min), 21 readings, 2 quizzes
2개의 동영상
Roster Planning5m
21개의 읽기 자료
Analogy to Writing10m
Abstraction3m
The Seven-Item Limit10m
Hierarchical Abstraction10m
Readability2m
Function Size2m
Naming4m
Formatting10m
Commenting and Documentation10m
Team Considerations5m
Git2m
Past Versions5m
Collaboration3m
Multiple Versions of the Present5m
Read More2m
Problem Description5m
Planning the High-Level Algorithm7m
Writing and Testing readInput10m
Finishing the Program10m
Even Larger Programs5m
Assignments 32_kvs, 33_counts, and 34_put_together
2개 연습문제
Abstraction6m
Readability6m
4
완료하는 데 2시간 필요

Module 4: Poker Project

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!...
1 video (Total 4 min), 1 reading, 1 quiz
1개의 동영상
1개의 읽기 자료
Poker Project: Final Part
4.4
9개의 리뷰Chevron Right

최상위 리뷰

대학: LSDec 14th 2018

Excellent range of topics ~~~~~> thank you enabling me to realize my dreams of becoming a more competent engineer.

강사

Avatar

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering
Avatar

Anne Bracy

Senior Lecturer
Computer Science, Cornell University
Avatar

Genevieve M. Lipp

Assistant Professor of the Practice
Electrical and Computer Engineering/Mechanical Engineering and Materials Science

듀크대학교 정보

Duke University has about 13,000 undergraduate and graduate students and a world-class faculty helping to expand the frontiers of knowledge. The university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world....

Introduction to Programming in C 전문 분야 정보

This specialization develops strong programming fundamentals for learners who want to solve complex problems by writing computer programs. Through four courses, you will learn to develop algorithms in a systematic way and read and write the C code to implement them. This will prepare you to pursue a career in software development or other computational fields. Successful completion of this Specialization will be considered by admissions as a demonstration of your skill and enhance your master’s application to Duke’s Pratt School of Engineering....
Introduction to Programming in C

자주 묻는 질문

  • 강좌에 등록하면 바로 모든 비디오, 테스트 및 프로그래밍 과제(해당하는 경우)에 접근할 수 있습니다. 상호 첨삭 과제는 이 세션이 시작된 경우에만 제출하고 검토할 수 있습니다. 강좌를 구매하지 않고 살펴보기만 하면 특정 과제에 접근하지 못할 수 있습니다.

  • 강좌를 등록하면 전문 분야의 모든 강좌에 접근할 수 있고 강좌를 완료하면 수료증을 취득할 수 있습니다. 전자 수료증이 성취도 페이지에 추가되며 해당 페이지에서 수료증을 인쇄하거나 LinkedIn 프로필에 수료증을 추가할 수 있습니다. 강좌 내용만 읽고 살펴보려면 해당 강좌를 무료로 청강할 수 있습니다.

  • No. Completion of a Coursera course does not earn you academic credit from Duke; therefore, Duke is not able to provide you with a university transcript. However, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

궁금한 점이 더 있으신가요? 학습자 도움말 센터를 방문해 보세요.