About Me
Hi! I am a recent graduate who studied Computer Science at the University of Toronto Scarborough. At a young age, I had developed an interest in tech (some of it can be seen in my YouTube channel linked below) and wanted to pursue a career related to software. This website is a portfolio of what I have achieved so far in my journey. If you would like to contact me or see more of my work, please feel free to click the icons at the bottom for my GitHub or LinkedIn.
Below is a quick summary of the different skills I have picked up during my studies and co-op work terms.
Web Development
Database Systems
Languages
Version Control
Other Frameworks/Tools
University of Toronto Scarborough
Honours Bachelor of Science (HBSc.)
Computer Science Co-op Specialist, Software Engineering
Statistics Minor
Relevant Courses
CSCB09 - Software Tools and Systems Programming
- Learned C Programming and Shell Scripting
- Topics include: pipes and filters, file processing, shell programming, processes, system calls, signals, and basic network programming
CSCB63 - Design and Analysis of Data Structures
- Learned Different Data Structures and its Algorithms
- Topics include: Worst Case Complexity, Priority Queues, Heaps, Balanced Search Trees, B-trees, Hashing, and Graph Algorithms
CSC373 - Algorithm Design, Analysis & Complexity
- Learned Algorithm Design Techniques and Computational Complexity
- Topics include: divide and conquer, greedy algorithms, dynamic programming, network flow, linear programming, approximation, membership in P and NP, and NP-completeness
CSCC01 - Introduction to Software Engineering
- Learned software development methodologies with an emphasis on agile development methods
- Topics include: basic software development infrastructure, requirements gathering and tracking, prototyping, basic project management, basic UML, introduction to software architecture, design patterns, and testing
- Worked in teams to create a search engine and a Demo Video where users can upload and search for files
CSCC09 - Programming on the Web
- Learned Concepts Related to Full-Stack Web Development
- Topics include: static and dynamic client content, dynamically served content, n-tiered architectures, and web development processes and security on the web
CSCC43 - Introduction to Databases
- Learned Concepts Related to Database Management Systems
- Topics include: relational data model, relational algebra, SQL, querying and updating databases, integrity constraints, normal forms, and database design
CSCC69 - Operating Systems
- Learned Concepts Related to Operating Systems
- Topics include: concept of a process, concurrency problems like synchronization, mutual exclusion, and deadlock, memory management, file systems, process scheduling, threads, and protection
STAC33 - Introduction to Applied Statistics
- Learned R to analyze data
- Wrote statistical reports
- Used R to generate graphs and do statistical inferences
STAC67 - Regression Analysis
- Learned Concepts Related to the Theory and Methodology of Regression
- Topics Include: least squares estimation, residual analysis, inference of regression parameters under assumptions of normality of errors, remedial procedures for violation of assumptions, model selection procedures, and collinearity models for categorical data
CSCD01 - Engineering Large Software Systems
- Learned the practices of large-scale software system design, development, and deployment
- Topics include: Project management, advanced UML, requirements engineering, verification and validation, software architecture, and performance modeling and analysis
- Contributed to an open-source project (matplotlib) in a team
CSCD27 - Computer and Network Security
- Learned Different Topics Related to Cybersecurity
- Topics include: Public and symmetric key algorithms and their application, key management and certification, authentication protocols, digital signatures and data integrity, secure network and application protocols, application/system/network attacks and defences, intrusion detection and prevention, social engineering attacks, and risk assessment and management
My Work Experience
Test Developer - CaseWare International Inc.
- Tested newly developed features to ensure defects are found and fixed before deployment
- Wrote automation scripts using the Protractor framework and Jenkins to automate testing
- Collaborated with other developers and testers to discuss/present new features
Full Stack Developer - Verto Inc.
- Developed new features in the front-end using libraries like Bootstrap and jQuery
- Developed new features in the back-end with Ruby on Rails and PostgreSQL
- Assisted in the design of new features and interfaces
School Projects
UTSearCh I (2018)
- A search engine created to allow students to share and search for various course materials
- Used jQuery for various animations in the application
- Learned Spring MVC to put the project and its components together
- Used the jsoup library to parse uploaded html files and display its contents in the preview
UTSearCh II (2021)
- A search engine designed for students to meet one another face to face during the pandemic
- Learned Socket.IO and PeerJS to develop the video and voice call features
- Learned the React framework to integrate functional frontend components for the video/voice call features
My Side Projects (+ Backstories!)
About Me Web Application (2019)
During my co-op work term at CaseWare International Inc., after work, I wanted to learn some new web development frameworks. Since I have some full-stack web development experience from my previous work term, I decided to take some time to learn something that I am not familiar with, and that is Express.js on Node.js. Through some books and online tutorials, this is the result of my self-study throughout my co-op work term. I treated this project as a "sandbox", where I am free to experiment with new features and libraries to see what I can do with them and how to better use them.
One notable "sub-feature" is the games that I have added. Prior to this, I have not done any formal game programming and, I decided to try to make some simple HTML5 games as sample content to put in this web application.
This project was a review of HTML, CSS, JavaScript, jQuery, and Bootstrap but it also gave me the opportunity to explore Node.js, Express.js and Handlebars, as well as fully building a functional web application by myself for the first time. This allowed me to better understand what is happening behind the scenes, when users are accessing pages on the application, and making different requests to the server. Looking back, I am pretty happy to have worked on this project and I plan to continue using it to test out new techniques, libraries, or frameworks in the future.
This project was actually inspired by an unfortunate event, the Adobe Flash Player's End of Life. Hearing that the flash player will no longer be supported saddened me, as online flash games played a large part of my childhood. As a child, I always wondered how game developers created the very games that I loved and enjoyed. Sadly, I have missed that opportunity. Despite this, there are also other methods of creating online games.
HTML5 games are getting popular and while I am not too familiar with them, I wanted to explore this new territory and create a game of my own. When I searched up "How to make html5 game", one library that was mentioned quite a bit is the Phaser library. This led to me searching up its documentation and other tutorials in order to create my very first game with Phaser. The final result is the Jump and Collect Game (yes, very original name). The game consists of a block character collecting block coins, and to win, the block character must collect all the coins in the stage. It is a very simple game at this point, but I hope to add more features when I have time.
It ain't much, but it's honest work.
I am in my final semester of university. So many different experiences ... so many different things learned. What's the best way for me to showcase my entire journey through university (other than just a resume)? How about a personal website too!
Coincidentally, I am also taking a class on web development this semester so I thought it would be a great time to apply what I have learned (or re-learned ... it's been a while hehe) into creating my very own personal website. This project has also taught me a little bit about how domain names and hosting websites work. Prior to this, I would not have known how to put my website on the internet for everyone to see (About Me Web Application was unfortunately left out because of this).
I do hope to continue updating this website as I pick up more skills or create more interesting side projects so I can keep you up to date!