Week 01 Lectures
Course Introduction
CP1521
Computer Systems Fundamentals
CP1521 on the Web
Course Goals
CP1511 vs CP1521
Themes
Textbook
Acknowledgements
Systems and Tools
Classes
Assessments
Quizzes
Final Exam
Course Assessment
Computer Systems
What they used to look like
Computer Systems
Processor
Storage
Computer System Layers
C Program Life-cycle
Ex1: C Compiler Stages
The Linux Manual
man
Ex2: Using the linux manual
Searching the manual
Linux Streams and Pipes
Standard Streams
IO Redirection
Using stderr for error Messages
Unix Pipes
Makefiles
Multi-module C Programs and Makefiles
Debugging Tools
Debugging Tools
GDB: The Gnu Debugger
Using GDB
Basic GDB Commands
GDB Status Commands
GDB Execution Commands
Ex3: Monitoring Program Execution
valgrind
Ex4: Finding Memory Leaks
C Revisited
What (I assume) You Know
Fine Control
Type Definitions
Assignment as Expression
Ex5: Assignment as Expression
Ignoring Expression Results
Ex6: printf
Switch-statements
Ex7: Displaying Months
Conditional Expressions
Ex8: Conditionals
Pointer arithmetic
Ex9: Sum an array of
int
s
Function Pointers
Ex10: Understanding Function Pointers
Ex11: Using Function Pointers
Produced: 20 Aug 2019