Computer Science Courses

CS
503
Hours
3
Programming Languages

This course provides a graduate level presentation of Programming Languages. Formal student of programming language specification, analysis, implementation, and run-time support structures; organization of programming languages with emphasis on language constructs and mechanisms; and study of non-programming paradigms. Students who have successfully completed CS 403 may not also receive credit for CS 503.

CS
504
Hours
3
CS Curriculum for Math Education

Building upon the concepts from CS 104, students will explore in-depth how computer science education is presented in the secondary education setting. Students will get the opportunity to explore current computer science curriculum and develop resources for future teaching, with a specific emphasis on the College Board’s AP CS Principles (AP CSP) curriculum.

Prerequisite(s): CS 104 or permission by instructor.
CS
507
Hours
3
Software Interface Design

Concepts of the human-computer interface, emphasizing the software aspects. Dialog styles, form models, user documentation and the evaluation of human-computer software interfaces. Students who have successfully completed CS 407 may not also receive credit for CS 507.

CS
515
Hours
3
Software Design and Development

Object-oriented design and development using UML and Java, design patterns, and architectural patterns.

Prerequisite(s): CS 200, CS 201, and ECE 383 each with a minimum grade of C-
CS
516
Hours
3
Testing and Quality Assurance

Study of verification & validation and related processes. Topics include techniques and tools for software analysis, testing, and quality assurance. Students who have successfully completed CS 416 may not also receive credit for CS 516.

CS
517
Hours
3
Requirements Engineering

Study of requirements engineering and its phases. Topics include formal, semi-formal, and informal paradigms for elicitation, documentation, and management of software system requirements. Students who have successfully completed CS 417 may not also receive credit for CS 517.

CS
520
Hours
3
Software Evolution

Study of techniques and tools for design-time and run-time software adaptation, including principles of reflection and metaprogramming, software modularity, metamodeling and software language engineering.

CS
526
Hours
3
Intro Operating Systems

This course provides a graduate level presentation of Introduction to Operating Systems. Study of basic operating system concepts with an emphasis on memory processor, device, and information management.

Prerequisite(s): CS 200, CS 201 and ECE 383 with a minimum grade of C-
CS
528
Hours
3
Computer Security

An examination of computer security concepts, such as cryptographic tools, user authentication, access control, database security, intrusion detection, malicious software, denial of service, firewalls and intrusion prevention systems, trusted computing and multilevel security, buffer overflow, software security, physical and infrastructure security, human factors, and security auditing. Students who have successfully completed CS 428 may not also receive credit for CS 528.

CS
534
Hours
3
Compiler Construction

This course provides a graduate level presentation of Compiler construction. Syntax and semantics of procedure-oriented languages and translation techniques used in their compilation; includes computer implementation.

CS
535
Hours
3
Computer Graphics

Display memory, generation of points, vectors, etc. Interactive versus passive graphics, analog storage of images on microfilm, etc. Digitizing and digital storage, pattern recognition by features, syntax tables, and random nets. The mathematics of three dimensions, projections, and the hidden-line problem. Students who have successfully completed CS 435 may not also receive credit for CS 535.

CS
538
Hours
3
Computer Comm & Networks

This course provides a graduate level presentation of Computer Communications and Networks. The student of the issues related to Computer communications. Topics include physical topologies, switching, error detection and correction, routing, congestion control, and connection management for global networks (such as the Internet) and local area networks (such as Ethernet). In addition, network programming and applications will be considered. Students who have successfully completed CS 438 may not also receive credit for CS 538.

CS
542
Hours
3
Cryptography

This course will cover algorithms and concepts in cryptography and data security. We will undertake an examination of algorithms and concepts in cryptography and data security, such as symmetric ciphers, asymmetric ciphers, public-key cryptography, hash functions, message authentication codes, key management and distribution, etc.

CS
543
Hours
3
Digital Forensics

