课程信息
4.4
30 个评分
4 个审阅
The third course in the specialization Introduction to Programming in C introduces the programming constructs pointers, arrays, and recursion. Pointers provide control and flexibility when programming in C by giving you a way to refer to the location of other data. Arrays provide a way to bundle data by guaranteeing sequences of data are grouped together. Finally, recursive functions—functions that call themselves—provide an alternative to iteration that are very useful for implementing certain algorithms....
Globe

100% 在线课程

立即开始,按照自己的计划学习。
Calendar

可灵活调整截止日期

根据您的日程表重置截止日期。
Beginner Level

初级

Clock

Approx. 15 hours to complete

建议:4 weeks of study, 6–8 hours/week...
Comment Dots

English

字幕:English...
Globe

100% 在线课程

立即开始,按照自己的计划学习。
Calendar

可灵活调整截止日期

根据您的日程表重置截止日期。
Beginner Level

初级

Clock

Approx. 15 hours to complete

建议:4 weeks of study, 6–8 hours/week...
Comment Dots

English

字幕:English...

教学大纲 - 您将从这门课程中学到什么

Week
1
Clock
完成时间为 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....
Reading
5 个视频(共 16 分钟), 15 个阅读材料, 3 个测验
Video5 个视频
Naive Swap2分钟
Pointers2分钟
Corrected Swap2分钟
Swap with Hardware6分钟
Reading15 个阅读材料
Pointer Basics10分钟
Pictures10分钟
Swap Revisited10分钟
The Practice Programming Environment10分钟
Assignment 11_read_ptr110分钟
Pointers under the Hood10分钟
A Program's View of Memory10分钟
NULL10分钟
Pointers to Structs10分钟
Pointers to Pointers10分钟
const10分钟
Aliasing10分钟
Pointer Arithmetic10分钟
Use Memory Checker Tools10分钟
Assignment 12_read_ptr210分钟
Quiz3 个练习
Pointers Conceptually6分钟
Pointers in Hardware6分钟
Pointers to Sophisticated Types6分钟
Week
2
Clock
完成时间为 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....
Reading
5 个视频(共 18 分钟), 9 个阅读材料, 1 个测验
Video5 个视频
Array Access with Pointer Indexing1分钟
Index of Largest Element6分钟
Closest Point Step-Through3分钟
Dangling Pointers3分钟
Reading9 个阅读材料
Cryptography Motivation10分钟
Array Declaration and Initialization10分钟
Accessing an Array10分钟
Passing Arrays as Parameters10分钟
Writing Code with Arrays10分钟
Assignment 13_read_arr110分钟
Dangling Pointers10分钟
Array Size10分钟
Assignments 14_array_max, 15_tests_subseq, 16_subseq10分钟
Quiz1 个练习
Array Basics6分钟
Week
3
Clock
完成时间为 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....
Reading
4 个视频(共 22 分钟), 18 个阅读材料, 2 个测验
Video4 个视频
Copy a String4分钟
Incompatible Representations5分钟
Buffer Overflow4分钟
Reading18 个阅读材料
String Literals10分钟
Mutable Strings10分钟
String Equality10分钟
String Copying10分钟
Converting Strings to ints10分钟
Standard Library Functions10分钟
Assignments 17_read_arr2 and 18_reverse_str10分钟
Introduction10分钟
Declaration10分钟
Indexing10分钟
Initializing10分钟
Array of Pointers10分钟
Incompatibility10分钟
Array of Strings10分钟
Assignments 19_bits_arr and 20_rot_matrix10分钟
Function Pointer Basics10分钟
Sorting Functions10分钟
Format String Attacks10分钟
Quiz2 个练习
Function Pointers6分钟
Security Hazards6分钟
Week
4
Clock
完成时间为 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. ...
Reading
8 个视频(共 29 分钟), 10 个阅读材料, 1 个测验
Video8 个视频
Writing Factorial Recursively6分钟
Translating Recursive Factorial to Code1分钟
Writing Fibonacci Recursively6分钟
Translate Recursive Fibonacci to Code4分钟
Duplication of Computation in Fibonacci1分钟
Execution of the Tail Recursive Implementation of Factorial4分钟
Execution of Mutually Recursive isOdd and isEven1分钟
Reading10 个阅读材料
Introduction to Recursion2分钟
Reading Recursive Code10分钟
Principles of Writing Recursive Code10分钟
Is Recursion Slow?10分钟
Assignment 21_read_rec110分钟
Tail Recursion10分钟
Equivalence of Tail Recursion and Iteration10分钟
Mutual Recursion10分钟
Assignments 22_tests_power and 23_power_rec10分钟
(Optional) Recursion Theory10分钟
Quiz1 个练习
Reading Recursion6分钟
4.4

热门审阅

创建者 DHAug 13th 2018

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

讲师

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering

Anne Bracy

Senior Lecturer
Computer Science, Cornell University

Genevieve M. Lipp

Adjunct Professor
Electrical and Computer Engineering/Mechanical Engineering

关于 Duke University

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

常见问题

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

  • 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.

还有其他问题吗?请访问 学生帮助中心