About this Specialization

92,418 recent views
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.
Learner Career Outcomes
33%
Started a new career after completing this specialization.
50%
Got a pay increase or promotion.

Shareable Certificate

Earn a Certificate upon completion

100% online courses

Start instantly and learn at your own schedule.

Flexible Schedule

Set and maintain flexible deadlines.

Beginner Level

Approx. 5 months to complete

Suggested 4 hours/week

English

Subtitles: English, Vietnamese
Learner Career Outcomes
33%
Started a new career after completing this specialization.
50%
Got a pay increase or promotion.

Shareable Certificate

Earn a Certificate upon completion

100% online courses

Start instantly and learn at your own schedule.

Flexible Schedule

Set and maintain flexible deadlines.

Beginner Level

Approx. 5 months to complete

Suggested 4 hours/week

English

Subtitles: English, Vietnamese

There are 4 Courses in this Specialization

Course1

Course 1

Programming Fundamentals

4.7
stars
2,607 ratings
690 reviews
Course2

Course 2

Writing, Running, and Fixing Code in C

4.4
stars
393 ratings
87 reviews
Course3

Course 3

Pointers, Arrays, and Recursion

4.5
stars
179 ratings
48 reviews
Course4

Course 4

Interacting with the System and Managing Memory

4.4
stars
84 ratings
18 reviews

Offered by

Duke University logo

Duke University

Frequently Asked Questions

  • If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.

  • Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.

  • Yes, Coursera provides financial aid to learners who cannot afford the fee. Apply for it by clicking on the Financial Aid link beneath the "Enroll" button on the left. You'll be prompted to complete an application and will be notified if you are approved. You'll need to complete this step for each course in the Specialization, including the Capstone Project. Learn more.

  • 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. If you only want to read and view the course content, you can audit the course for free. If you cannot afford the fee, you can apply for financial aid.

  • This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.

  • Each course is designed to take 4 weeks of study, with 6–8 hours per week. Some learners may work through the specialization more or less quickly.

  • This specialization is for learners who have an interest in learning how to program, for people with no programming experience or for people with some experience who would like to gain solid fundamentals and a deeper understanding of how to program effectively.

  • If you are new to programming, you should take the courses in order. Otherwise, you could start with Course 2 or Course 3, depending on your previous experience. Intermediate programmers new to C may like to start with Course 1 to learn the basics of syntax (and review algorithm design relevant to all languages).

  • Successfully completing the Specialization confers a Coursera Certificate with the instructors' signatures. This is different from Duke University course credit.

  • You will be able to approach a programming problem systematically, from designing an algorithm, to implementing it in code, to thoroughly testing your code. You will have a strong foundation in programming principles and be able to use C syntax fluently. Your final project will prove you can write a sophisticated program of intermediate scale—a Monte Carlo simulation to calculate poker hand probabilities.

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

More questions? Visit the Learner Help Center.