Digital Forensics is an area of study that is rapidly growing in importance and visibility. It involves preserving, identifying, extracting, documenting and interpreting digital data. Though sometimes misunderstood, digital forensics is like other types of investigation. With the continuous rise of computer-related incidents and crimes, and the increased emphasis on homeland defense in this country, there is a growing need for computer science graduates with the skills to investigate these crimes. This course will introduce the topics of computer crime and digital forensics. Students will be required to learn different aspects of computer crime and ways in which to uncover, protect and exploit digital evidence.

CS
544
Hours
3
Software Security

This course is an introduction to software security principles and practices. Topics for this course will include but not be limited to security architectures, defensive programming, web security, secure information flow, and common software vulnerabilities.

CS
545
Hours
3
Software Reverse Engineering

Software Reverse Engineering is an area of study that is rapidly growing in importance and visibility. This course will reveal to students the challenges of monitoring and understanding software systems. During the course students will become familiar with the practice of software reverse engineering files by utilizing static and dynamic techniques, and methods in order to gain an understanding as to what impact a file may have on a computer system.

CS
548
Hours
3
Network Security

Concepts concerning network security, including an examination of network security concepts, algorithms, and protocols.

CS
551
Hours
3
Data Science

This course introduces fundamental concepts & techniques in data science as well as develops practical skills for data analysis in real-world applications. Given the multi-disciplinary nature of data science, the course will primarily focus on the advantages and disadvantages of various methods for different data characteristics, but will also provide some coverage on the statistical or mathematical foundations. Topics to cover include data preprocessing, data exploration, relationship mining, prediction, clustering, outlier detection, deep learning, spatial and spatiotemporal data analysis, text data analysis, and big data.

Prerequisite(s): MATH 237 with a grade of C- or higher, (MATH 355 or GES 255) with a grade of C- or higher
CS
552
Hours
3
Information Retrieval

This course is an introduction to information retrieval principles and practices. The course will cover several aspects of Information Retrieval including; indexing, processing, querying, and classifying data. Also, retrieval models, algorithms, and implementations will be covered. Though the class will focus primarily on textual data, other media including images/videos, music/audio files, and geospatial information will be addressed. Topics for this course will include but not be limited to: text processing and classification, web search development techniques, and document clustering.

CS
555
Hours
3
Social Media Data Analytics

The world is experiencing rapid growth in the amount of published data which come from different sources, including Social Media platforms. The availability of programming interfaces to these platforms allows for near real-time processing of these data for various purposes. This course will reveal to students the inherent challenges of analyzing Social Media data and introduce tools and techniques that are available to address them.

CS
557
Hours
3
Database Management Systems

This course provides a graduate level presentation of Database Management Systems. Constituent parts of database management (design, creation, and manipulation of databases), client-server, relational, and object-oriented data models.

Prerequisite(s): CS 200, CS 201, and ECE 383 each with a minimum grade of C-
CS
560
Hours
3
Introduction To Autonomous Robotics

Issues involved with the implementation of robot control software including motion, kinematics, simulation testing, sensor incorporation and unmodeled factors. Students who have successfully completed CS 460 may not also receive credit for CS 560.

Prerequisite(s): CS 300 or CS 426
CS
561
Hours
3
Brain Computer Interface

This course involves the exploration of new forms of Human-Computer Interaction (HCI) based on passive measurement of neurophysiological states (cognitive and affective). These include the measurement of cognitive workload and affective engagement.

CS
565
Hours
3
Artificial Intelligence

The advanced study of topics under the umbrella of artificial intelligence including problem solving, knowledge representation, planning and machine learning.

CS
567
Hours
3
Computer Systems Architecture

Computer architectures, computer design, memory systems design, parallel processing concepts, supercomputers, networks, and multiprocessing systems.

CS
570
Hours
3
Computer Algorithms

This course provides a graduate level presentation of Introduction to Computer Algorithms. Construction of efficient algorithms for computer implementation. Students who have successfully completed CS 470 may not also receive credit for CS 570.

CS
575
Hours
3
Formal Languages & Machines

Regular expressions and finite automata. Context free grammars and pushdown automata. Recursively enumerable languages and turing machine. The Chomsky hierarchy. Students who have successfully completed CS 475 may not also receive credit for CS 575.

CS
580
Hours
3
Computer Simulation

