About

Hello!

Student at UBC Applied Science (Computer Engineering)

Étudiant de dernière année en génie informatique à l'Université de la Colombie-Britannique
On ne voit bien qu'avec le cœur. L'essentiel est invisible pour les yeux.

  • Graduate: Prospective Student
  • Undergraduate: UBC APSC BAsc
  • High School: Point Grey Secondary
  • Experience: Programmer Analyst @ Nine Nine Digital HK
  • Experience: Digital & IT Intern @ Cathay Pacific
  • Experience: Instructor @ UBC Aquatics

Hi! I'm Josh and I'm a final year student in Computer Engineering focusing on secure software systems and cybersecurity with a few electives in mathematics and biology. My expected graduation of the undergraduate program is in May 2024. I have some experience in collaborative digital projects, agile development cycle, and project management in both my coursework and professional experiences.

Academic Experience (BASc)

Applied Science Core Program 100%
Computer Engineering Core Program 100%
Complementary Studies Requirement 100%
Breadth Electives Requirement 100%
Advanced Electives Requirement 100%
Technical Electives Requirement 100%

Academic Experience (MASc, Simón Oya)

Program Requirement 33%
Thesis Requirement 0%

Programming Language Experience

Python

Java

C

C++

Arm Assembly

x86 Assembly

Verilog

Docker

HTML

CSS

JavsScript/TypeScript

SCSS

SQL

JSON

Git

Node

Markdown

Shell Script

OpenGL

LaTeX

Language Proficiences

English

French

Mandarin

Cantonese

Skills and Licenses

Class 5 Driver's License
British Columbia

Remote Pilot
HKCAD

RPAS Basic
Transport Canada

ROC-A Radio Operator
Transport Canada

Water Safety Instructor
Canadian Red Cross

CPR-C AED
Canadian Red Cross

Student Pilot Permit
Transport Canada

Adobe Suite
Adobe Creative Cloud

MS Suite
Microsoft Office

Jira/Trello/Confluence
Atlassian Tools

Workshop Safety
UBC ECE

Linux Fedora
Preferred Operating System

Notable Courses

Analysis and simulation, laboratory data acquisition and processing, measurement interfaces, engineering tools, computer systems organization, programming languages.

APSC 160, Jonatan Schroeder

Introduction to Computation in Engineering Design

Limits, derivatives, Mean Value Theorem and applications, elementary functions, optimization, Taylor series, approximation, Definite integrals and the Fundamental Theorem of Calculus, techniques and applications of integration, infinite series.

MATH 120/121, Greg Martin

Honours Differential/Integral Calculus

2D and 3D geometry, vectors and matrices, eigenvalues and vibration, physical applications. Laboratories demonstrate computer solutions of large systems.

MATH 152, Liming Sun

Linear Systems

Boolean algebra; combinational and sequential circuits; organization and operation of microcomputers, memory addressing modes, representation of information, instruction sets, machine and assembly language programming, systems programs, I/O structures, I/O interfacing and I/O programming, introduction to digital system design using microcomputers.

CPEN 211, Tor Aamodt

Introduction to Microcomputers

Computer architecture and the hardware- software interface: pipelining; caches; virtual memory; memory management; linking; concurrency; introduction to compilers.

CPEN 212, Lis Mieszko

Computing Systems II

Design, implementation, reasoning about software systems: abstraction and specification of software, testing, verification, abstract data types, object-oriented design, type hierarchies, concurrent software design.

CPEN 221, Sathish Gopalakrishnan

Software Construction I

Design and analysis of basic algorithms and data structures; algorithm analysis methods, searching and sorting algorithms, basic data structures, graphs and concurrency.

CPSC 221, Geoffrey Tien

Basic Algorithms and Data Structures

The fundamentals of analysis of lumped linear time-invariant circuits; network theorems; operational amplifiers; first order circuits; DC analysis of diodes, BJT, and FET circuits.

ELEC 201, Alireza Nojeh

Circuit Analysis I

Sets and functions; induction; cardinality; properties of the real numbers; sequences, series, and limits. Logic, structure, style, and clarity of proofs emphasized throughout.

MATH 220, Delphin Sénizergues

Mathematical Proof

Design projects involving hardware (electronic devices and circuits, microcomputers) and software.

