Code Samples and Screenshots of Quentin Brooks' Code
Welcome to
the website I created to demonstrate some of my past projects. Through the top navigation bar you can explore some of the projects I
have completed. I can be contacted at
abqq25@r.postjobfree.com if you have any questions.
Introduction
I am an
experienced .NET (C#) developer who is very excited to begin programming
commercially viable software. I have been programming in C# since 2008 when I
learned it from my father.
I have coded
large and very object-oriented programs and have coded in a very wide variety of
different languages for different goals. For example I have coded as different
programs as a PHP script to create an image with an associated html image map
(to allow multiple links on the image) to a dynamic data-mining tool to a C
library for basic matrix manipulation. The largest project I have created is a
fully object-oriented and component based (as opposed to inheritance based) game
/ game engine.
I am fully
confident that I will be able to code any given project. I understand highly
object-oriented code along with block memory manipulation (such as in C), and
have ample experience with both code optimization and code complexity
optimization. Due to my experience with the Canadian Computing Contest (which I
placed top 25 in the junior and top 40 in the senior competition, out of more
than 1000 in the junior contest and more than 600 in the senior contest) I am
fully capable of coding optimum complexity code solutions to most graph and tree
problems and creating efficient data indexing systems for complex data.
However
probably my most important skill is my ability to work autonomously on problems
I have never faced before. I specifically like .NET and C# programming because
of the vast code documentation associated with .NET available on MSDN. Virtually
any new concept or even language I want to learn I can thoroughly research
online through StackOverflow, tutorials, and through looking at source code
which uses the same features I wish to use.
Perhaps the
largest task I tried to accomplish was learning PHP in less than a week in order
to create a PHP graphing application. This was possible due to my ample use of PHP
debugging tools. I setup a local copy of the MySQL database and got my PHP IDE
to recognize it and then managed to learn the proper syntax and functionality of
the standard library mostly through the debugger. This online real-time graphing
software is currently being used by tens of thousands of users on
www.RoadRaceResults.com Due to this I am confident I can fit into any development
situation and work with any tools.
For code
examples and game screenshots you can use the top navigation menu to explore the
site.
In summation, I am greatly looking forward to proving to you that I am capable of meeting and exceeding all criteria required for this job and being a productive member of your development community.
Sincerely,
Quentin Brooks
- quentinbrooks.com - abqq25@r.postjobfree.com
Skills Summary
4 Years C# (.NET) experienceAble to program in a fully object oriented environment with abstraction, polymorphism and thread synchronization
Routinely create advanced .NET reflection code (such as dynamically loading libraries and parsing objects for functions, and then calling them at runtime)
Extremely experienced in C# code optimization
Proficient in Visual Studio add-in development MySQL Experience
Experience with dedicated database software, along with queries from C# and PHP
Able to implement advanced insertion and table creation optimization techniques
Flash (ActionScript) Able to create a flash application with frames and to imbed ActionScript in the frames
Also able to create frames with named components and manipulate them from independent ActionScript code
C/C++Proficient in C and many features of C++, able to code in a fully object-oriented fashion
Previous languages usedVisual Basic, JavaScript, HTML (and CSS style sheets), Java Education
Candidate for Bachelor of Software Engineering, Co-operative Program, University of Waterloo, Waterloo, ON, Sept. 2011 present
Ontario Secondary School Diploma, Centennial Collegiate Vocational Institute, Guelph, Ontario, June 2011
Completed 3 programming coursesProgrammed in Visual Basic, Java and Flash
Created various flash applications and games the largest of which:
Utilized Flash s modular component system to create completely modular flash objects
Coded an overhead view DoTA like game which:
Contains a dynamic level and enemy system, along with character levels which allow a dynamic progression of skills, each which are unique graphically and functionally
Coded in C# .net, specifically as an XNA game (so it could be ported to any Microsoft system almost instantly)
Completed 2 computer engineering coursesCreated circuits with basic logic gates on a breadboard, and then connected it to a computer using an assembled parallel port and then controlled the circuit (which controlled various LEDs), using a program on the computer coded in Turing
Scored 71/75 and placed in the top 25 on the junior Canadian Computing Competition
Received an Honourable Mention on the Senior Canadian Computing Competition (Top 40)
Work Experience
C# Programmer, roadraceresults.com, Guelph, ON, Summer 2009
Created results analysis and conversion software:
Dynamically read data from a web address
Parsed data in a fully modular and dynamic system (dynamically ran DLLs using .NET)
Displayed original text data on top of data created through analysis
PHP Programmer, roadraceresults.com, Guelph, ON, Summer 2010
Created a results graphing PHP script
Accessed and manipulated data from a databaseDynamically created a graph based on this data
Added HTML Image Map data to create an image with links which trigger the server to create a different image, essentially creating a dynamic image
Porting from PHP to C#, sportstats.ca, Guelph, ON, Summer 2011
Ported existing results display table to C#
Analysed existing PHP code and existing HTML (which was generated by the PHP) to determine the correct format
Recreated all database accessing code with corresponding C# code
Created exact table in ASP.NET
Recreating C# Code, sportstats.ca, Guelph, ON, Summer 2011
Recreated a program which synchronized results data from a race to the database
Analysed current code and did research on databases to determine source of lag
Created a plan for an entirely new approach which would run must faster
Implemented plan, which included new database queries, uploading data to a server over FTP and running PHP files on the server
Other Programming
Rigid Circle Physics Simulator
Implemented an accurate rigid body collisions (with circles) which was fully object oriented
Implemented dynamic TOI (time of intersection) collision detection, to eliminate the need for large amounts of collision detections
Useful Components Created:A visual studio add-in which improved upon Visual Studio s code folding (outlining) to allow editing of extremely large files (1000s of lines) without excessive scrolling
A spatial based (AABB) tree class for point data, which allows spatially-based queries on sets of two dimensional data to run very fast
An OpenCL function which runs image analysis code in parallel on the GPU
Coded a dynamic flow-chart, which dynamically displayed nodes in a physics based manner
Coded a custom text display class, which would allow enormous amounts of text combined with extra data to be displayed, as it would determine exactly which data needs to be displayed at any one time
Simple NXT Robot Controller:Coded a simple robot controller, which mapped commands to keys using an external text file
Combined commands to figure out how to set the robot motorsPlaced 1st out of 6 teams of 4, each team from a different secondary school