Introduction to simulation and use of computer simulation models; simulation methodology, including generation of random numbers and variants, model design, and analysis of data generated by simulation experiments. Students who have successfully completed CS 480 may not also receive credit for CS 580.

CS
581
Hours
3
High Performance Computing

This course provides students with knowledge and fundamental concepts of high performance computing as well as hands-on experience of the core technology in the field. The objective of this class is to understand how to achieve high performance on a wide range of computational platforms. Topics include: optimizing the performance of sequential programs based on modern computer memory hierarchies, parallel algorithm design, developing parallel programs using MPI, analyzing the performance of parallel programs.

CS
584
Hours
3
Machine Learning and Optimal Control

This course includes the design of computational agents based on machine learning and control theories. and the interplay of theoretical methods from artificial intelligence and optimal control and to form a bridge that benefits the students with interests in either field. These methods are collectively referred to as reinforcement learning, as well as approximate dynamic programming and neuro-dynamic programming. The course will involve applying concepts and methods in the context of psychology and neuroscience.

CS
591
SP
Hours
3
Special Topics In CS

Formal courses that cover new and innovative topics in computer science and do not yet have their own course numbers. Specific course titles will be announced.

Special Topics Course
CS
592
SP
Hours
1-12
Independent Study

This course requires a written proposal that must be approved by the sponsoring faculty member before registration.

Special Topics Course
CS
598
Hours
1-6
Non-Thesis Research

No description available.

CS
599
Hours
1-6
Thesis Research

This independent research course partially fulfills required master’s-level research thesis hours toward the master’s degree in Computer Science. The course is conducted under the guidance of the thesis advisor. Material covered will be of an advanced nature aimed at providing master's students with an understanding of the latest research and current developments within the field. Discussion and advisor guidance will be directed towards readings of research articles and development of research methodology, with the aim of producing an original research contribution that represents a novel development in the field, or a novel perspective on a pre-existing topic in the field.

CS
606
Hours
3
Analys Operating Systems

Design of operating systems; advanced examination of synchronization, deadlock, virtual memory, and security; and parallel and distributed systems.

Prerequisite(s): CS 300
CS
609
Hours
3
Database Management

An advanced view of database management systems, addressing both practical and theoretical aspects of database systems. The implementation and performance of the relational and NoSQL models will be examined, along with system techniques associated with transaction processing and recovery. Distributed databases, database security, and databases in clouds will also be discussed.

Prerequisite(s): CS 301
CS
613
Hours
3
Adv Computer Comm & Networks

Study of computer networks, including telecommunications and related data transmission techniques. Network philosophy, design, and implementation.

Prerequisite(s): CS 438 or CS 538
CS
618
Hours
3
Wireless Mbile Netrwrk Protocl

Network protocol design and analysis in wireless and mobile networks. Topics include ad hoc.

Prerequisite(s): CS 438 or CS 538 or CS 613 or ECE 406 or ECE 506 or ECE 502
CS
630
Hours
3
Empirical Software Engineering

Introduction to empirical research methods in software engineering. Focus on measuring processes and designing experiments.

CS
648
Hours
3
IoT and IoT Security

Concepts and technologies in IoT and IoT security, including introduction to IoT applications, IoT protocols, threats and countermeasures.

CS
691
SP
Hours
3
Special Topics

Formal courses that cover new and innovative topics in computer science and do not yet have their own numbers; specific course titles will be announced.

Special Topics Course
CS
692
SP
Hours
1-12
Independent Study

This course requires a written proposal that must be approved by the sponsoring faculty member before registration.

Special Topics Course
CS
699
Hours
1-12
Dissertation Research

This independent research course partially fulfills required doctoral-level research dissertation hours toward the Ph.D. degree in Computer Science. The course is conducted under the guidance of the dissertation advisor. Material covered will be of an advanced nature aimed at providing doctoral students with an understanding of the latest research and current developments within the field. Discussion and advisor guidance will be directed towards readings of research articles and development of research methodology, with the aim of producing an original research contribution that represents a novel development in the field, or a novel perspective on a pre-existing topic in the field.