Passionate Educator

One of my favorite aspects of my job is that I get to inspire the next generation of computer scientists and engineers. This makes every semester, every class and every lecture unique and exciting. Nothing feels more rewarding to me than seeing students grow and succeed.

Current Courses

Introduction to Computer Science

CSCI 203

Students will learn the python programming language in order to explore the capabilities, limits, and social impact of computing. Application areas include image manipulation, data manipulation and visualization, introductions to predictive models, and ethical programming practices.

Data Structures & Algorithms

CSCI 204

Introduced data structures and algorithms using an object-oriented approach. Topics included software-engineering principles, object-oriented programming, recursion, basic data structures, algorithm analysis and team programming.

Senior Design

CSCI 475 / 476

Computer Science and Engineering seniors work with industry, community, and faculty partners to build software solutions to achieve compelling results for their clients.

Full Stack Web Development

CSCI 379

This elective course offers students an opportunity to learn functional programming principles using the Elixir programming language. Additionally, it provides an in-depth exploration of state of the art web development, both on the frontend and backend, using the Phoenix MVC framework.

Past Courses

Data Science

MCIT

This lecture, taught in Austria at Management Center Innsbruck as a guest lecturer introduced the fundamentals of relational database systems with a practical focus on SQL. Students learned how data is structured in relational models, how to design efficient database schemas, and how to retrieve and manipulate data using SQL queries. Real-world use cases and hands-on exercises highlighted the role of relational databases in business and management applications.

Introduction to Programming for Business Analytics

ANOP 203

Overview of programming tools and methods for analytics. Students solved computational and modeling problems using Python. This foundation of programming logic helped students understand advanced analytic tools in the upper-level Business Analytics courses.

Creative Computing & Society

CSCI 187

Introduced computing through creativity and examined social problems, guiding students to create visual artifacts that empowered them to draw insights from data, complemented by discussions on computing's societal impact.

Computer Systems

CSCI 306

Covered fundamental concepts showcasing the integration of hardware and software. Topics included data representation, processor, memory, I/O, Unix system programming in C and assembly, introduction to operating systems, and development tools.

Operating Systems

CSCI 315

Introduced operating system design including processor management, scheduling, memory management, resource allocation, file systems and concurrency.

Computer Architecture

CSCI 320

Used a hardware description language to describe and design digital computing systems. Topics included processor design, pipelining, cache and storage systems, instruction, thread, and process level parallelism, speculation, and branch prediction.

Computer Science Design Project

CSCI 479

Students in teams used software engineering methodology to design and implement a semester-long project.

Engineering Design Experience

ENG 100

Introduced procedural computation using the Alice Software to create interactive 3D animations and simple games. Emphasized problem solving, algorithmic thinking, and the design process.

User Interface & UX Design

FOUN 098

In this course we made an effort to understand exactly how user interfaces and human-computer interaction affected satisfaction, purchase decisions, filtering of information and a variety of other goals. We looked at what made effective designs and how user-experience was shaped by what was seen, heard and felt when interacting with computers.