Teaching

CSC 362: System Programming

In-person: SP24, FA24, SP25, Department of Computer Science, UNCG, 2024

This course will explore key concepts in system-level programming, focusing on the foundational and advanced principles required to build efficient, secure, and robust applications. Topics include terminal commands, Git workflow, C programming fundamentals, dynamic memory allocation, process and memory management, interprocess communication, thread synchronization, and deadlock prevention. Students will also delve into cybersecurity threats, network fundamentals, and virtualization techniques. By mastering these topics through practical implementation and analysis, participants will gain a comprehensive understanding of system programming and its applications in real-world scenarios.

CSC 330: Advanced Data Structures

In-person: Spring 2024, Department of Computer Science, UNCG, 2024

This course will delve into an array of advanced topics crucial for mastering data manipulation and algorithmic problem-solving. Topics include static and dynamic arrays, linked lists, hash tables, binary trees, heaps, graphs, and various sorting algorithms. Through comprehensive study and practical implementation, you will gain a deep understanding of these data structures and their associated algorithms, enabling you to analyze their efficiency and apply them effectively to real-world scenarios.

CSC 250: Foundations of Computer Science I

In-person: Fall 2023, Department of Computer Science, UNCG, 2023

This course introduces fundamental concepts and principles in computer science, equipping students with a strong foundation for further study and practical application in various domains. Topics covered include functions, security, algorithmic paradigms, computational complexity, combinatorics, data structures, compiler design, and automata theory.

CSC 105: Data, Computing, and Quantitative Reasoning

In-person: Fall 2023, Department of Computer Science, UNCG, 2023

This course provides a comprehensive introduction to data analysis using Python, focusing on practical skills and techniques for manipulating, exploring, visualizing, and analyzing data. Through hands-on exercises and real-world examples, students will learn how to leverage popular Python libraries such as Pandas, Matplotlib, Seaborn, and NumPy to extract insights and make data-driven decisions