C Programming

Unit 1: C Programming: Getting Started Unit 2: C Programming: Language Foundations Unit 3: C Programming: Modular Programming and Memory Management
Unit 4: C Programming: Pointers and Memory Management
Unit 5: C Programming: Advanced Data Types
Unit 6: Linux Basics: The Command Line Interface
Unit 7: C Programming: Using Linux Tools and Libraries

Unit 1: C Programming: Getting Started

Unit 1.1: Printing, loops, and comments top

Writing your first program
Correcting simple syntax errors
Printing text and new lines
Printing multiple lines with one printf statement
Printing quotation marks, escaping special characters
Repeating one instrution with a for loop
Repeating a block of instructions with a for loop
Simple looping errors
Commenting your code
Structure of a simple C program

Unit 1.2: Integers, variables and user input top

Printing and computing with integers
Using variables
Declaring and naming variables
Repeating instructions with variables
Reading user input
Reading user input inside a loop

Unit 1.3: Characters and doubles top

Using Characters
Reading characters from the user input
Using decimals
Dividing in C
Finding the remainder
Converting integers to decimals
Converting decimals to integers
Practicing division

Unit 2: C Programming: Language Foundations

Unit 2.1: Logic conditions and if-else statements top

Using the if statement
Comparing decimal numbers
Combining logic conditions using the logical AND and OR
Negating a logic condition using the logic operator NOT

Unit 2.2: Arrays, for and while loops top

Using arrays of integers
Repeating instructions with a FOR loop
Using an IF statement inside a FOR loop
Nesting IF and FOR
Repeating inside repetition
Repeating using a WHILE loop
Efficiently using a WHILE loop
Practicing WHILE loops

Unit 2.3: Strings, sort and search algorithms top

Using strings (arrays of characters)
Using the special null terminator (\0) to identify the end of a string
Finding the length of a string
Working with string lengths
Sorting strings
Searching with bisection and sorting with bubble sort

Unit 3: C Programming: Modular Programming and Memory Management

Unit 3.1: Functions and recursion top

Defining functions and passing values to functions
Working with functions
Using recursion

Unit 3.2: Memory and the scope of variables top

Understanding computer memory
Determining the amount of memory used for different data types
Determining the scope of variables

Unit 3.3: Pointers top

Defining pointers and dereferencing pointers
Using pointers with function
Performing simple pointer arithmetic
Passing arrays to functions

Unit 4: C Programming: Pointers and Memory Management

Unit 4.1: Memory and pointers top

Defining and dereferencing pointers
Using pointers with functions
Working with pointer arithmetic
Passing arrays to functions

Unit 4.2: Multidimensional arrays top

Working with arrays and pointers
Storing and manipulating strings in arrays

Unit 4.3: Dynamic memory allocation top

Allocating memory at runtime
Freeing dynamically allocated memory
Storing and addressing arrays in dynamically allocated memory

Unit 5: C Programming: Advanced Data Types

Unit 5.1: Structures top

Define structures
Access and modify structures
Pass structures to functions
Work with structures

Unit 5.2: Structures and pointers top

Create a structure to store the coordinates of a point
Allocate memory for structures
Get to know the concept of a linked list

Unit 5.3: Linked lists top

Creating a single node
Linking nodes
Printing a linked list
Free an entire linked list
Creating linked lists from user input
Searching a linked list
Sorting a linked list using Insertion Sort

Unit 6: Linux Basics: The Command Line Interface

Unit 6.1: History of Linux and the command line top

Discovering operating systems
Manipulating the command line interface

Unit 6.2: The Linux file system top

Discovering the file system
Creating and deleting files and folders
Unblocking yourself in the command line
Modifying, moving and copying files and folders
Searching files and folders

Unit 6.3: C program compilation with gcc top

Compiling C programs under Linux
Managing memory with Linux
Scanf and interactive programs in C

Unit 7: C Programming: Using Linux Tools and Libraries

Unit 7.1: Libraries in C top

Declaring and defining functions
Using the math library in C
Using multiple libraries in C

Unit 7.2: Makefiles top

Modularizing a program
Creating and using a Makefile

Unit 7.3: File operations in C top

Using arguments for main()
Reading from a file
Reading until the end of the file
Writing to a file