Hi, I'm Austin Miles.
A
Self-driven, quick starter, passionate programmer with a curious mind who enjoys solving complex and challenging real-world problems.
About
Hi, I'm Austin! I'm a computer science student at Brown University who enjoys problem-solving and coding. I always strive to bring 100% to the work I do. I have mostly worked with C/C++ and Java in my studies. On my own time I am researching things IoT, Linux OS, and anything Computer Systems related. I am passionate about developing new and interesting Computer Systems that have a real-world impact!
- Spoken Languages: German, Japanese
- Programming Languages: C, C++ (proficient); Go, Java, Python (experienced)
- Tools & Technologies: Bash, Git, Linux, Latex
Looking for an opportunity to work in a challenging position combining my skills in Software Engineering, which provides professional development, interesting experiences and personal growth.
Experience
- HTA for CSCI0170
- Lead a team of 17 teaching assistants (with 3 others) to support 150+ students in learning introductory computer science
- Redesign course projects and interact with project code to realign the material with ever-changing course goals
- Coordinate staff meetings to gather teaching assistant and student feedback, communicate next steps with the course, and organize our teaching methods once a week
- Manage and maintain the computer science department during nights, holidays, and weekends for at least 5 hours a week
- Upgrade the CS department software and systems
- On-call for acute problems, like file system downtime, power outages, or network issues
- Developed course content for CSCI0170 and CSCI0200 (introductory CS courses) along with in-depth revision of Class Projects
- Held weekly lab and office hours to assist students with debugging and conceptual understanding
- Tested class project code and developed handouts to prepare for assignment releases
- Spent 4 hours each week offering students feedback and criticism on their assignments
Projects

Simple Operating System Based off of Early UNIX
- Tools: C, QEMU, fsmaker
- Developed a primitive thread scheduler with a one-to-one kernel thread to process model which allows processes to run
- Coded a tty driver with a functional line discipline along with 2 simple memory devices (/dev/null and /dev/zero)
- Added in a Virtual File System which supports multiple system calls common to UNIX
- Implemented S5FS, a file system based off the original UNIX file system
- Integrated virtual memory into the codebase. THis included developing data structures and adding in code to manage userspace processes

Networking Stack and Simple Router in C
- Tools: C
- Constructed a link layer (layer 2 of OSI) by encapsulating IP packets in UDP
- Created a router like node for the network layter. It implements RIP, packet forwarding, and packet delivering to allow a collection of nodes to talk to each other by referenced RFC 791
- Database implemented as a binary-tree with fine-grained locking
- Coded the TCP protocol to allow 1MB files to be sent reliably between two nodes by referencing RFC 793

Music Streaming Server in C++
- Tools: C++, TCP and UDP
- Implemented a simulated radio station that streams out data to specific UDP ports in Linux
- Established a TCP server and client connection which both follow a reusable network protocol
- Built a multi-threaded backend in which the server supports multiple "station" threads that send out data to clients

Simple search engine coded in Scala
- Tools: Scala, Java Libraries
- Implemented basic indexer and querier that is space and time efficient with extensive use of hashmaps
- Uses Google's PageRank algorithm with the ability to suggest files based on certain inputs
- Supports reading in information from formatted XML files

Interactive computer terminal coded in C
- Included extensive error checking so user input does not crash Shell
- Supports various builtin commands: cd, cat, rm, ln, exit, echo. While also support linux processes via path name
- File Redirection symbols work in any order
- Jobs and processes can be controlled through terminal with control of user-sent signals
Skills
Languages



Other


Education
Providence, RI
Degree: Bachelor's of Science in Computer Science
GPA: 3.8/4.0
- Computer Systems
- Linear Algebra
- Data Structures and Algorithms
Relevant Courseworks: