VOOZH about

URL: https://www.coursera.org/learn/programming-fundamentals

⇱ Programming Fundamentals | Coursera


Programming Fundamentals

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Programming Fundamentals

236,409 already enrolled

Included with

β€’

Learn more

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.7

7,021 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
94%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.7

7,021 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
94%
Most learners liked this course

What you'll learn

  • Apply the Seven Steps problem-solving process to develop effective algorithms.

  • Analyze code with functions, conditional statements, iteration, and other fundamental techniques.

  • Identify data types beyond integers and some important caveats for avoiding programming mistakes.

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

19 assignments

Taught in English

Build your subject-matter expertise

This course is part of the Introductory C Programming Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 4 modules in this course

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.

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.

What's included

8 videos10 readings4 assignments

8 videosβ€’Total 33 minutes
  • Why You Should Learn to Programβ€’4 minutes
  • Stepping Through An Algorithmβ€’4 minutes
  • Testing an Algorithm for a Numerical Sequenceβ€’3 minutes
  • A Pattern of Squaresβ€’5 minutes
  • Testing a Pattern of Squaresβ€’2 minutes
  • Drawing a Rectangleβ€’4 minutes
  • Closest Pointβ€’5 minutes
  • Generalizing Closest Pointβ€’5 minutes
10 readingsβ€’Total 66 minutes
  • Programming: Plan First, Then Codeβ€’3 minutes
  • Overview of the Seven Stepsβ€’5 minutes
  • Algorithmsβ€’10 minutes
  • Report a problem with the courseβ€’10 minutes
  • Step 1: Work an Example Yourselfβ€’5 minutes
  • Step 2: Write Down What You Just Didβ€’4 minutes
  • Step 3: Generalize Your Stepsβ€’10 minutes
  • Step 4: Test Your Algorithmβ€’9 minutes
  • A Pattern of Squaresβ€’6 minutes
  • Next Stepsβ€’4 minutes
4 assignmentsβ€’Total 120 minutes
  • Algorithmsβ€’30 minutes
  • How to Write a Program with the Seven Stepsβ€’30 minutes
  • Steps 1–4β€’30 minutes
  • Algorithm Practiceβ€’30 minutes

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.

What's included

12 videos17 readings8 assignments

12 videosβ€’Total 38 minutes
  • Why You Should Learn to Read Codeβ€’3 minutes
  • Declaring and Assigning a Variableβ€’2 minutes
  • Examples of Expressionsβ€’2 minutes
  • Using Functions for Abstractionβ€’4 minutes
  • Execution of Function Callsβ€’5 minutes
  • Printing Exampleβ€’3 minutes
  • Execution of If/Elseβ€’3 minutes
  • Execution of Switch/Caseβ€’3 minutes
  • While Loopsβ€’3 minutes
  • Equivalent For and While Loopsβ€’2 minutes
  • Execution of Nested Loopsβ€’4 minutes
  • Execution of Continueβ€’3 minutes
17 readingsβ€’Total 170 minutes
  • Declaring a Variableβ€’10 minutes
  • Assigning a Variableβ€’10 minutes
  • Expressions with Common Operatorsβ€’10 minutes
  • Anatomy of a Functionβ€’10 minutes
  • How to Evaluate a Functionβ€’10 minutes
  • Scopeβ€’10 minutes
  • Printingβ€’10 minutes
  • Conditional Statementsβ€’10 minutes
  • If/Elseβ€’10 minutes
  • Switch/Caseβ€’10 minutes
  • Shorthandβ€’10 minutes
  • Loops for Repetitionβ€’10 minutes
  • While Loopsβ€’10 minutes
  • Do/While Loopsβ€’10 minutes
  • For Loopsβ€’10 minutes
  • Continue and Breakβ€’10 minutes
  • Higher-level Meaningβ€’10 minutes
8 assignmentsβ€’Total 240 minutes
  • Reading Codeβ€’30 minutes
  • Variables and Expressionsβ€’30 minutes
  • Functions β€’30 minutes
  • Printing β€’30 minutes
  • Logical Operators β€’30 minutes
  • Conditional Statementsβ€’30 minutes
  • While Loops β€’30 minutes
  • Loops β€’30 minutes

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.

What's included

8 videos18 readings6 assignments

8 videosβ€’Total 23 minutes
  • Introduction to Typesβ€’1 minute
  • Types and Formatted Outputβ€’4 minutes
  • Type Conversionβ€’2 minutes
  • Everything Is a Numberβ€’3 minutes
  • Struct for a Rectangleβ€’2 minutes
  • Uses of Typedefβ€’3 minutes
  • Enumerated Typesβ€’3 minutes
  • A Duke Software Engineering Student on the Importance of Planningβ€’4 minutes
18 readingsβ€’Total 180 minutes
  • Binary Numbersβ€’10 minutes
  • Looking under the Hoodβ€’10 minutes
  • Basic Data Typesβ€’10 minutes
  • charβ€’10 minutes
  • intβ€’10 minutes
  • float and doubleβ€’10 minutes
  • Printing reduxβ€’10 minutes
  • Expressions Have Typesβ€’10 minutes
  • Type Conversionβ€’10 minutes
  • Castingβ€’10 minutes
  • Overflow and Underflowβ€’10 minutes
  • "Non-numbers"β€’10 minutes
  • Stringsβ€’10 minutes
  • Imagesβ€’10 minutes
  • Sound and Videoβ€’10 minutes
  • Structsβ€’10 minutes
  • Typedefβ€’10 minutes
  • Enumerated Typesβ€’10 minutes
6 assignmentsβ€’Total 180 minutes
  • Typesβ€’30 minutes
  • Decimal, Hex, and Binaryβ€’30 minutes
  • Basic Data Typesβ€’30 minutes
  • Expressions Have Types β€’30 minutes
  • "Non-numbers"β€’30 minutes
  • Complex, Custom Data Typesβ€’30 minutes

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.

What's included

2 videos2 readings1 assignment

2 videosβ€’Total 4 minutes
  • Importance of Writing a Specific Algorithmβ€’2 minutes
  • Introduction to Sortingβ€’2 minutes
2 readingsβ€’Total 20 minutes
  • Sample PB&J Algorithm with Feedbackβ€’10 minutes
  • Share your learning experienceβ€’10 minutes
1 assignmentβ€’Total 60 minutes
  • Writing a Sorting Algorithmβ€’60 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructors

Instructor ratings
4.7 (1,970 ratings)
Duke University
19 Coursesβ€’1,144,956 learners

Explore more from Algorithms

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    74.76%

  • 4 stars

    20.01%

  • 3 stars

    3%

  • 2 stars

    0.82%

  • 1 star

    1.38%

Showing 3 of 7021

JL
Β·

Reviewed on Nov 25, 2025

compared to other courses each module felt a bit long, to many lessons for one module, there was also a lot of reading, i would have liked more videos and excercises. The content was very good

ER
Β·

Reviewed on Aug 13, 2020

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.

MK
Β·

Reviewed on Jan 27, 2021

It's a very good as a beginning with programing language. It helped me to think like a compiler and how it exactly works. I've finally understood the saying "Everything in computer works in logic".β™₯

Frequently asked questions

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.

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

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.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,