CPEN 291, Farshid Agharebparast

Computer Engineering Design Studio I

Operating systems, their design and their implementation. Process concurrency, synchronization, communication and scheduling. Device drivers, memory management, virtual memory, file systems, networking and security.

CPEN 331, Alexandra Federova

Operating Systems

Systematic study of basic concepts and techniques in the design and analysis of algorithms, illustrated from various problem areas. Topics include: models of computation; choice of data structures; graph-theoretic, algebraic, and text processing algorithms.

CPSC 320, Susanne Bradley

Intermediate Algorithm Design and Analysis

Analysis, design and implementation of computer networks and their protocols. Application layer protocols, transmission control protocol (TCP), Internet protocol (IP), routing algorithms, reliable data transfer, multiple access, Ethernet.Design, implementation, reasoning about software systems: abstraction and specification of software, testing, verification, abstract data types, object-oriented design, type hierarchies, concurrent software design.

ELEC 331, Lutz Lampe

Computer Communications

Engineering practices for the development of non-trivial software-intensive systems including requirements specification, software architecture, implementation, verification, and maintenance. Iterative development. Recognized standards, guidelines, and models.

CPEN 321, Julia Rubin

Software Engineering

Contemporary concepts and techniques for developing interactive software applications: client-server architectures; session-oriented systems; security and scalability; models of application deployment.

CPEN 322, Karthik Pattabiraman

Software Construction II

Practical issues for interfaces for modern software. Task analysis, user modelling, usability engineering, representations, metaphors, prototyping tools. Applications: interactive multimedia systems, engineering, scientific visualization, engineering design.

CPEN 441, Sid Fels

Human Computer Interfaces in Engineering Design

Design and implementation of a hardware platform and software design and implementation at the operating system and application layers. Project management skills. Effective presentations.Design projects involving hardware (electronic devices and circuits, microcomputers) and software.

CPEN 391, Guy Lemieux

Computer Engineering Design Studio II

Overview of database systems, ER models, logical database design and normalization, formal relational query languages, SQL and other commercial languages,data warehouses, special topics.Design and implementation of a hardware platform and software design and implementation at the operating system and application layers. Project management skills. Effective presentations.Design projects involving hardware (electronic devices and circuits, microcomputers) and software.

CPSC 304, Raymond Ng

Introduction to Relational Databases

Static/Dynamic Analysis techniques, Intermediate Representations, Data-flow Analysis, SSA, Interprocedural Analysis, Pointer Analysis, Testing and Test generation, Fuzzing, Symbolic Execution and Concolic Execution, Model-checking, Fault Injection, Safety Analysis

CPEN 400P, Karthik Pattabiraman

Program Analysis for Reliability and Security

Security risks, threats, and vulnerabilities from technical perspectives; cryptography; software and web security; access control, assurance, accountability; usable privacy and security; engineering of secure systems; cryptocurrencies.

CPEN 442, Simón Oya

Introduction to Cybersecurity

Design, analysis, and implementation of solutions in response to a real-world computer engineering problem, provided by industry, research laboratories, or other suitable entities. Includes coverage of topics such as project management.

CPEN 491, Paul Lusina, Supervised by S Sidney Fels

Computer Engineering Capstone Design Project

Project in electrical engineering or computer engineering involving design, experimental and/or computer simulation work as selected from topics supplied by faculty members. An individual project thesis is to be prepared according to specifications available from the departmental office.

CPEN 499, Karthik Pattabiraman, Supervised by Pritam Dash

Undergraduate Thesis

Fundamental trade-offs in various contexts, including but not limited to operating systems, databases, and modern cloud computing systems.

CPEN 534, Mohammad Shahrad

Trade-offs in Designing Computer Systems

Documents

Curriculum Vitae

Summary

Joshua Chiu

Final year student in UBC's Computer Engineering Program with a passion in software construction and dependable networking systems with a side interest in aviation and avionics.

  • 📍 Location: Hong Kong → Vancouver
  • 📚 I'm not afraid of flying, I'm afraid of not flying.
  • 🦉 Night owl

Education

Flight Training

2021 - 2024

Pacific Professional Flight Centre, Delta, BC

As one of Canada's most respected flight schools, Pacific Professional Flight Centre offers a unique training opportunity for all who wish to become pilots by providing students with the essential knowledge, skill set, and confidence required to be successful pilots in today and tomorrow's aviation industry.

