When you enroll in this course, you'll also be asked to select a specific program.
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 6 modules in this course
This course is for everyone. In the new world we live in, coding is a universally valuable skill, whether you're a scientist, artist, or a humanist. Algorithms are everywhere, and we all have to understand how they work. The C language is particularly well suited as an introduction to coding: It's a tried-and-true language, and it allows you to understand computing processes at a deep level.
This course is the first part of a two-course sequence. It is a hands-on introduction to programming in C, designed to guide learners step by step from the basics of syntax and data types to more advanced concepts such as control flow, functions, recursion, arrays, and pointers. Through video lessons, quizzes, programming exercises, and real debugging tasks, learners build foundational concepts and good coding practices. By the end, learners will be able to write clear C programs, debug effectively, and build the knowledge base needed for more advanced computer science and software development.
Welcome to C for Everyone, Part 1! This course will guide you step by step from basic syntax and data types to control flow, functions, recursion, arrays, and pointers, giving you the skills to write clear, well-structured C programs. In this module, you’ll learn the basics of the C language, explore its history, and write your first programs. You’ll practice compiling, debugging, and formatting code, then complete a first set of programming activities.
What's included
9 videos1 reading2 assignments
Show info about module content
9 videos•Total 68 minutes
🎥 Overview•5 minutes
🎥 History of C•2 minutes
🎥 Compiling, debugging, and running a program, part 1•8 minutes
🎥 Compiling, debugging, and running a program, part 2 (File included in Downloads)•13 minutes
In this module, you’ll dive deeper into the structure of C programs by exploring lexical elements, data types, and expressions. You’ll learn how to use operators, declarations, and fundamental types like int, char, and float, and understand how expressions are evaluated. You’ll build confidence in writing clear, well-structured C programs and apply these skills in programming tasks.
What's included
12 videos1 reading4 assignments
Show info about module content
12 videos•Total 102 minutes
🎥 Character sets and tokens•6 minutes
🎥 Comments•5 minutes
🎥 Keywords•8 minutes
🎥 Identifiers•11 minutes
🎥 Operators•9 minutes
🎥 Expressions and precedence (File included in Downloads)•8 minutes
🎥 Expression and evaluation•9 minutes
🎥 Declarations•6 minutes
🎥 Fundamental types and sizeof•10 minutes
🎥 The char type (File included in Downloads)•8 minutes
🎥 The int type•10 minutes
🎥 The integer and floating point types (Files included in Downloads)•11 minutes
1 reading•Total 10 minutes
📖 Problems from Chapter 1 of "A Book on C"•10 minutes
4 assignments•Total 60 minutes
❓ Fix Dr. P’s mistake (Module 2)•30 minutes
✍️ int quiz•0 minutes
✍️ Expressions quiz•0 minutes
❓Write a program that prints the sine function for an input x between (0, 1)•30 minutes
Flow of Control and Simple Functions
Module 3•2 hours to complete
Module details
In this module, you’ll learn how C programs make decisions and repeat actions through conditional and iterative statements. You’ll explore if, while, and for statements, understand how logical and relational operators control program flow, and discover why goto should be avoided. You’ll also write simple functions, applying these concepts in hands-on coding activities.
What's included
10 videos1 reading6 assignments
Show info about module content
10 videos•Total 62 minutes
🎥 Logical operators, expressions, and short-circuit evaluation•7 minutes
🎥 The conditional statement if and if-else•7 minutes
🎥 The iterative statement while•7 minutes
🎥 While-cnt-char-explained•6 minutes
🎥 While-code example•5 minutes
🎥 The for statement and its while analog•8 minutes
🎥 For statement code example•7 minutes
🎥 Oddball operators-conditional and comma•7 minutes
🎥 Ternary-operator code example•4 minutes
🎥 Break and continue and switch (File included in Downloads)•4 minutes
1 reading•Total 10 minutes
📖 Problem 23 from Chapter 2 of "A Book on C"•10 minutes
6 assignments•Total 60 minutes
✍️ Logic operators quiz•0 minutes
✍️ While loop questions•0 minutes
✍️ Switch questions•0 minutes
❓ Fix D. P's mistake (week 3)•30 minutes
✍️ Cond-comma-ops quiz•0 minutes
❓ Write a function that prints a table of values for sine and cosine between (0, 1)•30 minutes
Advanced Functions, Recursion, Arrays, and Pointers
Module 4•1 hour to complete
Module details
In this module, you’ll expand your understanding of functions by exploring prototypes, return statements, and variable scope. You’ll also learn how recursion works through classic examples like factorials and Fibonacci sequences. Finally, you’ll be introduced to arrays and pointers, two of the most powerful features in C.
What's included
11 videos
Show info about module content
11 videos•Total 66 minutes
🎥 Function definition•6 minutes
🎥 Function code example•5 minutes
🎥 Return statement•4 minutes
🎥 Function prototype•4 minutes
🎥 Function Prototype: code example•5 minutes
🎥 Function variables with call-by-value explained•8 minutes
🎥 Function definitions and scope rules•6 minutes
🎥 Storage class code example•7 minutes
🎥 Simple recursion•5 minutes
🎥 Recursion- factorial code•6 minutes
🎥 Recursion Fibonacci code (File included in Downloads)•9 minutes
Arrays and pointers
Module 5•2 hours to complete
Module details
In this module, you’ll deepen your understanding of how data is stored and accessed in C. You’ll learn to manipulate arrays, simulate call-by-reference, and apply sorting algorithms like bubble sort and merge sort. By the end, you’ll be able to write efficient programs that handle data collections and memory references.
What's included
11 videos1 assignment
Show info about module content
11 videos•Total 85 minutes
🎥 Pointers and simple arrays•7 minutes
🎥 Initialize arrays•8 minutes
🎥 Array-grade-code example•5 minutes
🎥 What is a pointer•10 minutes
🎥 Pointer code example•10 minutes
🎥 Call-by-reference simulated•7 minutes
🎥 Array as a parameter•5 minutes
🎥 Array-bubble-sort code•14 minutes
🎥 Merge sort overview•7 minutes
🎥 Merge code: Example 1•6 minutes
🎥 Merge code: Example 2 (File included in Downloads)•8 minutes
1 assignment•Total 30 minutes
❓ Compute the average weight for a population of elephant seals read into an array•30 minutes
Final Exam
Module 6•2 hours to complete
Module details
Congratulation! This is the end of the first part of the C for Everyone sequence. You will have an opportunity to assess your learning.
What's included
1 assignment
Show info about module content
1 assignment•Total 90 minutes
✍️ Final exam•90 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.
Instructor
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
UC Santa Cruz is an outstanding public research university with a deep commitment to undergraduate education. It’s a place that connects people and programs in unexpected ways while providing unparalleled opportunities for students to learn through hands-on experience.
"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."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
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."
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
4.5
6,781 reviews
5 stars
68.15%
4 stars
21.15%
3 stars
5.41%
2 stars
1.85%
1 star
3.42%
Showing 3 of 6781
H
HG
5·
Reviewed on Apr 9, 2022
It has a good summary of the essentials topics about C.It might have helped if the text in the videos would be more interactive. Even so, the professor and his classes were good explained.
S
SM
5·
Reviewed on Apr 27, 2020
e will know all the essential knowledge to moe forward. It is a very logical and steady building up procedure. It is an absolutely stunning course. Thanks for professor Iran Pol.
R
RC
5·
Reviewed on Aug 30, 2020
The course is great , and it's cover all the basic of C language .Without coursera I can't get knowledge from the world best teacher , Thank you Coursera and also the instructor.
When will I have access to the lectures and assignments?
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.
What will I get if I subscribe to this Specialization?
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.
Is financial aid available?
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.