Informações sobre o curso
4.6
46 classificações
9 avaliações
Programa de cursos integrados
100% online

100% online

Comece imediatamente e aprenda em seu próprio cronograma.
Prazos flexíveis

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.
Nível iniciante

Nível iniciante

Horas para completar

Aprox. 17 horas para completar

Sugerido: 4 weeks of study, 6–8 hours/week...
Idiomas disponíveis

Inglês

Legendas: Inglês
Programa de cursos integrados
100% online

100% online

Comece imediatamente e aprenda em seu próprio cronograma.
Prazos flexíveis

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.
Nível iniciante

Nível iniciante

Horas para completar

Aprox. 17 horas para completar

Sugerido: 4 weeks of study, 6–8 hours/week...
Idiomas disponíveis

Inglês

Legendas: Inglês

Programa - O que você aprenderá com este curso

Semana
1
Horas para completar
3 horas para concluir

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 leituras, 3 testes
Video5 videos
Naive Swap2min
Pointers2min
Corrected Swap2min
Swap with Hardware6min
Reading15 leituras
Pointer Basics10min
Pictures10min
Swap Revisited10min
The Practice Programming Environment10min
Assignment 11_read_ptr110min
Pointers under the Hood10min
A Program's View of Memory10min
NULL10min
Pointers to Structs10min
Pointers to Pointers10min
const10min
Aliasing10min
Pointer Arithmetic10min
Use Memory Checker Tools10min
Assignment 12_read_ptr210min
Quiz3 exercícios práticos
Pointers Conceptually6min
Pointers in Hardware6min
Pointers to Sophisticated Types6min
Semana
2
Horas para completar
2 horas para concluir

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 leituras, 1 teste
Video5 videos
Array Access with Pointer Indexing1min
Index of Largest Element6min
Closest Point Step-Through3min
Dangling Pointers3min
Reading9 leituras
Cryptography Motivation10min
Array Declaration and Initialization10min
Accessing an Array10min
Passing Arrays as Parameters10min
Writing Code with Arrays10min
Assignment 13_read_arr110min
Dangling Pointers10min
Array Size10min
Assignments 14_array_max, 15_tests_subseq, 16_subseq10min
Quiz1 exercício prático
Array Basics6min
Semana
3
Horas para completar
4 horas para concluir

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 leituras, 2 testes
Video4 videos
Copy a String4min
Incompatible Representations5min
Buffer Overflow4min
Reading18 leituras
String Literals10min
Mutable Strings10min
String Equality10min
String Copying10min
Converting Strings to ints10min
Standard Library Functions10min
Assignments 17_read_arr2 and 18_reverse_str10min
Introduction10min
Declaration10min
Indexing10min
Initializing10min
Array of Pointers10min
Incompatibility10min
Array of Strings10min
Assignments 19_bits_arr and 20_rot_matrix10min
Function Pointer Basics10min
Sorting Functions10min
Format String Attacks10min
Quiz2 exercícios práticos
Function Pointers6min
Security Hazards6min
Semana
4
Horas para completar
2 horas para concluir

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 leituras, 1 teste
Video8 videos
Writing Factorial Recursively6min
Translating Recursive Factorial to Code1min
Writing Fibonacci Recursively6min
Translate Recursive Fibonacci to Code4min
Duplication of Computation in Fibonacci1min
Execution of the Tail Recursive Implementation of Factorial4min
Execution of Mutually Recursive isOdd and isEven1min
Reading10 leituras
Introduction to Recursion2min
Reading Recursive Code10min
Principles of Writing Recursive Code10min
Is Recursion Slow?10min
Assignment 21_read_rec110min
Tail Recursion10min
Equivalence of Tail Recursion and Iteration10min
Mutual Recursion10min
Assignments 22_tests_power and 23_power_rec10min
(Optional) Recursion Theory10min
Quiz1 exercício prático
Reading Recursion6min
4.6
9 avaliaçõesChevron Right

Melhores avaliações

por DHAug 13th 2018

End of course project was challenging and fun. Lots of opportunity to learn how to debug memory issues with valgrind.

Instrutores

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

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

Sobre o Programa de cursos integrados 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

Perguntas Frequentes – FAQ

  • Ao se inscrever para um Certificado, você terá acesso a todos os vídeos, testes e tarefas de programação (se aplicável). Tarefas avaliadas pelos colegas apenas podem ser enviadas e avaliadas após o início da sessão. Caso escolha explorar o curso sem adquiri-lo, talvez você não consiga acessar certas tarefas.

  • Quando você se inscreve no curso, tem acesso a todos os cursos na Especialização e pode obter um certificado quando concluir o trabalho. Seu Certificado eletrônico será adicionado à sua página de Participações e você poderá imprimi-lo ou adicioná-lo ao seu perfil no LinkedIn. Se quiser apenas ler e assistir o conteúdo do curso, você poderá frequentá-lo como ouvinte sem custo.

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

Mais dúvidas? Visite o Central de Ajuda ao Aprendiz.