University-Code-Archive is a repository to record all code written during college. Including:
- Algorithm: Some algorithm programs
- Course Design: All the course design projects
- Course Experiment: All the course experiment projects(Course Labs)
- Other Personal Projects: Some personal projects
| Subfolder Name | Description |
|---|---|
| ACM | Orientation Training in ACM Team |
| CCF CSP | The problem solving code of CSP over the years |
| Graph Theory Algorithm | Some templates for Graph Theory Algorithms |
| Others | Other algorithm programs(Todo: Upload others) |
| Course Name | Subprojects | Description | ||
|---|---|---|---|---|
| C Language | Basic | A College Admissions Information Management System based on text-based user interfaces under Win32 console environment | ||
| Advanced | Simulator and Assembler | A simulator and an assembler written in C language | ||
| Token Extraction | A lexical analyzer for C language(Using string operations) | |||
| Data Structure | Course-selecting System | A course-selecting system implemented with C++ STL | ||
| Digital Logic | Elevator Control System | An elevator control system written in Verilog, running on Nesys DDR4 development board | ||
| Big Data | Big Data Analytics | Performed big data analytics on Douban movie reviews. Environment: CentOS, Hadoop, HBase, MySQL, Scrapy. Workflow: Data from Douban --python--> MySQL Database --Map Reduce--> HDFS --Map Reduce--> HBase --Map Reduce--> Analytics |
||
| Operating System | 1. Multi-threaded File Copy | A multi-threaded file copy program with GUI implemented using Qt | ||
| 2. Add Syscall to Kernel | Added a system call to Linux kernel. Compiled and tested the kernel successfully | |||
| 3. Drivers for Character Devices | Wrote and loaded a Linux character device to the kernel | |||
| 4. Task Monitor | A task monitor written in C++ and Qt by analyzing "/proc" | |||
| 5. File System | A simple file system implemented by bitmap and inode, supporting basic linux commands(e.g., mv, cp) | |||
| Principles of Computer Organization | Five-stage MIPS rocessor | Led four teammates to design and implement a five-stage(i.e. IF, ID, EX, MEM, WB) MIPS processor with FPGA, supporting Operand Forwarding, Dynamic Branch Prediction and Multi-level Interruption. Group Project Homepage | ||
| Course Name | Description |
|---|---|
| C Programming Language | 8 labs for C Programming Language |
| Assembly Programming Language | 5 labs for Assembly Programming Language |
| Data Structures | 4 labs: sequence list, linked list, binary tree, graph(map) |
| Verilog Programming Language | 4 labs for Verilog Programming Language |
| Digital Circuits | 3 labs for Digital Circuits |
| Foundations of Computer Systems | 3 labs: CSAPP Data Lab, Bomb Lab, Attack Lab |
| C++ Programming Language | 4 labs for C++ Programming Language |
| Computer Network | 3 labs: HTTP Server, Network Protocols, Networking |
| Principles of Computer Organization | 4 labs: ALU, Data(Chinese character encoding, reliable transmission), Storage, CPU |
| Operating System | 4 labs: pipe, pthread, sharedbuf, filesystem |
| Java Programming Language | 2 labs: Queue, Registration Management System implemented by JavaFX |
| Interface Technique | 4 labs and a final design for Interface Technique |
| Algorithm Design and Analysis | 2 labs, implemented some algorithms learned from the course |
| Introduction to Database System | 1 lab and a final design(a score management system with separated front and back ends). Demo |
| Computer Architecture | 1 lab: CSAPP Cache Lab |
| Principles of Compiler | Standford CS143: Implemented a compiler for Decaf language |
| Project Name | Description |
|---|---|
| Chess Game | A simple chess game with AI implemented by MFC |
| Crack | A small tool for cracking |
| MIF | A program for parsing files in MIF(MapInfo) format and drawing the convex hull of the coordinates contained in them. |
| Real-Time Rendering | A real-time rendering program implemented by glut. |
| To be continued | ... |
My graduation project is about optimizing Apache SINGA. Please contact me personally if you are interested in my paper and would like any further information about it.