Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class. This course will introduce you to a powerful problem-solving process—the Seven Steps—which you can use to solve any programming problem. In this course, you will learn how to develop an algorithm, then progress to reading code and understanding how programming concepts relate to algorithms.
Offered By
About this Course
Learner Career Outcomes
27%
27%
17%
Skills you will gain
Learner Career Outcomes
27%
27%
17%
Offered by

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.
Syllabus - What you will learn from this course
Introduction
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.
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.
Types
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.
Project
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.
Reviews
TOP REVIEWS FROM PROGRAMMING FUNDAMENTALS
Great for total beginners. Would totally recommend to college students who just started their programming classes in C.\n\nNot for professionals eager to brush up their skills.Since it's too basic.
The instruction provided in this course are very clear and anyone who can learn coding by this course. But the course has more readable content for you to take notes and reading it may take more time.
I love the way of approaching from planning then coding.The basic taught here are really awesome.I think enumeration concepts should be included in upcoming courses in this specialization thank you
The course was quite good in every aspect and it met my expectations and thanks to duke university for providing such a good course and also thanks to coursera for providing such good platform for us.
About the Introduction to Programming in C Specialization
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.

Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
Will I receive a transcript from Duke University for completing this course?
Will I earn university credit for completing the Course?
More questions? Visit the Learner Help Center.