Bachelor of Applied Science in Computer Engineering

2020 - 2024

University of British Columbia, Vancouver, BC

Computer Engineering is a discipline that focuses on developing computing systems. The goal of our Computer Engineering program is to develop in students an ability to design complete systems that include hardware and software elements. Computer Engineers focus not just on how computers work but how to integrate them into larger systems.

High School Diploma

2015 - 2020

Point Grey Secondary School, Vancouver, BC

With electives focused on mathematics and computer science. AP standing in Physics, Chemistry, Computer Science and Calculus AB.

Professional Experience

DSS Intern and Researcher

Septemer 2023 - May 2024

ICICS, Vancouver

  • Filter-based visual-inertial estimators (Open VINS)
  • ROS, Gazebo, PX4 simulators
  • Investigating succeptibility of laser artifacts on drone camera navigation
  • Project management and leading philosophy

Nine Nine Digital Programmer Analyst

Summer 2023 - Present

Wan Chai, Hong Kong

  • Google Analytics, Meta Pixel, UA to GA4 Migration
  • SEO Strategies, Promotional Material
  • Production Helper
  • Website Design Philosophy

Cathay Pacific Digital & IT Intern

Summer 2022

Cathay City, Hong Kong

  • Supported the Information Operations Management Team in their daily operations
  • 2022 Cathay Hackathon
  • Scrum and Agile development
  • Website Design Philosophy

Swim Instructor and Summer Camps Leader

2018 - 2021

UBC Aquatic Centre, Vancouver

  • Led a variety of swim classes and day camps to encourage a welcoming environment for participants while delivering feedback for improvement
  • Clear and respective parent and participant communication
  • Developed lesson plans and ran engaging activities
  • Ensured a safe environment in the pool

Point Grey Orientations Camp Leader

2019

Point Grey Secondary, Vancouver

  • Overnight in-cabin leader and led a group of Grade 8s in their overnight camp experience
  • Attended to overnight needs of campers
  • Supervised safety and injury response
  • Encouraged an open and fun environment

Services and Statues

Server Cluster Asgard

HPE ProLiant DL380p Gen7 (Odin)
A quick status page for the services that I run on my homelab.

NGINX Proxy

Online

Reverse proxy, load balancer, mail proxy and HTTP cache

PiHole DNS

Offline

Private local network DNS sinkhole to provide a DNS cache and advertisement and internet tracker blocking

Samba Share (Restricted)

Online

Samba file server to enable all computer file access with Microsoft AD

Minecraft Server

Online

A digital program receiving connections from multiple clients while maintaining a synchronised state... Whatever, it's a minecraft server

Wireguard VPN

Online

Protected connections from outside to tunnel through my LAN and access to local devices

FlightAware SkyAware

Online

Self-hosted instance to feed ADS-B Mode S data to FlightAware


HPE ProLiant DL380p Gen8 (Loki)

NGINX Proxy Alternate

Online

Reverse proxy, load balancer, mail proxy and HTTP cache

PiHole DNS Alternate

Offline

Private local network DNS sinkhole to provide a DNS cache and advertisement and internet tracker blocking

Jellyfin

Online

Self hosted media streaming services of photos and videos

Home Assistant (Restricted)

Degraded

Centralized smart home control service with cross platform support

Wireguard VPN

Online

Protected connections from outside to tunnel through my LAN and access to local devices

Gitlab

Online

Self-hosted instance to store code, practice and test continous integeration scripts

Public Portfolio

My Works

  • All
  • Coursework
  • Professional
  • Hobby

Verilog RISC Processor

CPEN 211

PyTorch AI trainer System for American Sign Language

CPEN 291

Point Grey Student Database

Point Grey Secondary

Home Servers

Self-hosted

Wikipedia Mediator

CPEN 221

FlightFriend Flight Search Engine

CPEN 321

Intel FPGA Nios II Processor

CPEN 391

Meowzor Cat Robot

CPEN 391

Undergraduate Thesis

CPEN 499

3D Odometric Reconstruction

CPEN 534

Flying with the DJI Mavic

fly@home

Contact

Let's Connect

Social Profiles

All images © 2019-2023 Joshua Chiu. Website template by BootstrapMade