This course provides an introduction to software tools and systems level programming. Topics include: understanding how programs run (compilation, linking, and loading), an introduction to a complex operating system (UNIX), scripting languages, and the C programming language. As time permits, other topics will be chosen from: system calls, memory management, libraries, multi-component program organization and builds, version control, debuggers and profilers.
- Assignment 2: A C program to perform some simple conversions and another C program to calculate value of exponential numbers.
- Assignment 3: A C program to evaluate simple arithmetic expression and another C program to display integers using seven-segment display.
- Assignment 4: A C program that implements binary search trees and another C program that calculates the mathematical constant e.
- Assignment 5: A C program that implements a dynamic memory allocation and deallocation system using binary search trees.