My university projects
Reduced Compiler for C- language
-
Features
- Scan
- Parse
-
I/O
- Input: C- source code
- Output: Abstract Syntax Tree
-
My works/practices
- C++ encapsulation
- Class inheritance
Software Testing Theory
NuSMV model-based testing
- I/O
- Input: Finite state machine, Temporal logic specification
- Output: Specification result (T/F)
Generates simple C language unit test driver
- I/O
- Input: C unit source code, test cases
- Output: C driver source code, test results
Simple Information Retrieval system in Python
-
I/O
- Input: Document corpus, query
- Output: Top results for query
-
My works/practices
-
Term index structure
-
tf-idf weight, scoring with cosine similarity
-
Spellcheck with levenshtein edit distance algorithm
Massively Parallel Computing
NVidia CUDA programming practices
- My practices
- GPU structure
- GPGPU mechanisms
Algorithm practices
- My practices
- Quick sort
- Kruskal algorithm
- Disjoint set forest, weighted union, collapsing find
- DFS, BFS, Topological sort
- Bellman ford algorithm
- Maxflow, edmond-carp algorithm
- Heap
- Prim algorithm
- Dijkstra algorithm
- Winner tree
- Optimal binary search tree
- Parallel sort
OpenGL practices
- My practices
- OpenGL APIs
- Tranformation
- Hidden surface removal
- Camera frame
- Orthogonal normalization
- Perspective projection
- Phong reflection
- Ambient reflection
- Diffuse reflection