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 20000, MATH 21100, or MATH 24000

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 Applied Programming Languages

This course exposes students to a variety of current programming languages that are not the focus of other courses in the major. The goal of the course is to increase students' programming skills while helping them develop good programming methodology and style. This course also gives students experience using code management systems and working on open-source programming projects.

3

Prerequisites

CPSC 21000

CPSC-38200 CCNA Security

Provides the knowledge and hands-on skills required to install, troubleshoot, and monitor Cisco security network devices. Students who complete this course will be prepared to sit for the Cisco Certified Networking Associate (CCNA) Security Certification exam which is a stepping stone for job roles such as network security specialist and network security administrator. CCNA security certification is a prerequisite for becoming a Cisco Certified Security Professional (CCSP).
3

Prerequisites

CPSC 28200