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.
- fall 2023
- spring 2023
- fall 2022 (team taught with Dr. Mary Ann Cummings; course hosted on D2L)
- summer 2021
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.