500
This course provides a thorough study of the principles of operation for a computer system. It covers the principal subsystems of a computer, including the central processing unit (CPU), memory, input/output, and the communications bus. Number systems and various schemes for the digital representation of numbers are also discussed. Additional critical subjects covered include the principles of hierarchical computer organization, machine instruction sets, addressing modes, CISC vs RISC, input/output processing, and interrupt handling, as well as the application of many of these concepts to modern personal computers. The student will also gain insight into the boot process by installing multiple operating systems on a single PC.
3
A study of computer organization, data types, expressions, logical structures, subprograms (subroutines and functions), recursion, structured data types (arrays and records), dynamically allocated data, array-based lists, linked lists, stacks, queues, graphs, trees, sorting, and searching.
3
An introduction to discrete structures, this course covers such topics as sets, functions, relations, basic logic, proof techniques, the basics of counting and probability, algorithms, graphs and trees.
3
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 50000 and CPSC 50100
This study of computer architecture 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 50000
Overview of the field of data mining and analytics; large-scale file systems and Map-Reduce, measures of similarity, link analysis, frequent item sets, clustering, e-advertising as an application, recommendation systems.
3
Programming structures and algorithms for large-scale statistical data processing and visualization. Students will use commonly available data analysis software packages to apply concepts and skills to large data sets and will also develop their own code using an objectoriented programming language.
3
Prerequisites
MATH 51000
This course will present the concepts and principles of multiple user operating systems: memory, CPU, I/O device allocation, scheduling and security, memory hierarchies, performance evaluation, analytic models, simulation, concurrent programming and parallel processors. It will also discuss distributed computing principles, theory, implementations, and security; models of distributed systems, interprocess communications, distributed objects and remote invocation, coordination and agreement, distributed transactions, interoperability, and replication; component frameworks and middleware such as CORBA and DCE. Security problems in distributed application environments will be analyzed and solutions will be discussed.
3
Prerequisites
CPSC 50000
Development of web- and mobile-based front ends for large-scale data systems; with a focus of portability, accessibility, and intuitiveness.
3
Prerequisites
CPSC 51100
Information security ultimately depends on identifying and applying available security features appropriately. This course discusses the development of a secure information infrastructure consisting of servers, networks, firewalls, workstations, and intrusion detection systems. It also covers principles and practice related to secure operation of existing distributed systems. Principles of penetration testing for assessment of system security are also addressed. This course will also cover network security management systems that gather and analyze information to identify possible security breaches. It includes intrusions (attacks from outside the organization) and misuse (attacks from within the organization). Students learn the use of vulnerability assessment and scanning technologies to determine the security of a network.
3
Prerequisites
INSY 50500
This course will present key cryptologic terms, concepts, and principles. Traditional cryptographic and cryptanalytic techniques are covered plus perspective on successes and failures in cryptologic history, including both single-key algorithms and double-key algorithms. Issues in network communications, network security, and security throughout the different layers of the OSI model for data communications will also be discussed in depth, as well as the use of cryptologic protocols to provide a variety of security services in a networked environment. Authentication, access control, non repudiation, data integrity, and confidentiality issues will also be covered, plus key generation, control, distribution, and certification issues.
3
Prerequisites
CPSC 51000
The theory and practice of visualizing large, complicated data sets to clarify areas of emphasis. Human factors best practices will be presented. Programming with advanced visualization frameworks and practices will be demonstrated and used in group programming projects.
3
Prerequisites
CPSC 51100
The design and operation of large-scale, cloud-based systems for storing data. Topics include operating system virtualization, distributed network storage; distributed computing, cloud models (IAAS, PAAS, and SAAS), and techniques for securing cloud and virtual systems.
3
Prerequisites
CPSC 51100
Algorithms for enabling artificial systems to learn from experience; supervised and unsupervised learning; clustering, reinforcement learning; control. Students will write programs that demonstrate machine learning techniques.
3
Prerequisites
CPSC 51100
Expressing relationships among items in a way that enables automated, distributed analysis in an application-independent way; text mining to derive meaning from semantic networks; algorithms for processing semantic networks; developing a web of things.
3
Prerequisites
CPSC 51100
Architecture and programming of parallel processing systems; distributed data storage techniques; multithreading and multitasking; redundancy; load balancing and management; distributed system event logging; programming techniques for maximizing the importance of distributed systems.
3
Prerequisites
CPSC 51100
This is a hands-on course that focuses on current strategies crackers use to attack Windows systems and how system administrators may counteract such attacks.
3
Prerequisites
INSY 50500 and CPSC 51500
This is a hands-on course that focuses on current strategies crackers use to attack Linux systems and how system administrators may counteract such attacks.
3
Prerequisites
INSY 50500 and CPSC 51500
Topics central to Artificial Intelligence are covered, including knowledge representation, the predicate
calculus, goal-directed and data-directed search techniques, and rule-based expert systems. Two languages for problem solving is presented: LISP and PROLOG.
3
Prerequisites
CPSC 50200
Techniques for planning, learning, and decision making under uncertainty and in multi-agent environments. Topics include Markov Decision Processes (MDPs), partially observable MDPs, reinforcement learning, game theory, Bayesian networks, and special topics.
3
Prerequisites
CPSC 57100
Methods and algorithms for natural language processing (NLP). This course will present the linguistic, probabilistic and statistical foundation that underlies NLP and introduce algorithms used in NLP with an emphasis on applying these algorithms in developing computer applications.
3
Prerequisites
CPSC 57100
This course covers various topics, with areas of concentration on communications devices, protocols, standards, networking topologies, hardware, software, design, installation and setup, maintenance and security. The advantages, disadvantages and implementation issues of Microsoft Windows and Unix are explored.
3
Prerequisites
CPSC 50000
The capstone experience for students pursuing the Computer Science concentration in Data Science. Students will develop a solution for a real-world problem in data mining and analytics, document their work in a scholarly report, and present their methodology and results to faculty and peers.
3
Prerequisites
A minimum of 24 hours earned in the MS Data Science program.
This is the culminating experience for students in the Technical Track of the MSIS major, and it is designed to give students an opportunity to integrate all that they have learned from prior coursework in the program. Students will select and explore a topic of current research interest in the information security field, or they will implement a project germane to information security. In either case, the student will document their findings and accomplishments in a well-researched scholarly paper and present it to their faculty and peers. Students will work closely with a faculty advisor according to the traditional mentor-student graduate model to produce a publication-worthy document that can serve as a reference to future MSIS students and faculty.
3
Prerequisites
A student must have earned at least 21 credit hours in the MSIS program to take this course.
This course exposes students to cutting-edge topics in Computer Science that have not yet been become permanent parts of the curriculum. These may include exposing students to new tools for conducting work within certain application areas of computer science. Or, certain offerings of this course could explore new theories of computer science that are currently sparking interest and being developed.
3
Introduction to research in Computer Science. Topics include literature review, common mathematical proof techniques and basic algorithm analysis. Additionally, the research process will be presented, including design, methodology and ethics.
2
This is an advanced course that enables students to carry out independent study under the supervision of a faculty member.
1-3