Об этом курсе
4.4
Оценки: 21
Рецензии: 6
Специализация
100% онлайн

100% онлайн

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

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Начальный уровень

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

Часов на завершение

Прибл. 20 часа на выполнение

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

Английский

Субтитры: Английский
Специализация
100% онлайн

100% онлайн

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

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Начальный уровень

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

Часов на завершение

Прибл. 20 часа на выполнение

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

Английский

Субтитры: Английский

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

Неделя
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_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мин
Неделя
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_minesweeper
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_together
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 Part
4.4
Рецензии: 6Chevron 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

Часто задаваемые вопросы

  • Зарегистрировавшись на сертификацию, вы получите доступ ко всем видео, тестам и заданиям по программированию (если они предусмотрены). Задания по взаимной оценке сокурсниками можно сдавать и проверять только после начала сессии. Если вы проходите курс без оплаты, некоторые задания могут быть недоступны.

  • Записавшись на курс, вы получите доступ ко всем курсам в специализации, а также возможность получить сертификат о его прохождении. После успешного прохождения курса на странице ваших достижений появится электронный сертификат. Оттуда его можно распечатать или прикрепить к профилю 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.

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