Course Projects of Wei Luo in University of Wisconsin-Madison
(1) Java Web Application Programming (Author: Mike Marty, Nick Vavra, Louis Kruger, Winfred Byrd, & Wei Luo,
Language: JSP, Java, and SQL)
(2) Java Programming with GUI (Author: Huican Ping & Wei Luo, Language: Java)
(3) Bioinformatics Programming (Author: Wei Luo, Language: Java)
- Develop programs to align protein sequences
- with the global alignment algorithm
- with the local alignment algorithm
- with the multiple local algorithm
- with the hidden Markov model algorithm
- Develop programs to construct phylogentic trees from DNA sequences
- with the parsimony algorithm
- with the neighbor joining algorithm
- Develop programs to discover genes from DNA sequences
- with the hidden Markov model
- with the interpolated Markov chain model
- Develop programs to discover a motif from DNA sequences
- with the EM algorithm
- with the Gibbs sampling algorithm
- with the MEME algorithm with random projection
- Develop programs to discover gene relation with microarray data
- with the hierarchical algorithm
- wtih the K-Means algorithm
- with the Bayesian network algorithm
- Develop programs to search exact DNA sequence in a genome
- with the suffix tree algorithm
- with the Knuth-Morris-Pratt algorithm
Information about these bioinformatics algorithms can be found from the following courses:
- CS 576: Introduction to Bioinformatics
- CS 776: Advanced Bioinformatics
- CS 838: Learning and Modeling Biological Networks
(4) Database Programming (Author: Wei Luo & Huican Ping, Language: C++)
- Develop a B+ tree for the Minibase database system
- Build a page from scratch for the Minibase database system
- Develop a buffer manager for the Minibase database system
- Implement the sort-merge join algorithm for the Minibase database system
- Design SQL queries for Sybase system
Information about Minibase can be found from this link:
(5) Artificial Intelligence Programming (Author: Wei Luo, Language: Prolog, Progol & Java)
- Develop Prolog programs for deduction
- Develop ILP programs for induction with Progol
- Develop a program to solve satisfiable problems with GSAT and WSAT
- Develop a program to learn with the decision tree algorithm
- Develop a program to learn with the neural network algorithm
- Develop a program to learn with the k-nearest neighbor algorithm
- Develop a program to learn with the naive Bayes algorithm
- Build a Bayes net inference system and a dynamic Bayesian network system with the variable elimination algorithm
- Build a hidden Markov model system with the forward-backward algorithm to optimize parameters and the viterbi algorithm to find the best path
Information about these AI algorithms can be found from the following courses:
- CS 540: Introduction to Artificial Intelligence
- CS 731: Advanced Methods in Artificial Intelligence, with Biomedical Applications
- CS 760: Machine Learning
(6) Network Programming (Author: Huican Ping & Wei Luo, Language: C++)
- Build a chat server-client system
- Build a TCP congestion control system with SSDR algorithm (Smooth Start and Dynamic Recovery)
- Build a routing system with the distance vector algorithm
(7) Algorithm Comparison & Combination (Author: Hongfei Guo & Wei Luo, Language: Java)
- Build a dynamic Bayesian network inference system and compare the particle filtering algorithm with the variable
elimination algorithm
- Build a database for intervals of integer with the combination of the interval skip list algorithm and the interval tree
algorithm
(8) Operating System Programming (Author: Huican Ping & Wei Luo, Language: C & Java)
- Build Unix Shell from scratch
- Implement four scheduling policies (FCFS, HPF, RR, CS) over our own Unix Shell
- Solve the deadlock and starvation problem in multiple-thread programming
- Simulation of UNIX memory management system
- Building a distributed file management system with caching