課程信息
4.3
21 個評分
6 個審閱
專項課程

第 4 門課程(共 4 門)

100% 在線

100% 在線

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

可靈活調整截止日期

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

初級

完成時間(小時)

完成時間大約為20 小時

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

英語(English)

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

第 4 門課程(共 4 門)

100% 在線

100% 在線

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

可靈活調整截止日期

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

初級

完成時間(小時)

完成時間大約為20 小時

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

英語(English)

字幕:英語(English)

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

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. ...
Reading
5 個視頻 (總計 16 分鐘), 16 個閱讀材料, 5 個測驗
Video5 個視頻
Reading a File with fgetc4分鐘
Reading a File with fgets5分鐘
Writing to a File2分鐘
Closing a File2分鐘
Reading16 個閱讀材料
Assignment 24_read_arr330分鐘
Introduction to the Operating System10分鐘
Errors from System Calls10分鐘
Command Line Arguments10分鐘
Complex Option Processing10分鐘
The Environment Pointer10分鐘
Process Creation10分鐘
Opening a File10分鐘
Reading a File10分鐘
Reading a File with fgets10分鐘
Reading a File with fread10分鐘
Assignment 25_break_encrs
Writing to Files10分鐘
Closing Files10分鐘
Other Interactions10分鐘
Assignments 26_tests_matrix_input and 27_matrix_inputs
Quiz5 個練習
The Operating System6分鐘
Command Line Arguments and Process Creation6分鐘
Opening Files and fgetc6分鐘
Reading encryption.c6分鐘
Writing and Closing Files8分鐘
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....
Reading
7 個視頻 (總計 24 分鐘), 19 個閱讀材料, 5 個測驗
Video7 個視頻
Mechanics of free2分鐘
Code with a Memory Leak2分鐘
Three Common Problems When Using free1分鐘
Call to realloc4分鐘
Reading a File with getline5分鐘
Combining getline and realloc4分鐘
Reading19 個閱讀材料
Motivation for Dynamic Allocation10分鐘
malloc10分鐘
Fixing initArray10分鐘
More Complex Structures10分鐘
Shallow vs. Deep Copying10分鐘
free10分鐘
Memory Leaks10分鐘
A Dynamic Memory Allocation Analogy10分鐘
Common Problems with free10分鐘
realloc10分鐘
getline10分鐘
Valgrind's Memcheck10分鐘
Uninitialized Values10分鐘
Invalid Reads and Writes10分鐘
Valgrind with GDB10分鐘
Dynamic Allocation Issues10分鐘
memcheck.h3分鐘
Other Valgrind Tools3分鐘
Assignments 28_fix_vg_encr, 29_outname, 30_sort_lines, and 31_minesweepers
Quiz5 個練習
malloc6分鐘
free8分鐘
realloc4分鐘
getline8分鐘
Valgrind's Memcheck20分鐘
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!...
Reading
2 個視頻 (總計 6 分鐘), 21 個閱讀材料, 2 個測驗
Video2 個視頻
Roster Planning5分鐘
Reading21 個閱讀材料
Analogy to Writing10分鐘
Abstraction3分鐘
The Seven-Item Limit10分鐘
Hierarchical Abstraction10分鐘
Readability2分鐘
Function Size2分鐘
Naming4分鐘
Formatting10分鐘
Commenting and Documentation10分鐘
Team Considerations5分鐘
Git2分鐘
Past Versions5分鐘
Collaboration3分鐘
Multiple Versions of the Present5分鐘
Read More2分鐘
Problem Description5分鐘
Planning the High-Level Algorithm7分鐘
Writing and Testing readInput10分鐘
Finishing the Program10分鐘
Even Larger Programs5分鐘
Assignments 32_kvs, 33_counts, and 34_put_togethers
Quiz2 個練習
Abstraction6分鐘
Readability6分鐘
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!...
Reading
1 個視頻 (總計 4 分鐘), 1 個閱讀材料, 1 個測驗
Video1 個視頻
Reading1 個閱讀材料
Poker Project: Final Parts
4.3
6 個審閱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

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.

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