Intro to C Programming

Introduction - Variables, Data Types, and Printing

Writing Your First C Program

Introduction to Variables

Data types

Printing

Variables Practice (Answers)

Arithmetic Operators Intro

Arithmetic Operators Practice (Answers)

Functions

Pre written Functions

Creating and Using Functions - An Overview

Variable and Function Scope

Functions Practice (Answers)

Making Decisions - Conditions and Switch Statements

Conditional Statements Introduction

Conditionals Practice (Answers)

Switch Statements

Switch Statements Practice (Answers)

Loops

Loop Practice (Answers)

Random Number Generation

Introduction to Random Number Generation

Arrays and Strings

Array Introduction

Array Practice (Answers)

2D Arrays

Strings Introduction

Strings Practice (Answers)

Structs

Structs Practice (Answers)

Pointers and Dynamic Memory Allocation

Introduction to Pointers

How to use Pointers

Arrays are (Secretly) Pointers

Pointers Practice (Answers)

Introduction to Dynamic Memory Allocation

Basics of Dynamic Memory Allocation

Dynamic Memory and Pointer Safety

Dynamic Memory Allocation Practice (Answers)

Debugging

General Debugging

Introduction to GDB

Bonus Topics

Preprocessor Directives

Introduction to argc and argv

Endianness

Binary I/O Practice (Answers)

Final Project Practice (Answers)

Programming Best Practices