Skip to content

Latest commit

 

History

History
408 lines (268 loc) · 11.4 KB

README-en.md

File metadata and controls

408 lines (268 loc) · 11.4 KB

Undergraduate Project Portfolio by wangrunji0408

中文版本

Q: Where has all the time gone? A: Spent on coding.

Contents

Computer Science Major Courses

Date Course Project
2015.10 Introduction to Programming CubeSolver
2016.05 Object-Oriented Programming WordHelper
2016.07 Summer Programming Course QtCalendar, QtGoBang
2017.04 Introduction to AI PinyinInputer, FourChess
2017.05 Digital Logic Design Balance
2017.06 Computer Graphics RayTrace, SeamCarving
2017.07 Parallel Programming ParallelHomework
2017.11 Software Engineering MediaManager
2017.12 Database DbProject
2017.12 Computer Organization CPUProject
2017.12 Networking SocketChat
2017.12 Compiler Principles DecafCompiler
2018.05 Operating Systems RustOS (rCore)
2018.07 Comprehensive CS Experiment riscv32i-cpu
2018.12 Advanced Compiler Training CompilationTrainingExp
2019.06 Graduation Project rCore

Dual Degree in Digital Entertainment Design

Date Course Project
2017.11 Digital Entertainment Design 1 VisionFaces
2018.04 Digital Entertainment Design 2 MagicWand
2019.06 Graduation Project WanZheBiDong

Extracurricular Competitions

Date Competition Result Project
2015.10 Peking University Game Competition Top 8 Snake2
2016.05 Tsinghua University AI Contest Top 32, GG Dorado

Personal Projects

Date Content Project
2016.08 Calculator iOS App iOSCalculator
2017.01 Chrome Dinosaur Game Clone DinosaurJump
2017.07 Multi-user Loan Settlement App DebtGone
2017.08 Chat Server and Client Chat

Computer Science Major Projects

CubeSolver

Rubik's Cube Solver

Thank goddess, I learned CFOP

  • GitHub
  • Technologies: C++, CFOP
  • Time Invested: 10h
  • Project Rating: ★★

WordHelper

Command Line Dictionary Tool

Business logic is hard! Software architecture is hard! Collaborative development is hard!

WordHelper

  • GitHub
  • Collaborators: @abcbdf @Pengbinghui
  • Technologies: C++, OOP, CLI
  • Time Invested: 50h
  • Project Rating: ★★★
  • Similar Projects: WDict

QtCalendar

GUI Calendar

The most terrifying week of my university life, from learning Qt to giving up on it.

QtCalendar

  • GitHub
  • Technologies: C++, Qt, GUI
  • Time Invested: 50h
  • Project Rating: ★★★★

QtGoBang

Online Multiplayer Gomoku

  • GitHub
  • Technologies: C++, Qt, Socket
  • Time Invested: 10h
  • Project Rating: ★★★

PinyinInputer

Pinyin Input Method based on N-Gram Algorithm

Although the algorithm's performance was poor, coding in C# was enjoyable.

  • GitHub
  • Technologies: C#
  • Time Invested: 10h
  • Project Rating: ★★★

FourChess

Four-in-a-Row AI

The art of search pruning

FourChess

  • Technologies: C++, Alpha-beta pruning, MCTS
  • Time Invested: 20h
  • Project Rating: ★★★

Balance

FPGA Balancing Ball Game

Faced with oscilloscopes and sampling signals, plunged into endless despair.

Balance

  • GitHub
  • Collaborators: @abcbdf
  • Technologies: VHDL
  • Time Invested: 80h
  • Project Rating: ★★★★
  • Similar Projects: WOW_CROW

RayTrace

Ray Tracing + Bezier Surface Renderer

Your rendering is amazing! 👍👍

Couldn’t get PPM right, so frustrating!

Others used legacy code and got the same score, so frustrating!

RayTrace

Rendering images throughout the development:

https://www.bilibili.com/video/av11629310/

  • GitHub
  • Technologies: C++, RayTrace
  • Time Invested: 80h
  • Project Rating: ★★★★★
  • Similar Projects: ray_tracer (Rust)

SeamCarving

Seam Carving Algorithm

Achievement unlocked: Breakup Master

SeamCurving

  • GitHub
  • Technologies: C++, SeamCarving
  • Time Invested: 10h
  • Project Rating: ★★★

ParallelHomework

Parallel Programming Course Homework

Taiwan, the beautiful island, with great mountains and waters.

Parallel

  • GitHub
  • Technologies: MPI, OpenMP, pthread, CUDA
  • Time Invested: 50h
  • Project Rating: ★★★★

MediaManager

Web-based File Storage. I was responsible for the front end.

Software Engineering: classes, exams, and homework, completely separate.

