Об этом курсе
4.2
Оценки: 14
Рецензии: 3
The final course in the specialization Introduction to Programming in C will teach you powerful new programming techniques for interacting with the user and the system and dynamically allocating memory. You will learn more sophisticated uses for pointers, such as strings and multidimensional arrays, as well as how to write programs that read and write files and take input from the user. Learning about dynamic memory allocation will allow your programs to perform complex tasks that will be applied in the final part of the specialization project: a Monte Carlo simulation for calculating poker hand probabilities....
Globe

Только онлайн-курсы

Начните сейчас и учитесь по собственному графику.
Calendar

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Beginner Level

Начальный уровень

Clock

Approx. 14 hours to complete

Предполагаемая нагрузка: 4 weeks of study, 6–8 hours/week...
Comment Dots

English

Субтитры: English...
Globe

Только онлайн-курсы

Начните сейчас и учитесь по собственному графику.
Calendar

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Beginner Level

Начальный уровень

Clock

Approx. 14 hours to complete

Предполагаемая нагрузка: 4 weeks of study, 6–8 hours/week...
Comment Dots

English

Субтитры: English...

Программа курса: что вы изучите

Week
1
Clock
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_encrмин
Writing to Files10мин
Closing Files10мин
Other Interactions10мин
Assignments 26_tests_matrix_input and 27_matrix_inputмин
Quiz5 практического упражнения
The Operating System6мин
Command Line Arguments and Process Creation6мин
Opening Files and fgetc6мин
Reading encryption.c6мин
Writing and Closing Files8мин
Week
2
Clock
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_minesweeperмин
Quiz5 практического упражнения
malloc6мин
free8мин
realloc4мин
getline8мин
Valgrind's Memcheck20мин
Week
3
Clock
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_togetherмин
Quiz2 практического упражнения
Abstraction6мин
Readability6мин
Week
4
Clock
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 Partмин

Преподавателя

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.

Остались вопросы? Посетите Центр поддержки учащихся.