Informações sobre o curso
119,730 visualizações recentes

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível iniciante

Aprox. 15 horas para completar

Sugerido: 4 weeks of study, 6–8 hours/week...


Legendas: Inglês, Vietnamita

Habilidades que você terá

AlgorithmsProgramming Language ConceptsProblem SolvingC Programming

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível iniciante

Aprox. 15 horas para completar

Sugerido: 4 weeks of study, 6–8 hours/week...


Legendas: Inglês, Vietnamita

Programa - O que você aprenderá com este curso

2 horas para concluir


This module introduces a powerful process for solving any programming problem—the Seven Steps. You will learn how to approach a programming problem methodically, so you can formulate an algorithm that is specific and correct. You will work through examples with sequences of numbers and graphical patterns to develop the skill of algorithm development.

8 vídeos ((Total 33 mín.)), 9 leituras, 3 testes
8 videos
Stepping Through An Algorithm4min
Testing an Algorithm for a Numerical Sequence3min
A Pattern of Squares4min
Testing a Pattern of Squares2min
Drawing a Rectangle4min
Closest Point5min
Generalizing Closest Point5min
9 leituras
Programming: Plan First, Then Code3min
Overview of the Seven Steps5min
Step 1: Work an Example Yourself5min
Step 2: Write Down What You Just Did4min
Step 3: Generalize Your Steps10min
Step 4: Test Your Algorithm9min
A Pattern of Squares6min
Next Steps4min
3 exercícios práticos
Steps 1–46min
Algorithm Practice6min
4 horas para concluir

Reading Code

In this module, you will learn to read code—this means you will be able to execute a piece of code by hand, and clearly illustrate what each statement does and what the state of the program is. Understanding how to read code is the only way to be sure you can write correct code. By the end of this module, you will be able to read and understand code with functions, conditional statements, iteration, and other fundamental techniques.

12 vídeos ((Total 38 mín.)), 17 leituras, 8 testes
12 videos
Declaring and Assigning a Variable2min
Examples of Expressions2min
Using Functions for Abstraction4min
Execution of Function Calls4min
Printing Example2min
Execution of If/Else3min
Execution of Switch/Case3min
While Loops3min
Equivalent For and While Loops2min
Execution of Nested Loops3min
Execution of Continue2min
17 leituras
Declaring a Variable10min
Assigning a Variable10min
Expressions with Common Operators10min
Anatomy of a Function10min
How to Evaluate a Function10min
Conditional Statements10min
Loops for Repetition10min
While Loops10min
Do/While Loops10min
For Loops10min
Continue and Break10min
Higher-level Meaning10min
8 exercícios práticos
Variables and Expressions8min
Logical Operators4min
Conditional Statements4min
While Loops2min
Reading Code16min
4 horas para concluir


Everything is a number to a computer, but types determine the size and interpretation of numbers. In this module you will learn about types beyond integers, both their conceptual representations, and their hardware representations in binary. You will learn basic data types, "non-number" types, and complex, custom types, as well as some important caveats, so you will avoid type-related programming mistakes.

8 vídeos ((Total 23 mín.)), 18 leituras, 6 testes
8 videos
Types and Formatted Output4min
Type Conversion2min
Everything Is a Number2min
Struct for a Rectangle2min
Uses of Typedef3min
Enumerated Types3min
A Duke Software Engineering Student on the Importance of Planning3min
18 leituras
Converting between Decimal and Binary10min
Looking under the Hood10min
Basic Data Types10min
float and double10min
Printing redux10min
Expressions Have Types10min
Type Conversion10min
Overflow and Underflow10min
Sound and Video10min
Enumerated Types10min
6 exercícios práticos
Decimal, Hex, and Binary8min
Basic Data Types8min
Expressions Have Types6min
Complex, Custom Data Types6min
1 hora para concluir


You have learned a lot about designing algorithms and the programming concepts that will help you implement them. For this project, you will develop and test your own algorithm for sorting data. This module will reinforce the importance of being specific when you write an algorithm and provide an opportunity for you to do so yourself, for a very common computational task: sorting.

2 vídeos ((Total 4 mín.)), 1 leitura, 1 teste
2 videos
Introduction to Sorting1min
1 leituras
Sample PB&J Algorithm with Feedback10min
1 exercício prático
Writing a Sorting Algorithm1h
213 avaliaçõesChevron Right


comecei uma nova carreira após concluir estes cursos


consegui um benefício significativo de carreira com este curso


recebi um aumento ou promoção

Principais avaliações do Programming Fundamentals

por SSApr 21st 2019

I love the focus of this first course in the specialization is about problem solving and developing a mindset for programming. The course is well thought out and concepts are clearly explained!

por MMDec 27th 2017

Well worth it! Hated it in the beginning, couldn't wrap my head around the algorithms, but the course studies helped, kept reading, watching the videos, FINALLY got it!\n\n100% can recommend!



Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering

Genevieve M. Lipp

Assistant Professor of the Practice
Electrical and Computer Engineering/Mechanical Engineering and Materials Science

Anne Bracy

Senior Lecturer
Computer Science, Cornell University

Sobre Universidade Duke

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.