MediaManager

  • Github: Front End, Back End
  • Collaborators: @OmmyZhang @Program-Bear @ArtanisTHU @(Shiyuan Wang)
  • Technologies: HTML, TypeScript, Vue, Swagger
  • Time Invested: 100h
  • Project Rating: ★★★★

DbProject

Simple database. Requirements similar to Stanford CS346 RedBase.

Should have used Rust for this comprehensive user-space software...

  • GitHub
  • Collaborators: @benpigchu
  • Technologies: C++, Database, GoogleTest
  • Time Invested: 70h
  • Project Rating: ★★★★

CPUProject

MIPS16e CPU

Supports VGA video memory, interrupts, debugging interface, etc.

Three weeks of hard work to build a computer!

GameOfLife

CPU

  • GitHub
  • Collaborators: @OmmyZhang @sholsyjy
  • Technologies: VHDL, CPU, MIPS
  • Time Invested: 150h
  • Project Rating: ★★★★★
  • Similar Projects: THCOMIPS16e

SocketChat

Chat software based on Linux Socket

I want to retake the course and build a router.

  • GitHub
  • Technologies: C++, Socket, Protobuf
  • Time Invested: 10h
  • Project Rating: ★

DecafCompiler

Compiler Principles Course Experiment

2 credits, 4 hours per week

  • GitHub
  • Technologies: Java
  • Time Invested: 40h
  • Project Rating: ★★★

rCore

A small operating system implemented in Rust.

Based on BlogOS, inspired by uCore, compatible with Linux.

Death to C/C++, long live Rust.

RustOS

  • GitHub
  • Collaborators: too many to list
  • Technologies: Rust, OS
  • Time Invested: 500+h
  • Project Rating: ★★★★★
  • Similar Projects: JudgeDuck

riscv32i-cpu

A RISC-V32I CPU which can run rCore!

Five weeks of hard work to build another computer...

  • GitHub
  • Collaborators: @OmmyZhang @Hoblovski
  • Technologies: Scala, Chisel, Verilog, CPU, RISCV
  • Time Invested: 100h
  • Project Rating: ★★★★
  • Similar Projects: SystemOnCat

CompilationTrainingExp

Advanced Compiler Training Course Experiment.

Includes: data flow analysis, code optimization, symbolic execution.

Compilation is still too hardcore.

  • GitHub
  • Technologies: Java, LLVM, Z3
  • Time Invested: 30h
  • Project Rating: ★★★★

Dual Degree in Digital Entertainment Design Projects

VisionFaces

Assistive software for blind dates (joke)

Open the camera, detect visual information, and display the other person's information using Face++ API.

The recognition accuracy was touching, but everyone had fun...

VisionFaces

  • Collaborators: @(Xingyu Lan) @(Jing Jia) @(Jing Wu)
  • Technologies: iOS, Xamarin, API Server
  • Time Invested: 30h
  • Project Rating: ★★

MagicWand

Multi-functional game interaction wand

We reinvented Nintendo Switch!

wand

  • GitHub
  • Collaborators: @(Xingyu Lan) @(Zhi Wang)
  • Technologies: Arduino, Processing
  • Time Invested: 30h
  • Project Rating: ★★★

WanZheBiDong

An educational text adventure game set in the Ming Dynasty Wanli period

First official game development, thanks to the amazing planning and art team!

WanZheBiDong

  • GitHub
  • Collaborators: @(Shuo Zhang) @(Danyu Li)
  • Technologies: Cocos Creator, Typescript
  • Time Invested: 50h
  • Project Rating: ★★★★

Extracurricular Competitions and Personal Projects

Snake2

1st Peking University Game Competition: Two-player Snake AI Battle Game

Pruning is exhilarating and endlessly enjoyable.

Snake

  • Official Website
  • Collaborators: @abcbdf
  • Technologies: C++, Alpha-beta pruning
  • Time Invested: 50h
  • Project Rating: ★★★★

Dorado

20th Tsinghua University AI Contest: Dota-like Two-player AI Battle Game

Zhao is too strong! I'm so weak (

Dorado

  • Official Website
  • Technologies: C++, Experimentation
  • Time Invested: 50h
  • Project Rating: ★★★

iOSCalculator

Simple iOS Calculator, CS193p course assignment.

XCode 10.2 doesn’t support Swift 3.0, can’t open it...

  • GitHub
  • Technologies: Swift, iOS
  • Time Invested: 5h
  • Project Rating: ★★

DinosaurJump

Chrome Dinosaur Game Clone

Imitation is the best way to learn.

Dinosaur

  • GitHub
  • Technologies: C#, Unity
  • Time Invested: 10h
  • Project Rating: ★★★★

Chat

C# Chat Server and Client

C# is the perfect language for implementing business logic.

  • GitHub
  • Technologies: C#, .Net Core, DDD, gRPC, Entity Framework
  • Time Invested: 70h
  • Project Rating: ★★★★