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

Duke University

Programming Fundamentals

Duke University via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Embark on your programming journey! This introductory course teaches you the fundamental principles of programming in C that are applicable to any language you might want to learn. Master a powerful seven-step problem-solving process for developing effective algorithms. Learn to read and understand code, transforming complex challenges into manageable solutions. No prior experience needed. Develop core skills for software development and enhance your career prospects in diverse fields. By the end of this course, you will be able to develop algorithms that are specific and correct.

Syllabus

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

Taught by

Andrew D. Hilton, Genevieve M. Lipp and Anne Bracy

Reviews

4.7 rating at Coursera based on 6995 ratings

Start your review of Programming Fundamentals

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.