Ram Maheshwari Logo Image
Hoa Nguyen

Hi, My name is Hoa

I am currently studying Computer Science & Maths at the University of Toronto.
In my free time, I love to learn new technologies as well as play
video games and sports.

About Me A student studying Computer Science. Trying to dip my toes in fields like Full Stack Development, and Artificial Intelligence.

Get to know me!

Hey! My name is Hoa Nguyen and I'm a Full Stack Developer and A.I Enthusiast located in Canada, Ontario. I have a passion to design and build projects which are user-friendly and easy to use. I am really excited to learn new technologies and sharpening my skills to become a better developer.

I'm a problem solver. Whenever I see new problems, I spend hours to explore them and try my best to come up with solutions. Feel free to contact me here.

Contact

My Skills

HTML
CSS
JavaScript
Python
MySQL/PostgreSQL
C
C++
React
Next
GIT
Flask
Django
Netlify

Projects Here's a few projects I've worked on that I am proud of. They use many different technologies which further increases my skill tree.

Software Screenshot

Stock Market Simulator

A stock market simulator application for the University of Toronto’s CSC207 - Software Design course

See Details
Software Screenshot

My Fitness Club

A web application that helps users improve their gym activities.

See Details
Software Screenshot

Huffman Compression

A console based application that allows users to compress files without losing data. Uses the famous Huffman Coding Algorithm.

courses Here's a few courses I've taken / am currently taking at my University which have allowed me to improve my abilities in this field.

Software Screenshot

Information Security

An investigation of many aspects of modern information security. Utilizing modern operating systems security features to deploy software in a protected environment. Common threats to networks and networked computers and tools to deal with them. Cryptography and the role it plays in software development, systems security and network security.

Software Screenshot

Introduction to Computer Science

Abstract data types and data structures for implementing them. Linked data structures. Encapsulation and information-hiding. Object-oriented programming. Specifications. Analyzing the efficiency of programs. Recursion.

Software Screenshot

Software Design

An introduction to software design and development concepts, methods, and tools using a statically-typed object-oriented programming language such as Java. Topics from: version control, build management, unit testing, refactoring, object-oriented design and development, design patterns, advanced IDE usage, regular expressions, and reflection. Representation of floating-point numbers and introduction to numerical computation.

Software Screenshot

Introduction to the Theory of Computation

Mathematical induction; correctness proofs for iterative and recursive algorithms; recurrence equations and their solutions (including the "Master Theorem"); introduction to automata and formal languages.

Software Screenshot

Software Tools and Systems Programming

Software tools and development in a Unix/Linux environment, using a machine-oriented programming language (typically C). Core topics: software tools (shell utilities and make), processes and program execution, the memory model, system calls, file processing, interprocess communication (pipes and signals), and an introduction to concurrency, including multithreading.

Software Screenshot

Computer Organization

An introduction to computer organization and architecture, using a common CPU architecture. Core topics: data representations and computer arithmetic, processor organization, the memory hierarchy and caching, instruction set and addressing modes, and quantitative performance evaluation of computing systems. Students will program in assembly and will evaluate simulated processor architectures.

Software Screenshot

Data Structures and Analysis

Algorithm analysis: worst-case, average-case, and amortized complexity. Standard abstract data types, such as graphs, dictionaries, priority queues and disjoint sets. A variety of data structures for implementing these abstract data types, such as balanced search trees, hashing, heaps and disjoint forests. Design, implementation and comparison of data structures. Introduction to lower bounds.

Software Screenshot

Programming on the Web

An introduction to software development on the web. Concepts underlying the development of programs that operate on the web; survey of technological alternatives; greater depth on some technologies. Operational concepts of the internet and the web, static client content, dynamic client content, dynamically served content, n-tiered architectures, web development processes, and security on the web. Assignments involve increasingly more complex web-based programs.

Contact Feel free to contact me for any inquiry or opportunity you have!