Introduction

Overview

Understand how things work

Hands-on: Getting started

Log into molly and run the following commands:

1
2
mkdir csc231
cd csc231
1
2
pwd
git clone https://github.com/CSC231-WCU/examples.git
1
2
3
ls -l
cd examples
ls -l
1
2
3
cd 01-intro
gcc -Wno-overflow nums.c
./a.out
Compile and run nums.c

Computer arithmetic

Assembly

Memory Matters

Hands-on: Memory referencing bug

1
2
gcc mem1.c
./a.out
Compile and run mem1.c

Memory referencing errors

Beyond asymptotic complexity

Hands-on: Memory system performance

1
2
gcc mem2.c
./a.out
Compile and run mem2.c

Does computer just execute arithmetic and control flow operations?

Layered Services

Layered service design.c