300

CPSC-30000 Computer Organization

This study of computer organization covers the central processor unit, memory unit and I/0 unit, number systems, character codes and I/O programming. Programming assignments provide practice working with assembly language techniques, including looping, addressing modes, arrays, subroutines, and macros. Microsoft assembler is discussed and used for programming throughout the course.
3

Prerequisites

CPSC 21000

CPSC-31500 Scientific Computing

An introduction to developing computer applications for collecting, analyzing, and visualizing scientific and mathematical data. Students will learn how to use mathematical computing environments like Matlab, Octave, and R as well as to write journal-style papers in LaTeX.

3

Prerequisites

MATH 20400, MATH 20600, or MATH 20900

CPSC-33000 Database Systems

This study of database management systems includes database models, database design, physical implementation and writing code to access data in a database. Topics covered in this course include file storage structure, relational database management systems, entity-relationship diagrams, SQL, database security, concurrency control, distributed and cloud storage solutions and coding database-supported websites.

3

Prerequisites

CPSC 20000 or DATA 20000

CPSC-34000 Algorithms and Data Structures

This course is the study of the design and analysis of computer algorithms including the data structures used in these algorithms. Topics include design techniques, such as divide-and-conquer, dynamic programming, the greedy method and backtracking, sorting, searching, graph computations, pattern matching and NP-complete problems.
3

Prerequisites

CPSC 21000

CPSC-35000 Operating Systems

A survey of concepts, facilities, and characteristics of contemporary computer operating systems that includes topics such as memory management, concurrent process control, multi-threading, security, virtualization, and parallelization.

3

Prerequisites

CPSC 21000

CPSC-35500 Cloud Computing and Virtualization

An introduction to the concepts and techniques of implementing cloud computing through the use of virtualization and distributed data processing and storage. Topics include operating system virtualization, distributed network storage, distributed computing, cloud models (IAAS, PAAS, and SAAS), and cloud security.
3

Prerequisites

CPSC 35000

CPSC-36000 Programming Tools and Techniques

This course covers industry-standard software development tools and team practices used to build commercial software. Topics include development environments, debugging, source code control, shell scripting, release management, containers, automated test development, issue tracking, linting, tracking race conditions and deadlocks, reverse engineering, and profiling.

3

Prerequisites

CPSC 24500

CPSC-38200 Network Security

Provides the knowledge and hands-on skills required to install, troubleshoot, and monitor security network devices. Students who complete this course will have a better understanding of what it takes to secure a network. This course requires a deep understanding of the theory for enterprise security and the hands-on experience needed for working with today’s networks.
3

Prerequisites

CPSC 28200