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

University of California, Santa Cruz

C for Everyone, Part 1: Programming Fundamentals

University of California, Santa Cruz via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
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.

Syllabus

  • Introduction
    • 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.
  • Lexical Elements and Data Types
    • 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.
  • Flow of Control and Simple Functions
    • 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.
  • Advanced Functions, Recursion, Arrays, and Pointers
    • 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.
  • Arrays and pointers
    • 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.
  • Final Exam
    • Congratulation! This is the end of the first part of the C for Everyone sequence. You will have an opportunity to assess your learning.

Taught by

Ira Pohl

Reviews

4.4 rating, based on 5 Class Central reviews

4.5 rating at Coursera based on 6769 ratings

Start your review of C for Everyone, Part 1: Programming Fundamentals

  • Anonymous
    Today, I took the first lecture. It is nice. I don't have any previous knowledge of C language but, I am able to understand what the instructor is teaching. Looking forward for the course.
  • Profile image for 08_DEBASISH SANTRA
    08_DEBASISH SANTRA
    2
    This course is very helpful to me. I an very happy to do this course. I am very poor.I am very happy to get this course for free.I wanted to do C programming too.
  • Anonymous
    Though professor is experienced but he is not so effective in what he is delivering. First time I get bored while taking course.......Although course is nice, I really appreciate their efforts.
  • Anonymous
    Sir I want to learn c language and codind
    in a very best way, each and every tip and link .
    Kindly enroll me for your free course/class.
  • Anonymous
    Sir I want to learn c language and codind
    in a very best way, each and every tip and link .
    Kindly enroll me for your free course/class.

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.