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

100% онлайн

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

Гибкие сроки

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

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

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

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

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

Английский

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

100% онлайн

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

Гибкие сроки

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

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

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

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

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

Английский

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

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

Неделя
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 videos (Total 16 min), 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 videos (Total 18 min), 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 videos (Total 22 min), 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 videos (Total 29 min), 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.6
Рецензии: 9Chevron Right

Лучшие рецензии

автор: 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

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

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

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

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