You are on page 1of 2

Nick Richter

1 West Shore Drive __Grayslake, Il. ____(224) 381-3915 ___nrrichtr@umich.edu

SUMMARY Adaptable, dependable and goal oriented software engineering intern with demonstrated expertise delivering project results including a prize for team game design. Knowledgeable in completed computer science coursework as well as upper level graduate courses. Objective is to secure a software engineering internship utilizing skills and education to gain handson experience towards realizing career goal of serving a role in software development. EDUCATION University of Michigan College of Engineering, Ann Arbor Anticipated Graduation: May 2014 Bachelor of Science in Engineering - Computer Science Courses General Calc I, Calc II, Calc III, Chemistry 125/126, Chemistry 130, Physics 140/141, Physics 240/241 ENGR 100 Introduction to Engineering ENGR 101 Introduction to Computing EECS 215 Introduction to Electrical Circuits EECS 270 Introduction to Logical Design EECS 280 Programming Elementary Data EECS 281 Data Structures and Algorithms TCHCLCM 300 Technical Communications EECS 370 Introduction to Computer Organization EECS 376 Foundations of Computer Science EECS 482 Operating Systems EECS 484 Database Management Projects Game Developer - Volunteer Student Project, C.S. Mott Children's Hospital w Created a 20 level platform based game to help rehabilitate children with muscular dystrophy. w Communicated closely and problem solved with a four person team of engineering students. w Responsible for ensuring a uniform and realistic physics engine throughout the program. w Communicated with client base of nurses to ensure product satisfaction. Engineering Essentials w Developed inventory management system with automatic restocking and intelligent cash management functionality. w Implemented basic physics engine to ensure theoretical safety in roller coaster design. w Created a 'gene splicing' program to determine possible mutations or defects from parent genes. w Wrote program to simulate a game of change and collect statistics across any desired amount of runs. w Developed a program to read input data and store in an easily accessed structure. Allowed reordering and grouping of any input data to a new container. w Wrote image modification functions including a negative filter, a threshold filter, a mirror filter, a moving average filter (Gaussian blur) and an edge detection filter (highlights edges, sets non edges to black). w Developed a program that simulated a dynamic stock market. w Created a program that calculates the actual net payment on a loan with variable input parameters. w Created finite state machines and converted them in to code to simulate the machine. Data Structures w Wrote recursive functions that operate on recursively-defined data structures and mathematical abstractions w Created a program to model the board game 'Sorry!' for multiple simulated players. Created a structure to hold a player's hand with corresponding functions to determine the best move for the player to make. w Developed a blackjack simulator. Included dealer and player 'strategies' which behaved according to input. w Designed a set of template container classes to simulate a doubly linked list. Implemented this structure to create a Reverse-Polish Notation calculator and a 'Call center' that completed requests based on priority w Wrote basic path finding with both a queue based and stack based method to ensure shortest path is found. w Created a 'cheat checker' program that compared multiple files to search for lines that were similar. Omitted lines that all had in common as lines of code supplied by an instructor or prompt. Created custom implementations of unions, standard and N-way intersections, and Radix Sort to maintain data.

Developed a log managing system that enforced low runtime on complex functions. Allowed ranged searches by any of the fields in a given log such as timestamp, entry number, or keyword. Also allowed lexicographic sorting of the log and reordering of entries. w Wrote path finding algorithms by implementing minimum spanning trees, the nearest neighbor method, and other common Travelling Salesman Problem solutions. Ensured lowest run time for determining the solution. Hardware Interfacing w Programmed automated traffic light to respond to the number of cars at an intersection which ensured standard operation of a stoplight. Output result to a circuit board's LED lights to visualize correctness. w Programmed a circuit board to interface with a Super Nintendo controller. Read pulse signals from controller and gave output on LED lights and hexadecimal displays. Used these pulse signals to generate 'Easter eggs' that could be read from a sequence of input from a user to output a message. w Developed multiple programs including a program that swapped data from disk to memory and cache and vice versa. Kept a bit to denote if data was dirty or not and would require a write on eviction from memory. w Worked in a three person group to write a program to support multiple threads to run on multiple CPUs, simulated by creating our own version of the thread library. Allowed for locking, yielding and waiting within threads to properly test the threading. w Implemented an external pager in a three man team, which managed virtual memory for application processes. Handled address space creation, arena management, read and write faults, address space destruction, and argument passing between address spaces. w With a team of three engineering students, worked to implement a multi-threaded secure network file server. Provided clients would interact with the file server via network messages. Ensured that a socket could be established between machines. Utilized encryption to ensure basic security protocol, as well as a session and sequence setup to protect against replay attacks. Databases w Set up the database structure for a social networking site spoofing Facebook. Created links between users who were friends, users tagged in images, users attending events, and user information like location or education. Populated tables to ensure relational data was correctly linked as a foreign key. w Combined SQL searches with Java code to retrieve data from a mock Facebook database, and output the resultant data. Searched for things like common names, towns and education. Also searched for people a user may know based on being friends with someone they're friends with, people who had zero friends in common, the oldest or youngest friend of a friend, and possible relatives based on shared last names. w Optimized queries through the use of PostgreSQL to determine the quickest run times for various methods by analyzing common join methods. w Used a Minirel2k Processor to parse statements to simulate a small set of SQL operations. Wrote functions for inserting data in to a table, selecting data by both scan and index selection method, and three different join methods selected in optimal order between simple nested loops, sort merge join and index nested loops.

SOFTWARE SKILLS Languages C++, Java, SQL, HTML, C, MATLAB Software/Environments Eclipse Microsoft Office Suite Mechanical Drawing Computer Aided Design (CAD) Adobe Photoshop Systems Microsoft Linux WORK EXPERIENCE Blue Marble, LLC 2011- 2012 Web Development Intern Assisted in coding websites. Byron Colby Barn at Prairie Crossing 2008 - 2010 Event Host Prepared event area along and maintained facilities during and after each event. Developed client relations to develop repeat business. Handled problems and client emergencies during events.

You might also like