Jordan Feng

Welcome to my website!

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

HTML

CSS (Cascading Style Sheets)

JavaScript

Bootstrap

jQuery

Ruby on Rails

Express.js

Node.js

Database Systems

SQL

PostgreSQL

MongoDB

NeDB

Languages

Python

C

C#

C++

LaTeX

Java

R

Ruby

Version Control

Git

SVN

Other Frameworks/Tools

Wireshark

Protractor

Selenium

University of Toronto Scarborough

Honours Bachelor of Science (HBSc.)

Computer Science Co-op Specialist, Software Engineering

Statistics Minor

Relevant Courses

CSCB09

CSCB63

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

CSCC01

CSCC09

CSCC43

CSCC69

STAC33

STAC67

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

CSCD27

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

Full Stack Developer

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

UTSearCh II

UTSearCh I (2018)

Demo Video

  • 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)

Try out our app!

  • 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

Jump and Collect Game

This Website!

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.

Jump and Collect Game (2020)

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.

This Website! (2021)

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!