課程信息
4.4
42 個評分
9 個審閱
專項課程

第 3 門課程(共 4 門),位於

100% 在線

100% 在線

立即開始,按照自己的計劃學習。
可靈活調整截止日期

可靈活調整截止日期

根據您的日程表重置截止日期。
初級

初級

完成時間(小時)

完成時間大約為17 小時

建議:4 weeks of study, 6–8 hours/week...
可選語言

英語(English)

字幕:英語(English)...
專項課程

第 3 門課程(共 4 門),位於

100% 在線

100% 在線

立即開始,按照自己的計劃學習。
可靈活調整截止日期

可靈活調整截止日期

根據您的日程表重置截止日期。
初級

初級

完成時間(小時)

完成時間大約為17 小時

建議:4 weeks of study, 6–8 hours/week...
可選語言

英語(English)

字幕:英語(English)...

教學大綱 - 您將從這門課程中學到什麼

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....
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分鐘
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....
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分鐘
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....
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分鐘
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. ...
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.

講師

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

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

常見問題

  • 注册以便获得证书后,您将有权访问所有视频、测验和编程作业(如果适用)。只有在您的班次开课之后,才可以提交和审阅同学互评作业。如果您选择在不购买的情况下浏览课程,可能无法访问某些作业。

  • 您注册课程后,将有权访问专项课程中的所有课程,并且会在完成课程后获得证书。您的电子课程证书将添加到您的成就页中,您可以通过该页打印您的课程证书或将其添加到您的领英档案中。如果您只想阅读和查看课程内容,可以免费旁听课程。

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

還有其他問題嗎?請訪問 學生幫助中心