Projects


Mathematical Analysis, Practice of Programming in C&C++, Data Structure and Algorithm, Algorithm Design and Analysis, Compiler Design, Operating Systems, Introduction to Computer Systems, Computer Organization, Microcomputer Experiments, Web Software Technology, Computer Architecture, Design of Digital Logic, DataBase, Data Analysis, Probability Theory and Statics, Computer Network and Web Technology

Course Projects

MiniJava Compiler

A Minijava compiler transforms a Minijava program into Mips code. We can run the Mips code on SPIM simulator and get the correct output. Minijava is a programming language simplified from Java. The implementation of a Minijava compiler consists of 5 components: Typecheck, Minijava to Piglet, Piglet to Spiglet, Spiglet to Kanga, and Kanga to Mips.
code

Nachos Operating System

Nachos is instructional software for teaching undergraduate, and potentially graduate, level operating systems courses. The project explore all areas of modern operating systems, including threads and concurrency, multiprogramming, virtual memory, software-loaded TLB’s, file systems, and distributed systems.
code

RISC-V Simulator

RISC-V simulator can run some simple program based on RISC-V instruction set. We resolve the ELF for header information and load the code and data into memory to execute instructions one by one. We simulate the pipeline processor and the multilevel cache.
code

Elevator Controller on Microcomputer

We implement a elevator controller with assembly based on microcomputer and the experiment box of interface circuit to make the elevator run safely, stably and effectively. Meanwhile, we also utilize electronic keyboard to simulate the elevator buttons and indicator light, nixie tube and lattice to show the current status.
code

Calculator and Timer on FPGA

We implement a simple calculator and timer on FPGA. It realizes 8-bit addtion, multiplication and timer that can start, parse and reset.