About this Course
최근 조회 47,082

다음 전문 분야의 3개 강좌 중 3번째 강좌:

100% 온라인

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

유동적 마감일

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

초급 단계

완료하는 데 약 20시간 필요

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

영어

자막: 영어

다음 전문 분야의 3개 강좌 중 3번째 강좌:

100% 온라인

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

유동적 마감일

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

초급 단계

완료하는 데 약 20시간 필요

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

영어

자막: 영어

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

1
완료하는 데 3시간 필요

Pointers

Pointers are one of the most important and powerful aspects of the C language. Pointers are critical to understanding arrays, which let you manipulate sequences of data. They also give a programmer control and flexibility when programming, enabling solutions that are clean and efficient. Some other languages use pointers implicitly—or pointer-like constructs—so understanding their use will make you a better programmer in any language.

...
5 videos (Total 16 min), 15 readings, 3 quizzes
5개의 동영상
Naive Swap2m
Pointers2m
Corrected Swap2m
Swap with Hardware6m
15개의 읽기 자료
Pointer Basics10m
Pictures10m
Swap Revisited10m
The Practice Programming Environment10m
Assignment 11_read_ptr110m
Pointers under the Hood10m
A Program's View of Memory10m
NULL10m
Pointers to Structs10m
Pointers to Pointers10m
const10m
Aliasing10m
Pointer Arithmetic10m
Use Memory Checker Tools10m
Assignment 12_read_ptr210m
3개 연습문제
Pointers Conceptually6m
Pointers in Hardware6m
Pointers to Sophisticated Types6m
2
완료하는 데 2시간 필요

Arrays

Arrays are sequences of memory of the same type that are guaranteed to be one after another. This is an incredibly useful data format, enabling you to store many things together under one variable name. In this module, you will learn how to use arrays to solve more complex problems and lay the groundwork for more complex data types.

...
5 videos (Total 18 min), 9 readings, 1 quiz
5개의 동영상
Array Access with Pointer Indexing1m
Index of Largest Element6m
Closest Point Step-Through3m
Dangling Pointers3m
9개의 읽기 자료
Cryptography Motivation10m
Array Declaration and Initialization10m
Accessing an Array10m
Passing Arrays as Parameters10m
Writing Code with Arrays10m
Assignment 13_read_arr110m
Dangling Pointers10m
Array Size10m
Assignments 14_array_max, 15_tests_subseq, 16_subseq10m
1개 연습문제
Array Basics6m
3
완료하는 데 4시간 필요

Uses of Pointers

Now that you have mastered the basics of pointers and arrays, it is time to see some important uses of them. In this module, you will learn about how to manipulate strings and multi-dimensional arrays. You will also learn about function pointers, which allow you to pass "which function to call" as the parameter of another function.

...
4 videos (Total 22 min), 18 readings, 2 quizzes
4개의 동영상
Copy a String4m
Incompatible Representations5m
Buffer Overflow4m
18개의 읽기 자료
String Literals10m
Mutable Strings10m
String Equality10m
String Copying10m
Converting Strings to ints10m
Standard Library Functions10m
Assignments 17_read_arr2 and 18_reverse_str10m
Introduction10m
Declaration10m
Indexing10m
Initializing10m
Array of Pointers10m
Incompatibility10m
Array of Strings10m
Assignments 19_bits_arr and 20_rot_matrix10m
Function Pointer Basics10m
Sorting Functions10m
Format String Attacks10m
2개 연습문제
Function Pointers6m
Security Hazards6m
4
완료하는 데 2시간 필요

Recursion

By now you are familiar with iteration, in which repetition is expressed in terms of loops. Another programming technique to accomplish similar ideas is "recursion" in which a more complex instance of a problem is expressed in terms of solutions to simpler instances of the problem. In this module, you will learn how to read and write recursive code, giving you another powerful option for how to approach programming problems.

...
9 videos (Total 34 min), 10 readings, 1 quiz
9개의 동영상
Writing Factorial Recursively6m
Translating Recursive Factorial to Code1m
Writing Fibonacci Recursively6m
Translate Recursive Fibonacci to Code4m
Duplication of Computation in Fibonacci1m
Execution of the Tail Recursive Implementation of Factorial4m
Execution of Mutually Recursive isOdd and isEven1m
Advice from a Duke Software Engineering Alum: Solve Real-World Problems5m
10개의 읽기 자료
Introduction to Recursion2m
Reading Recursive Code10m
Principles of Writing Recursive Code10m
Is Recursion Slow?10m
Assignment 21_read_rec110m
Tail Recursion10m
Equivalence of Tail Recursion and Iteration10m
Mutual Recursion10m
Assignments 22_tests_power and 23_power_rec10m
(Optional) Recursion Theory10m
1개 연습문제
Reading Recursion6m
4.5
23개의 리뷰Chevron Right

Pointers, Arrays, and Recursion의 최상위 리뷰

대학: DHAug 13th 2018

End of course project was challenging and fun. Lots of opportunity to learn how to debug memory issues with valgrind.

대학: RSJan 24th 2019

Very well designed hands-on training course for developing a real software program in C.

강사

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.

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