Tim Cosby's

University of Toronto
Computer Science Specialist

Projects

The Gates of Logic

An Alternative learning platform for highschoolers

The Gates of Logic is part of a research project under Professor Steve Engels.

The research is aimed at teaching high school students digitial logic as an alternative means to the classroom through an educational game. The project concluded after showing a strong correlation in testing, showing more "highlighted" objectives lead to, on average 20% higher test scores from high school students than without highlighting regardless of previous knowledge. This testing also shows, at least a 27.5% increase in understanding of digital logic among testers in a game format vs. a traditional classroom.

The project consisted of scripts coded in C# from movement to objective indicators. The scripts were developed to be a modular system of Triggers and reactions to allow easy expansion and implementation that proved very useful in the long-term.
The game was developed using Unity(3D) and C#.

Github

Photo Manager

Manage all of your photos in one place!

PhotoManager is a Java program that allows the user to manage, view, tag, and organize their photo repository on their local drive. The user can conveniently navigate through their selected photo repository, mark photos with tags that will appear in the file name, search through their repository for tagged images, and view the tag history at any time.

PhotoManager utilizes a JavaFX interface which the user interacts with. On startup, the user chooses a directory in which their photo repository is located. They can then navigate through sub-directories of the root, and view the photos in the repository. The user can enter cached or new tags for the photos, and each photo can have multiple tags. The user can also manage tags separately, as well as searching by a specific tag in the whole repository. As a bonus feature, the program generates a suggested tag for each image based on the content of the image, by utilizing the Inception library and Tensorflow from Google.

The database for the PhotoManager is generated on startup when the user specifies the root of the repository. Each image file and directory is represented by an object, and the directory tree is represented by a recursive definition, with each directory storing its children directories. The tags added to the photos are stored in the corresponding photo's file name along with the original file name, and on startup the program goes through every photo in the repository by recursion to update the database with the stored tags. The graphical user interface is implemented in JavaFX, using the Model-View-Controller design pattern.
Developed in Java with Tensorflow, Maven and JDK 7.

Github
About About

Free-Finder

Find out how many students are where on campus

Free-Finder allows University of Toronto students to find out how many people are on wifi per building in the University of Toronto's St. George campus.

The program works by scanning the University of Toronto's wifi nodes for the number of connected users to determine how many students are in each building and changes the data into a more manipulatable form.

The goal is to be able to guide students to a less trafficed building to study in with the ability to monetize to local businesses based on lower trafficed buildings in the area and the students' movements.

Options include searching, by only libraries, searching by name, restricting by student body size, and sorting by most and least number of students.
Originally developed in Python, ported to Java.

Github

Duckhunt in a Cyclone

A classic recreation of Duck Hunt from the N64 re-made on an Intel Hurricane Student Development board.

Duck Hunt in a Cyclone is a recreation of Duck Hunt on the Nintendo 64 using Intel's Hurricane Student Development Board. The game consists of a single bird flying randomly around the screen whilst having a cross-hair that has the ability to shoot said bird. The objective is to hit at least 5/9 birds to progress to the next level.

7-Segment LED displays were used to display the current round, score, and number of shots remaining while the individual LEDs were used for the birds shot/escaped in the current round. The controls are ported to a keyboard using a PS/2 port. The controls are WASD to move and space to fire. The graphics are displayed through VGA and updated without the use of third-party software. The 256 bits of colours are generated through a mathematical equation to output the correct colour given the appropriate HEX value. The birds each moved randomly with a modified version of the fibonacci sequence mapped to appropriate keys to achieve better random movement.
The game was developed in Verilog.

Github

Music Doctor

Find new music based on your current library

Music Doctor allows users to find new artists to listen to based on their own library of artists.

The algorithm to suggest new artists is generated by statistics of documented artists.
Originally developed in Python, ported to Javascript.

Github
About

Facebook Messenger Charter

See how often you message individuals on Facebook Messenger

Takes in the exported facebook messages file and lays out the generated data on a timeline in an excel sheet for how often you message each person/group. Used to easily find how often and how long your conversations last for on Facebook Messenger.

