Acerca de este Curso
153,165 vistas recientes

100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.

Nivel principiante

Aprox. 15 horas para completar

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

Inglés (English)

Subtítulos: Inglés (English), Vietnamita

Habilidades que obtendrás

AlgorithmsProgramming Language ConceptsProblem SolvingC Programming

100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.

Nivel principiante

Aprox. 15 horas para completar

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

Inglés (English)

Subtítulos: Inglés (English), Vietnamita

Programa - Qué aprenderás en este curso

2 horas para completar


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 videos (Total 33 minutos), 9 readings, 3 quizzes
8 videos
A Pattern of Squares4m
Testing a Pattern of Squares2m
Drawing a Rectangle4m
Closest Point5m
Generalizing Closest Point5m
9 lecturas
Programming: Plan First, Then Code3m
Overview of the Seven Steps5m
Step 1: Work an Example Yourself5m
Step 2: Write Down What You Just Did4m
Step 3: Generalize Your Steps10m
Step 4: Test Your Algorithm9m
A Pattern of Squares6m
Next Steps4m
3 ejercicios de práctica
Steps 1–46m
Algorithm Practice6m
4 horas para completar

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 videos (Total 38 minutos), 17 readings, 8 quizzes
12 videos
Using Functions for Abstraction4m
Execution of Function Calls4m
Printing Example2m
Execution of If/Else3m
Execution of Switch/Case3m
While Loops3m
Equivalent For and While Loops2m
Execution of Nested Loops3m
Execution of Continue2m
17 lecturas
Declaring a Variable10m
Assigning a Variable10m
Expressions with Common Operators10m
Anatomy of a Function10m
How to Evaluate a Function10m
Conditional Statements10m
Loops for Repetition10m
While Loops10m
Do/While Loops10m
For Loops10m
Continue and Break10m
Higher-level Meaning10m
8 ejercicios de práctica
Variables and Expressions8m
Logical Operators4m
Conditional Statements4m
While Loops2m
Reading Code16m
4 horas para completar


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 videos (Total 23 minutos), 18 readings, 6 quizzes
8 videos
Everything Is a Number2m
Struct for a Rectangle2m
Uses of Typedef3m
Enumerated Types3m
A Duke Software Engineering Student on the Importance of Planning3m
18 lecturas
Converting between Decimal and Binary10m
Looking under the Hood10m
Basic Data Types10m
float and double10m
Printing redux10m
Expressions Have Types10m
Type Conversion10m
Overflow and Underflow10m
Sound and Video10m
Enumerated Types10m
6 ejercicios de práctica
Decimal, Hex, and Binary8m
Basic Data Types8m
Expressions Have Types6m
Complex, Custom Data Types6m
1 hora para completar


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 videos (Total 4 minutos), 1 reading, 1 quiz
1 lectura
Sample PB&J Algorithm with Feedback10m
1 ejercicio de práctica
Writing a Sorting Algorithm1h
230 revisionesChevron Right


comenzó una nueva carrera después de completar estos cursos


consiguió un beneficio tangible en su carrera profesional gracias a este curso


consiguió un aumento de sueldo o ascenso

Principales revisiones sobre 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 AMApr 8th 2019

Really great course. Took this as a refresher. I feel that the content of this course was significantly higher quality than the programming tuition I received in first semester of university.



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

Acerca de Universidad 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....

Acerca del programa especializado 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

Preguntas Frecuentes

  • Una vez que te inscribes para obtener un Certificado, tendrás acceso a todos los videos, cuestionarios y tareas de programación (si corresponde). Las tareas calificadas por compañeros solo pueden enviarse y revisarse una vez que haya comenzado tu sesión. Si eliges explorar el curso sin comprarlo, es posible que no puedas acceder a determinadas tareas.

  • Cuando te inscribes en un curso, obtienes acceso a todos los cursos que forman parte del Programa especializado y te darán un Certificado cuando completes el trabajo. Se añadirá tu Certificado electrónico a la página Logros. Desde allí, puedes imprimir tu Certificado o añadirlo a tu perfil de LinkedIn. Si solo quieres leer y visualizar el contenido del curso, puedes auditar el curso sin costo.

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

¿Tienes más preguntas? Visita el Centro de Ayuda al Alumno.