The C Programming Language

The C Programming Language is a beginner-level computer programming course suitable for students who may have light exposure to computer programming in general, but may have little to zero experience with programming in C.

This course consists of 12 sessions and students are encouraged to take each session in consecutive order. Students will be learning a wide array of topics, including data types, control flow, and low-level memory management.

Registration

Registration is currently closed as maximum capacity has been reached.

Notice: I am retired from teaching and mentoring, and this course is no longer active.

General Information

Full Course Overview

Session 1: Introduction

Session 2: Data Types I

Session 3: Data Types II

Session 4: Basic Operators

Session 5: Advanced Operators

Session 6: Conditional Control Flow Structures

Session 7: Looping Control Flow Structures

Session 8: Functions

Session 9: Preprocessor Directives and Makefiles

Session 10: Low-Level Memory Management

Session 11: File I/O

Session 12: Introduction to Structures

Optional Projects

Four-Function Calculator

This is a project that is ideally to be done after the completion of “Session 8: Functions.” Create a four-function calculator. Your program should at minimum synthesize the following topics:

File Shredder

This is a project that is ideally to be done after the completion of “Session 11: File I/O.” On a computer, “deleting” a file usually only marks the file for deletion. Even things like clearing out the trash bin only marks the space that the file occupied as available to be overwritten by future data. Create a program that will take a file and will overwrite it entirely. Your program should at minimum synthesize the following topics:

Notepad

This is a project that is ideally to be done after the completion of “Session 12: Introduction to Structures.” Create a notepad app that can write notes to files, read notes from files, and edit notes. Your program should at minimum synthesize the following topics: