About this Course
4.6
357 ratings
75 reviews
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....
Globe

100% online courses

Start instantly and learn at your own schedule.
Calendar

Flexible deadlines

Reset deadlines in accordance to your schedule.
Beginner Level

Beginner Level

Clock

Approx. 15 hours to complete

Suggested: 4 weeks of study, 6–8 hours/week...
Comment Dots

English

Subtitles: English...

Skills you will gain

AlgorithmsProgramming Language ConceptsProblem SolvingC Programming
Globe

100% online courses

Start instantly and learn at your own schedule.
Calendar

Flexible deadlines

Reset deadlines in accordance to your schedule.
Beginner Level

Beginner Level

Clock

Approx. 15 hours to complete

Suggested: 4 weeks of study, 6–8 hours/week...
Comment Dots

English

Subtitles: English...

Syllabus - What you will learn from this course

Week
1
Clock
2 hours to complete

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
8 videos (Total 33 min), 9 readings, 3 quizzes
Video8 videos
Stepping Through An Algorithm4m
Testing an Algorithm for a Numerical Sequence3m
A Pattern of Squares4m
Testing a Pattern of Squares2m
Drawing a Rectangle4m
Closest Point5m
Generalizing Closest Point5m
Reading9 readings
Programming: Plan First, Then Code3m
Overview of the Seven Steps5m
Algorithms10m
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
Quiz3 practice exercises
Steps 1–46m
Algorithm Practice6m
Algorithms30m
Week
2
Clock
4 hours to complete

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....
Reading
12 videos (Total 38 min), 17 readings, 8 quizzes
Video12 videos
Declaring and Assigning a Variable2m
Examples of Expressions2m
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
Reading17 readings
Declaring a Variable10m
Assigning a Variable10m
Expressions with Common Operators10m
Anatomy of a Function10m
How to Evaluate a Function10m
Scope10m
Printing10m
Conditional Statements10m
If/Else10m
Switch/Case10m
Shorthand10m
Loops for Repetition10m
While Loops10m
Do/While Loops10m
For Loops10m
Continue and Break10m
Higher-level Meaning10m
Quiz8 practice exercises
Variables and Expressions8m
Functions4m
Printing4m
Logical Operators4m
Conditional Statements4m
While Loops2m
Loops4m
Reading Code16m
Week
3
Clock
4 hours to complete

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....
Reading
7 videos (Total 19 min), 18 readings, 6 quizzes
Video7 videos
Types and Formatted Output4m
Type Conversion2m
Everything Is a Number2m
Struct for a Rectangle2m
Uses of Typedef3m
Enumerated Types3m
Reading18 readings
Converting between Decimal and Binary10m
Looking under the Hood10m
Basic Data Types10m
char10m
int10m
float and double10m
Printing redux10m
Expressions Have Types10m
Type Conversion10m
Casting10m
Overflow and Underflow10m
"Non-numbers"10m
Strings10m
Images10m
Sound and Video10m
Structs10m
Typedef10m
Enumerated Types10m
Quiz6 practice exercises
Decimal, Hex, and Binary8m
Basic Data Types8m
Expressions Have Types6m
"Non-numbers"6m
Complex, Custom Data Types6m
Types20m
Week
4
Clock
2 hours to complete

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....
Reading
2 videos (Total 4 min), 1 reading, 1 quiz
Video2 videos
Introduction to Sorting1m
Reading1 reading
Sample PB&J Algorithm with Feedback10m
4.6

Top Reviews

By 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!

By JTFeb 2nd 2018

This course is great. The teachers are fantastic at explaining the subject matter. I had failed a class at a community college in C++, this class makes it all make so much more sense.

Instructors

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering

Genevieve M. Lipp

Adjunct Professor
Electrical and Computer Engineering/Mechanical Engineering

Anne Bracy

Senior Lecturer
Computer Science, Cornell University

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

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

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

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

More questions? Visit the Learner Help Center.