Teaching

Think like Aristotle, teach like Socrates (or Feynman)! My dream!





During my PhD years, I have taught courses and conducted labs, as part of my scholarship responsibilities. Below, a short description of those classes, as well as links to some more info are cataloged.

Teacher

Summer 2020

Classification of Multi-class, Multivariate Time Series (6999 / 8999)

Role: Instructor / Project Advisor

This was a course I designed as a Summer Code Sprint for the Data Science and Analytics program (concentration of Big Data & Machine Learning) in Georgia State University. This Sprint was organized by DMLab to provide some practical training in Machine Learning on Big Data while exploring some new avenues in Time Series Classification on Heliophysics Big Data.

During this 7-week program students were closely guided through different paths toward a shared objective which was classification of solar flares using Machine Learning. Students were exposed to the complexity of multi-class and high-dimensional data, issues caused by the extreme class-imbalance ratio, technical implementation of different analytical tools, and building upon their theoretical knowledge of Machine Learning and Data Mining.

Fall 2017

Data Mining (4740 / 6740)

Role: Lecturer

This was a hands-on class for ∼40 undergraduate and graduate students, covering the fundamentals of Data Mining such as data preprocessing, dimensionality reduction, frequent pattern mining, supervised and unsupervised learning models, and model evaluation methods. The lecture slides, assignments, and the students’ posters for their final projects are available at the course web page.

Students' Evaluation

Lab Instructor

Spring 2018

Java Programming II (1302)

Role: Lab Instructor

Java Programming II (officially known as Principles of Computer Science II)

Fall 2018

Data Structures (2720)

Role: Lab Instructor

I designed a programming lab (for the course Data Structures) with a set of 13 coherent programming tasks in Java, one for each session. The tasks were freshly implemented to allow students to practice the concepts they have been learning the theories of during the lectures. In the background, students learned how to efficiently use their IDE, practice clean-coding and proper documentation, and debugging. As students were trying to adopt the git technology used for accessing the assignments, they gradually learned to work with git and get comfortable with the basics of remote repositories.