Advanced C Programming

Spring 2023 ECE 264 :: Purdue University

Alchemy details (also sent last week)

Resources

ECE 264

Past exams, quizzes, handouts

Reference sheet (v. 1.0.8, updated 8/22/2022)

Code Quality

Psychology of code readability (5/15/2018) by Egon Elbre

Code Quality & Readability by Kasper B Graversen

The Art of Giving and Receiving Code Reviews (Gracefully) (6/25/2018)

Other Code Quality Standards

Vim

Tutorial: OpenVim

Vim Adventures

Vim swap warnings

C programming tips

How To C in 2016 by Matt Stancliff

C Programming Tips by Philip Guo

Books

21st Century C book by Ben Klemens

The Pragmatic Programmer book by Hunt & Thomas

The Pragmatic Programmer - Quick Reference blog post by Jeff Atwood - FREE

Topics

variadic functions from CProgramming.com

variadic functions from GNU

variadic functions from CPlusPlus.com

printf from U of Toronto by Alan J. Rosenthal

#include guards from Wikipedia

number bases videos from Khan Academy

number bases from PurpleMath

number base calculator from Cleave Books

fputc from The Open Group

gdb from Richard M. Stallman

memory segments from Wikipedia - defines stack, heap, data segment, bss, text segment

struct from Wikipedia - good level of detail for ECE 264

struct initialization syntax in C99 from Dave Dribin - advanced, but nice examples

array and struct initialization syntax in C99 from GCC documentation - advanced

Programming interviews

The Five Essential Phone-Screen Questions list by Steve Yegge (Google engineer)

Algorithms interview questions at TopCoder

Baby Steps to a New Job by Gretta Cook (Google engineer)