<aside>
đź“Ś The machine structure and programming class at Tufts (also called CS-40) is a dreaded and infamous class at Tufts. It is known for being the most soul sucking and time consuming computer science class at Tufts. It was in C.
Designing the program and modules from the ground up was heavily emphasized in this course. For each project, my partner and I spent a significant portion of our time designing and ideating on the optimal way to set up the modules and data structures to best increase abstraction and modularity.
</aside>
Things I did in this course (projects)
- Wrote a C program to decode (contrived) corrupted image files
- Wrote a program to execute transformations on images and later improved on the way the transformations were conducted by exploiting the program’s spatial locality properties
- Wrote a file compressor and decompressor that works on pgm files and compresses them to one third of their previous size.
- Debugged a “bomb” by tracing assembly code to find the correct inputs to the bomb so it doesn’t “explode”
- Wrote a Turing complete virtual machine called the universal machine
- Used profiling tools to increase the speed of this universal machine by 98 percent
- Wrote a program in a macro assembly language that ran on this virtual machine. This program was a reverse Polish notation calculator
Other things I learned in this course
- Cache structure and how to best optimize code to take advantage of the cache structure and increase cache hits with spatial and temporal locality
- Types of caches: fully associative, direct mapped, and set associative.
- Machine arithmetic
- Converting between decimal, hex, and binary
- Converting to and from floating point representation of numbers
- Two’s compliment
- Reading and writing assembly code
<aside>
<img src="/icons/home_blue.svg" alt="/icons/home_blue.svg" width="40px" /> Home
</aside>
<aside>
<img src="/icons/document_green.svg" alt="/icons/document_green.svg" width="40px" /> Resume
</aside>
© Jesse Gilbert 2024
Untitled