Programming Fundamentals (Coursera)

Offered by Duke University,
Programming Fundamentals (Coursera)

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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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.
Course 1 of 4 in the Introduction to Programming in C Specialization.

Syllabus

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

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

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

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

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Sep 7th 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Sep 7th 2026
4 Weeks
Playing to Your Strengths by StandOut (Coursera) Coursera
Automatic Data Processing (ADP)

Playing to Your Strengths by StandOut (Coursera)

Playing to Your Strengths is designed for any professional individual striving to be more productive and more focused today than they were yesterday and those who want to make their greatest contributions at work and in life by embracing a strengths-based mindset. Based on the six-part film series Trombone Player Wanted from Marcus Buckingham, this 6-week course includes video demonstrations, practice simulations, a course guide, and reflection activities that will inspire you to identify your strengths and make them a vital and sustainable part of your everyday life.

Sep 7th 2026
5-12 Weeks
Computer Science: Programming with a Purpose (Coursera) Coursera
Princeton University

Computer Science: Programming with a Purpose (Coursera)

The basis for education in the last millennium was “reading, writing, and arithmetic;” now it is reading, writing, and computing. Learning to program is an essential part of the education of every student, not just in the sciences and engineering, but in the arts, social sciences, and humanities, as well. Beyond direct applications, it is the first step in understanding the nature of computer science’s undeniable impact on the modern world.

Sep 7th 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 1) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 1) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Sep 7th 2026
5-12 Weeks
Customer Relationship Management (Coursera) Coursera
Starweaver

Customer Relationship Management (Coursera)

Customer Relationship Management (CRM) is a comprehensive course that explores various aspects of CRM, from data-driven strategies to customer segmentation and loyalty programs. The course is designed in three stages, each building upon the previous one, and includes self-paced learning with pre-recorded video lectures, exercises, and interactive quizzes. Real-world case studies and problem-solving exercises are introduced in the Intermediate and Advanced stages to simulate real CRM challenges.

Sep 7th 2026
1 Week
Innovation for Impact (i4i) The Carlson-Polizzotto Method of Value Creation (Coursera) Coursera
Northeastern University

Innovation for Impact (i4i) The Carlson-Polizzotto Method of Value Creation (Coursera)

Welcome! Partnering with Tech industry giants Curtis Carlson and Len Polizzotto, Northeastern University brings you “Value Creation: The Carlson-Polizzotto Method” a short-form course experience like no other. Building careers by solving for the value proposition - Curt and Len are responsible for driving the integration of the software technology behind Apple’s voice command intelligent assistant and creating the standard for high definition television - now known to billions today as Siri and HDTV.

Sep 7th 2026
1 Week
Algorithmic Thinking (Part 2) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 2) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Sep 7th 2026
4 Weeks
C# for .NET Developers (Coursera) Coursera
Board Infinity

C# for .NET Developers (Coursera)

In this course you will be introduced to everything from the basics of programming concepts like variables, data types, and control structures, to more advanced topics like object-oriented programming, etc. By the end of the course, you'll have a solid understanding of C# programming, the .NET framework, and how to use them to build a variety of applications. You'll have the skills and knowledge you need to start your career as a C# developer or take your current skills to the next level.

Sep 7th 2026
3 Weeks
Foundations of Data Science: K-Means Clustering in Python (Coursera) Coursera
University of London,Goldsmiths, University of London

Foundations of Data Science: K-Means Clustering in Python (Coursera)

This MOOC, designed by an academic team from Goldsmiths, University of London, will quickly introduce you to the core concepts of Data Science to prepare you for intermediate and advanced Data Science courses. It focuses on the basic mathematics, statistics and programming skills that are necessary for typical data analysis tasks.

Sep 7th 2026
5-12 Weeks