Skip to content
View Richard1688Sun's full-sized avatar

Highlights

  • Pro
Block or Report

Block or report Richard1688Sun

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Richard1688Sun/README.md


👋Hi! I am Richard Sun, and I am a...

Third-year Computer Engineering student at UBC with interests in software development, mobile development, and ASIC development

Things I code with are...


Java Python C C++ React Javascript HTML CSS

🧑‍💻 More About Me!

As a software developer, I thrive on solving everyday problems with innovative solutions. My passion for creating practical applications is fueled by a constant thirst for knowledge and new experiences. I relish new challenges and opportunities to explore, as demonstrated by the diverse projects I've built. My greatest strengths are my determination to persevere and my work ethic. I'm a highly focused individual with a strong drive to achieve my goals. Additionally, I possess strong leadership skills and attention to detail, which make me an ideal candidate for leading projects.

🎯 Professional Goal

I hope utilize my skills to pursue a career in Computer Engineering.


🤔What I'm Up To

⭐ Personal Projects

💻ARM32 Pipelined CPU

Leveraging my background in FPGA development, I recently collaborated on a winter break project to design and implement an ARM32 CPU. This endeavor represents the culmination of my academic knowledge and online research, resulting in a versatile CPU capable of executing over 40 real ARM32 assembly instructions. The CPU's capabilities extend to running embedded applications, including calculators and basic looping programs. The project's most challenging aspect involved optimizing the CPU's pipelining stages, where I successfully implemented hazard prevention strategies such as forwarding, stalling, and branch prediction. This effort led to an impressive average of 1 instruction executed per clock cycle, showcasing my proficiency in building efficient and effective digital circuits. My enthusiasm and skill set make me an ideal candidate for contributing to Analog Device’s ASIC SW team. If you're interested checkout the Github Repository

📱Mantra Counter Mobile App     Java SQLite Android

Embarked on the development of a unique Android app that serves as more than just a counter. This mobile application, designed for tracking mantra recitations, introduces an automatic incrementing feature for added convenience. Utilizing Object-Oriented Programming principles, the app allows users to personalize their experience. The app's data is seamlessly organized in an SQLite database, showcasing proficiency in SQL queries. Through user feedback, we fine-tuned the user interface, resulting in a sleek and user-friendly design with a touch of Material Design Components. If you're interested checkout the Github Repository

Download the app from Google Play here

💻CaptionConcierge WebApp - Hackathon(NWhacks)     Python React Flask

Collaborated within a dynamic team of four to create an innovative full-stack React web application. This project's focal point was harnessing the power of AI to generate concise summaries of YouTube videos. I took charge of constructing a robust back-end server using Python and Flask, facilitating the seamless parsing and transmission of YouTube captions to the front-end application through HTTP requests. The application's summarization prowess was elevated with the integration of the OpenAI model GPT-3 API, ensuring a sophisticated and concept-preserving summarization process. For a deeper dive into our project, check out the Github Repository


🏫 UBC Projects - *Code access is available upon request*

🎮Gesture Controller & Browser Games - CPEN 291     React Redux Python MongoDB

Crafted an immersive full-stack React.js website, employing Redux state management to host and oversee captivating web games controlled via a Kinect Controller. The backend server, strategically deployed on a virtual machine, utilized HTTP requests for seamless communication and MongoDB for efficient storage. One highlight of the project was the development of a dynamic Snake Game, complete with multiple game modes, user score tracking, and a leaderboard feature. The engaging web games were seamlessly controlled through a hardware Gesture Sensor Controller connected to a Pico-W, providing users with a unique and interactive gaming experience.

🤖Dancing Robot - CPEN 291     Python Flask

In our dancing robot team project, we brought to life a captivating dancing robot equipped with wireless capabilities, an LED display, a sonar sensor, and a piezo buzzer. Serving as the lead developer, I spearheaded the construction and programming of the robot, orchestrating the movements of four servo motors acting as joints through the Pico Microcontroller. The firmware code, written in Python scripting and utilizing the CircuitPython library, governed the robot's choreography. As part of my role, I deployed a backend flask Python server responsible for sending dance instructions and sequences via HTTP requests, ensuring seamless coordination. A notable aspect of the project was the synchronization of the LED display with dance movements, creating a delightful viewer experience. This endeavor not only showcased my technical expertise in hardware and software integration but also underscored my collaborative and planning skills, contributing to the successful realization of a fully functional and engaging dancing robot.

🧩Maze Generator and Solver - CPSC 221     C++

Delved into the world of maze creation and solving using custom algorithms. Constructed Hexagonal Mazes with excitement, applying Depth First Search and a custom Queue. Skillfully navigated and conquered the mazes with Breadth First Search and a custom Stack. Utilized the standard library map to efficiently represent Hexagonal Grids, adding a touch of pride to the journey.

💻Publish/Subscribe Server - CPEN 221     Java

Developed a multi-client publish/subscribe server, revolutionizing Twitter interaction. Implemented thread-safe strategies like Confinement and Synchronization for seamless communication among multiple clients. Strengthened security by tracking subscriber information through JSON files and applying a two-step encryption process involving hashing and salting. For a deeper dive into the project, check out the Proect Details

🖥️RISC Machine - CPEN 211

Crafted a dynamic CPU in SystemVerilog, seamlessly integrating RAM/Registers and mastering the execution of diverse ARM Assembly instructions—MOV, ADD, CMP, AND, MVN, LDS, and STR. Fueled by the excitement of achieving functionality, I meticulously designed and fine-tuned a clock-cycle-independent testbench. This enabled a comprehensive evaluation of different Controller implementations, unraveling the intricacies of hardware timings through the lens of ModelSim and Quartus. The journey of bringing this CPU to life has been both thrilling and immensely gratifying.

👽Kamino Search Algorithm - CPEN 221     Java

Guided a dedicated team of three in the creation of an efficient graph pathfinder, seamlessly weaving together Breadth First Search, Depth First Search, and Dijkstra’s Algorithm. We delved into diverse graph data structures, applying the principles of encapsulation and interfacing to enhance the robustness of our solution. Fueled by the challenge of navigating a dataset boasting 5000+ nodes and 100,000+ connections, we meticulously calculated graph eccentricity and unraveled the shortest paths. The development journey was enriched by the creation of a comprehensive JUnit test suite, where regression, black-box, and white-box testing became integral to ensuring the reliability of our optimal pathfinder. More details of this exhilarating endeavor can be explored here


👀Where to Find Me!

Github LinkedIn Gmail+
    +

Pinned Loading

  1. MantraCounter MantraCounter Public

    Java 1

  2. ARM32CPU ARM32CPU Public

    Forked from yizhou82/ARM32CPU

    SystemVerilog

  3. counterAppNative counterAppNative Public

    Java

  4. afahimi/CaptionConcierge-NWHacks2023 afahimi/CaptionConcierge-NWHacks2023 Public

    JavaScript 1 1

  5. hotkeys hotkeys Public

    AutoHotKey to make your life eaiser

    AutoHotkey 1 1