The program smartly sorts your conversations by individual and group chats to encompass an overall picture of your activity with each person.

Accesses Facebook's Graph API to identify conversation recipient's registered Facebook name from their facebook ID rather than a possible nickname.

Includes options for whitelists, blacklists, and timeline restrictions.
Originally developed in Python, ported to Java.

Github
Education / Experiences

Work Experience

University of Toronto Research Study
Student Researcher
(2018-2018)

Researched various learning techniques under Prof. Steve Engels to aid in the targeted development of an educational game for high school students' cirriculum.

Tested 16 random high school students and misc 10 other individuals in a controled environment using a standardized testing measures before and after play-testing.

Successfully achieved positive results on all targeted learning goals including teaching the functionality and names of AND, OR, XOR, and NOT gates to highschool studnets.

Uncovered a correlation in testing, showing more "highlighted" objectives lead to an enhanced level of understanding in high school students.

Achieved on average 20% higher test scores from high school students with highlighted objectives and 27.5% increase in understanding of digital logic vs. traditional classrooms.

Rona Inc.
Client Fulfillment Coordinator
(2016-2018)

Supervised and coordinated a centre of national fulfillment services in the company's infancy of the service.

Continually achieved on-time fulfillment runs on a strict timeline involving hundreds of orders nationally weekly.

Problem solved any unforeseen client issues as they may arise due to infancy of the service and reporting said issues to create a handler if they arise once more.

University of Toronto Bookstore
Cashier
(2017-2017)

Performed Cashier duties in the back-to-school season at the main location of UofT's Bookstore.

Handled large amounts of money, in stressful situations surrounded by large numbers of students, calmly and professionally.

Courses

University of Toronto

Computer Science Speicalist

Course reference link

CSC384
Introduction to Artificial Intelligence


CSC373
Algorithm Design & Analysis


CSC369
Operating Systems


CSC343
Introduction to Databases


CSC324
Principals of Programming Languages


CSC320
Introduction to Visual Computing


CSC309
Programming on the Web


CSC301
Introduction to Software Engineering


CSC300
Computers and Society


CSC299/399
Research Opportunity Program


CSC263
Data Structures and Analysis


CSC258
Computer Organization


STA247
Statistics for Computer Scientists


CSC236
Introduction to the Theory of Computation


MAT235
Multivariable Calculus


CSC209
Software Tools and Systems Programming


CSC207
Software Design


SII199
Society & Its Institutions
How We Use Time in Everyday Life


CSC165
Mathematical Expression and Reasoning for Computer Science


CSC148
Introduction to Computer Science


MAT136
Calculus II


MAT135
Calculus I


PHL101
Introduction to Philosophy


Excluded courses available upon request...

Experiences

Vex Robotics Competition

Co-Captain and Head Programmer of the team.

Robot was designed to be able to pick up balls on the competition floor and shoot them into a net to score points.

Designed and implemented the controllable and autonomous program that the robot operates on.

Created a variable projectile-distance program to read battery level and current motor speed to adjust motors for a consistent firing distance.

Team won regionals and continued to the provincial competition.

ECOO Competition

Solved programming questions of increasing difficulty under a time restraint.

Led and coordinated a team of 4 others to effectively solve various coding problems based on teammates appropriate skills.

Team won regionals and continued to the provincial competition.

Lego Robotics Competition

Team Captain and Head Programmer of the team.

Robot was designed to push enemy robots off a table while sensing the table to avoid being pushed off the table itself.

Designed and built an autonomous robot out of Lego using the Lego Mindstorms architecture in C.

Member of CSSU (Computer Science Student Union)

Microsoft College Code Competition

Hacker Rank Euluer Competitions

CCC Senior Coding Competition

Skills

An assortment of different software and programming languages I have proficient experience in.

Adobe Photoshop CC

Adobe Premiere CC

Agile

Andriod Studio

Bash

Blender

C

C#

C++

HTML

Java

Javascript

JSON

JQuery

Maven

Microsoft Excel

Microsoft Word

MySQL

Node.JS

Latex

Linux

PHP

Python

Unity3D

Unix

Unreal Engine

R

RESTful APIs

RobotC

Tensorflow