Skip to content

XJDKC/University-Code-Archive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

University Code Archive

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

Details


Algorithm

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 Design

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 Experiment

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

Other Personal Projects

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 ...

Note

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.