Courses

CSE/IT 101: Introduction to Computer Science and Information Technology

Semesters: Fall 2017, Fall 2018, Fall 2019, Fall 2020, Spring 2021, Fall 2021, Spring 2022, Fall 2022, Fall 2023

A brief overview of the discipline of computer science and information technology topics including computer architecture, operating systems and networks, automata and models of computation, programming languages and compilers, algorithms, databases, security and information assurance, artificial intelligence, graphics, and social/ethical issues of computing.

CSE/IT 107: Introduction to Computer Programming Using Python

Semesters: Spring 2018, Summer 2018, Summer 2019, Summer 2020, Summer 2021

The course is designed to introduce programming and its applications to scientists and engineers. The first part of the class focuses on problem-solving, algorithm development, top-down design, modular programming, debugging, testing, data types, flow-control, looping, iteration and recursion, fundamental data structures, and an introduction to object-oriented programming. The second part of the class explores data analysis with Python.

CSE/IT 113: Introduction to Programming Using C

Semesters: Fall 2020, Spring 2021, Fall 2021, Spring 2022, Fall 2022, Spring 2023

The course is designed to introduce problem-solving and programming in C to Computer Science majors and those interested in applications of the language that involve dynamic structures and memory management. Topics include algorithm development; top-down design; modular programming; debugging; testing; control structures including selection, iteration, and recursion; number systems; data representation; data types including arrays, strings, pointers, and dynamic structures involving memory management. Concepts implemented through extensive programming using good programming style.

CSE/IT 122: Algorithms and Abstract Data Structures

Semesters: Spring 2018, Summer 2018, Fall 2018, Spring 2019, Summer 2019, Fall 2019, Spring 2020, Summer 2020, Summer 2021, Summer 2022, Summer 2023

Fundamental data structures including linked lists, trees, hash tables, and graphs. Algorithms for sorting, searching, and other fundamental operations are explored. Introduction to mathematical foundations for analysis if iterative and recursive algorithms and for bask correctness proofs. Analysis of algorithms. Implementation of selected algorithms using sound programming methodologies.

CSE/IT 222: Systems Programming

Semesters: Spring 2019

This course provides an introductory overview of operating systems and system programming, mainly focusing on system-level programming based on OS services and other APIs. Topics include system calls, file I/O, files and directories, memory management, process control, inter-process communication (IPC), socket-based network programming, remote procedure call (RPC) programming, and basic security mechanisms. Course work includes substantial programming homework.

CSE/ART 389: Special Topics ~ Elements of Video Game Design

Semesters: Spring 2020, Spring 2022, Spring 2024 {expected}

This course is an introductory course in video game design and production. It focuses on both the design (ART 389) and the technical aspects (CSE 389) of creating a game, from concept inception to prototyping through coding and playtesting. The course provides students with a theoretical and conceptual understanding of the field of game design, along with practical exposure to the process of creating a game in a team environment. Topics covered include graphics, parallel processing, human-computer interaction, networking, artificial intelligence, software engineering, iteration, rapid prototyping, mechanics, dynamics, flow theory, the nature of fun, game balance, and user interface design.

CSE/IT 389: Special Topics ~ High-Performance Computing

Semesters: Fall 2017, Fall 2018

A practical introduction to the principles of parallel computing, parallel algorithm development, and analysis, as well as design, implementation, and evaluation of parallel programs in a shared memory environment using Cuda.

CSE/IT 389: Special Topics ~ 3D Graphics with OpenGL

Semesters: Spring 2018, Spring 2019, Spring 2025 {projected}

In this course we will concentrate on 3D graphics, not 2D or image processing. Students will learn the fundamentals of computer graphics algorithms, basics of real-time rendering and graphics hardware, basic OpenGL, and gain extensive knowledge writing and debugging C++ programs.