300
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
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
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
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
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
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
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
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