Teaching

CSCI 432/532: Advanced Algorithms Topics

Description from course catalog: Advanced algorithm and data structure concepts, including theory, approximation algorithms, randomized algorithms, parallel algorithms, streaming algorithms, linear programming.

Taught in:

CSCI 246: Discrete Structures

Description from course catalog: This course covers logic, discrete probability, recurrence relations, Boolean algebra, sets, relations, counting, functions, maps, Big-O notation, proof techniques including induction, and proof by contradiction.

Taught in:

CSCI 132: Basic Data Structures & Algorithms

Description from course catalog: An examination of advanced Java and basic data structures and their application in problem solving. Data structures include stacks, queues and lists. An introduction to algorithms employing the data structures to solve various problems including searching and sorting, and recursion. Understanding and using Java class libraries. The laboratory uses Java. Introduces Big-O Notation.

CSCI 112: Programming With C

Description from course catalog: C Programming knowledge. Introduces imperative programming and the C standard library. Course covers pointers, memory management and structures.

CSCI 127: The Joy & Beauty of Data

Description from course catalog: Provides a gentle introduction to the exciting world of big data and data science. Students expand their ability to solve problems with Python by learning to deploy lists, files, dictionaries and object-oriented programming. Data science libraries are introduced that enable data to be manipulated and displayed.

Teaching demonstration

On October 25, 2021, I gave a cybersecurity-related teaching demonstration to beginning computer science students in Montana State University’s CSCI 107 course. My slides are here.