Thomas Barrett

Software Engineer

tbarrett@caltech.edu
https://thomasbarrett.io
https://github.com/thomasbarrett

Education

California Institute of Technology

Fall 2018 - Present
Sophomore Computer Science 3.7 GPA

Relevent Coursework:

Experience

Caltech: CS11 Teaching Assistant Fall 2019
Caltech HEP Laboratory: Undergraduate Researcher Summer 2019
Mathnasium (Basking Ridge NJ): Software Engineering Intern Summer 2018
PVH Corporation: Web Development Intern Spring 2018

Skills

C C++ Cocoa CSS Data Structures Express Firebase Full Stack Development Git HTML Java Javascript LLVM Machine Learning MongoDB Node Numpy OpenCL OpenGL ObjectPascal Python React Swift Tensorflow Unit Testing Vue Web Development x86 Assembly

Projects

DeliDash: mobile app Spring 2017

The DeliDash iOS mobile app streamlined the deli preordering system at my school by allowing students at my school to create and save a custom sandwich order as well as order a sandwich with the click of a button. The app utilizes a native Swift and CocoaTouch frontend and a Firebase backend+database.

Raytracer: command line program Fall 2018

Raytracing is a rendering technique used in animation that creates photorealistic images by computing the path that a ray of light would take before hitting the "camera". I implemented a raytracer with the goal of learning more about this technique. My implementation is able to render simple geometric objects such as cubes and spheres with proper shading and shadows.

Bulat: programming language Winter 2018

I created the Bulat programming language in C++ using the LLVM compiler framework with the goal of learning about how languages are designed and implemented. Bulat is a procedural programming language with a statically checked type system. It has many of the necessary components of a general purpose programming language including control flow, functions, and compound data types such as arrays

8086 Dissassembler: command line program Spring 2019

This command line program decodes binary instructions for the 8086 processor and outputs human readable assembler instructions in gnu assembler syntax. The 8086 processor is the predecessor to the modern x86_64 architecture. This is the early stages of what I eventually want to build into an 8086 emulator.

Triceratalk: instant messaging app Spring 2019

The Triceratalk instant messaging web app is built using a Vue.js frontent and a Express.js + MongoDB backend. This app allows users to send and recieve instant messages from either an individual, or an entire group. It also features dinosaur themed stickers, as well as a sticker management system.

Iron Man August: competitive workout web app Summer 2019

I created the Iron Man August web app for a fitness competition at my school. This web app is built using a Vue.js frontent and a Express.js + MongoDB backend. It allows users to track their own progress in completing the challenge while comparing their progress to other users on a live leaderboard.