student@ubuntu:~$

Series 2: C Foundations

Time to translate your Java skills into C. This series covers everything from your first #include through arrays, strings, sorting, and multi-file projects with Makefiles. Every concept connects back to what you already know from CSCD 210.

Lessons

Week 3: Text Processing & Intro to C

Grep & Regular Expressions

grep, regex syntax, find – searching files by name and content. Connecting Java’s Pattern class to Unix tools.

Processes

ps, top, kill, background/foreground jobs. Every program you run becomes a process.

Introduction to C

From javac + JVM to gcc + native binary. Program structure, #include, main(), and the four stages of C compilation.


Week 4: C Fundamentals

Variables, printf & scanf

C data types, printf format specifiers, scanf for input, and defensive input handling patterns.

Operators & Expressions

Arithmetic, relational, logical, bitwise operators. Operator precedence and the gotchas that catch Java programmers.

If/Else, Switch & Loops

Conditional statements, switch/case, for, while, do-while. Control flow in C vs. Java.

Functions & Recursion

Function prototypes, pass-by-value, scope. Why C requires explicit prototypes and what void means differently than in Java.


Week 5: Functions & Arrays

Arrays & Strings

Fixed-size arrays, null-terminated char arrays, string.h functions, and buffer overflows.

Headers, Makefiles & CLI Args

Header guards, Makefile rules, argc/argv, and organizing multi-file C projects.

Sorting & Searching

Selection sort, linear search, binary search. Sorting arrays of integers and strings.


Related resources:

Previous series: ← Series 1: Unix Foundations

Next series: Series 3: Pointers & Memory →