Learn how to utilize various number systems and convert between them; Learn the basics of computer operation; Learn how to use memory mapped I/O to communicate with peripherals; Learn how to utilize assembly programming with the ARM ISA; Learn about various functionality modules available on microcontrollers, such as GPIO, Timers, and PWMs; Learn how to utilize interrupts; Learn about serial communication mechanisms; Enhance critical thinking skills in computer system design and develop a framework for whole systems thinking.