Your browser is ancient!
Upgrade to a different browser to experience this site.

Exploring C

What You'll Learn

  • Learn the basics of C syntax
  • Identify the similarities and differences between C and Python
  • Understand the impact of C on modern programming
5 Modules
10 Hours
2 hrs per module (approx.)
Rating

About Exploring C

The C programming language is heavily influential in the world of coding and helps run some of the most powerful computer programs in the world. In Exploring C, examine the historical context and impact of C on the development of programming over the past 50 years. In this course, you’ll compare and contrast C with the programming language Python, review how to code in C and gain an understanding of the nuances of computer programming.

Skills You'll Gain

  • Computer Programming
  • C (Programming Language)
  • Programming Languages
  • Python (Programming Language)

What You'll Earn

Certificate of Completion
Certificates of completion acknowledge knowledge acquired upon completion of a non-credit course or program.
Experience Type
100% Online
Format
Self-Paced
Subject
  • Computer Science
  • Education
Platform
Coursera
Welcome Message

Welcome to Exploring C, an online course that introduces the C programming language through historical context and hands-on exercises. Learners compare C with Python while building foundational programming skills through coding assignments. The course is part of the C Programming for Everybody series.


This abbreviated syllabus description was created with the help of AI tools and reviewed by staff. The full syllabus is available to those who enroll in the course.

Course Schedule

Module 1: Historical Context

  • Reading: Help Us Learn More About You!
  • Reading: Syllabus
  • Reading: Course Pre-Requsites
  • Video: Welcome to C Programming for Everybody
  • Video: A History of C, UNIX, and Computation before and after 1978
  • Video: Brian Kernighan - Building C at Bell Labs
  • Graded Assignment: History / Introduction
  • Video: Bonus: Valencia Spain Office Hours
  • Reading: Additional Resources for Week 1

Module 2: Part 1: From Python to C

  • Video: Part 1: From Python to C - The Rosetta Stone Lecture
  • Reading: Textbook Chapter 1: A Tutorial Introduction
  • Reading: Additional Resources for Week 2

Module 3: Part 2: From Python to C

  • Video: Part 2: From Python to C - The Rosetta Stone Lecture
  • Reading: Textbook Chapter 1: A Tutorial Introduction

Module 4: Part 1: A Tutorial Introduction

  • Video: Historical Context For Chapter 1: A Tutorial Introduction
  • Reading: Textbook Chapter 1: A Tutorial Introduction
  • Graded Assignment: Tutorial Introduction

Module 5: Part 2: A Tutorial Introduction

  • Video: Historical Context For Chapter 1: A Tutorial Introduction Part 2
  • Reading: Textbook Chapter 1: A Tutorial Introduction
  • Reading: Additional Resources for Week 5
  • Reading: Post-Course Survey
Grading Policy

The course grade is based on two autograder items (worth 11%), and a series of exercises worth the remaining 89%.

Course content developed by U-M faculty and managed by the university. Faculty titles and affiliations are updated periodically.

Intermediate Level

It is recommended to have completed Python for Everybody before beginning this course.

Enrollment Options

Individuals

This experience is available to individual learners on the following platforms:

U-M Community

Free access is only available to current U-M students, alumni, faculty, and staff.

Organizations

Special pricing and tailored programming available for organizational partners.

What are Coursera and edX?

Michigan Online learning experiences may be hosted on one or more learning platforms. Platform features may vary, including payment models, social communities, and learner support.

Coursera

  • Hosts online courses, series, and Teach-Outs from Michigan Online
  • Enroll and preview courses anytime
  • May earn a non-credit certificate from Coursera

edX

  • Hosts online courses and series from Michigan Online
  • Many offer a free (limited) audit option
  • May earn a non-credit certificate from edX

For more information visit the What are Coursera and edX? FAQ section

Reviews and Ratings

4.5

70 Ratings from Coursera

Most Recent Reviews

Read all reviews
<co-content><text>The content in this course is sound, but the teaching does not carry its weight, and the gap between the videos and the graded exercises is the main problem. The assignments routinely require functions that are never introduced in the lectures. Exercise RS-7 is the clearest case: it instructs you to use gets() and atoi(), neither of which appears anywhere in the Rosetta Stone lecture, and neither of which is covered in the assigned K&amp;R chapter 1 reading. atoi is introduced in K&amp;R 2.7, strcmp in 5.5, gets only in Appendix B. So a learner following the course in order has no basis for the exercise beyond guessing or searching independently. That is not desirable difficulty, it is a sequencing error. The autograder compounds this. It appears to check for specific function names in the source rather than evaluating program behaviour. A logically correct solution using fgets and a character comparison was rejected with messages about middle-tested loops and EOF, without any indication of what the checker actually wanted. Several rounds of trial and error were needed to reverse-engineer the required shape of the code. Feedback that names the missing construct would fix this immediately. On the videos themselves: they are largely commentary on the book's examples rather than independent instruction, and the pointer and structure modules in particular allocate very little video time to the hardest material in the course. K&amp;R explains the same concepts more concisely and more completely. Which raises the obvious question, if the readings are the book, the exercises are the book, and the videos add little beyond narration, what does the course provide that reading K&amp;R directly does not? The autograded exercises are genuinely the strongest part of this course and are worth keeping. But they need either lectures that actually teach the functions they require, or explicit pointers to the specific K&amp;R sections that do. As it stands the course asks learners to use tools it has not handed them.</text></co-content>
<co-content><text>dfdf</text></co-content>
This course is good for newly to C
Some tasks are not present in lectures
Well,i ll learned lot of things by coursera I ll learned clearly c programming in a coursera platform

Michigan Online
For You

Sign up for a Michigan Online account to customize your experience!