I have taken the following courses to fulfill the coursework requirements for the Ph.D. program. Mostly, I code with Python language for projects, while some core courses suggested using C/C++ for programming assignments. We maintained GitHub for version tracking and Overleaf for writing LaTex reports.
-
[2018FA] COSC-6320: Data Structures & Algorithms
- Programming Assignment: Implement linear lists (ArrayList and LinkedList) in C++.
- Keywords: C++, ADT, ArrayList, LinkedList, Templates, CLion.
- Link: https://github.com/mdrafiqulrabin/dsa-adt-list
-
[2018FA] COSC-6360: Operating Systems
- Programming Assignment: Implement the basic functionality of UNIX commands in C++.
- Keywords: C++, UNIX, Fork, Processes, Parent/Child, I/O, Command, Bash, CLion.
- Link: https://github.com/mdrafiqulrabin/os-unix-cmd
-
[2019SP] COSC-6385: Computer Architecture
- Programming Assignment: Timing of the branch code block in the spy process, reflecting the data sent by the trojan.
- Keywords: C, spy/trojan, Covert Channel, Branch Predictor, Thread, Python, Bash, VirtualBox.
- Link: https://github.com/mdrafiqulrabin/ca-covert-signal
-
[2019SP] COSC-6323: Statistical Methods in Research
- Project: Reproduce the analysis in the cross-disciplinary evolution paper.
- Keywords: R, Hypothesis, Exploratory Data Analysis, Statistical Models, Significance, RStudio, Gephi.
- Link: https://github.com/mdrafiqulrabin/sm-xd-evolution
-
[2019FA] COSC-6342: Machine Learning
- Project: Ensemble Deep Neural Networks with Loss for Method Name Prediction.
- Keywords: Python, Program, JavaParser, DNN, RNN, LSTM, CNN, Ensemble, Loss/Score, Keras, Scikit-Learn, Matplotlib, IntelliJ IDEA, PyCharm.
- Link: https://github.com/mdrafiqulrabin/ml-stacking-loss
-
[2020SP] COSC-6351: Software Engineering
- Project#1: Implement Mutation-Based Random and AFL Fuzzing for BC.
- Keywords: Python, Fuzzing, Mutation, Random, AFL, BC, Coverage, Bit/Byte, Operator, Jupyter Notebook.
- Link: https://github.com/mdrafiqulrabin/se-bc-fuzzer
- Project#2: Study the fairness testing of ML algorithms.
- Keywords: Python, Equivalent, Balanced, Transformation, Pandas, Numpy, UCI ML Repository, Scikit-Learn, Jupyter Notebook.
- Link: https://github.com/mdrafiqulrabin/se-ml-fairness
- Project#1: Implement Mutation-Based Random and AFL Fuzzing for BC.
-
[2020SP] COSC-6336: Natural Language Processing
- Project#1: Named-Entity Recognition using Conditional Random Fields (CRF).
- Keywords: Python, Named-Entity, W-NUT, Data Preprocessing, Feature Extraction, CRF Model, Parameter Optimization, NLTK, Seqeval, Scikit-Learn, Jupyter Notebook.
- Link: https://github.com/mdrafiqulrabin/nlp-ner-crf
- Project#2: Abusive Language Detection using Recurrent Neural Networks.
- Keywords: Python, ALD, TweetTokenizer, Vocabulary, Token Encoding, Recurrent Networks (RNN, LSTM, GRU), Hyper-Parameter Tuning, PyTorch, Scikit-Learn, Jupyter Notebook.
- Link: https://github.com/mdrafiqulrabin/nlp-ald-rnn
- Project#3: Training on Batches for Sorting Letter using LSTM(Encoder-Decoder)+Attention.
- Keywords: Python, Config, Vocabulary, Embeddings, Padding, Batch, LSTM, Encoder-Decoder, Attention, PyTorch, Scikit-Learn, Pandas, Pyplot, Matplotlib, Jupyter Notebook.
- Link: https://github.com/mdrafiqulrabin/nlp-train-batch
- Project#1: Named-Entity Recognition using Conditional Random Fields (CRF).
-
[2020SU] COSC-6368: Artificial Intelligence
- Project: Apply Data Augmentation in Program Domain.
- Keywords: Python, Program, JavaParser, Augmentation, code2vec, Retraining, TensorFlow, AST, ROC Curve, IntelliJ IDEA, PyCharm.
- Link: https://github.com/mdrafiqulrabin/ai-program-augmentation
-
[2021SP] COSC-6386: Program Analysis & Testing
- Project: Write a symbolic fuzzer that can generate input values symbolically for a python function.
- Keywords: Python, Fuzzer, Symbolic Execution, Simple/Advanced, Path Constraint, Traces, Satisfiable, Unsat Core, Z3 Solver, PyCharm.
- Link: https://github.com/mdrafiqulrabin/pat-symbolic-fuzzer
-
[2021FA] COSC-6321: Research Methods
- Project: Extracting Label-specific Key Input Features for Code Intelligence Models.
- Keywords: Python, Program Reduction, Key Features, Interpretability, DD, Perses, CI Models, IntelliJ IDEA, PyCharm.
- Link: https://github.com/mdrafiqulrabin/rm-dd-perses