2023-2024 Academic Catalog

Computer Science (CSC)

CSC 521  Database Principles and Design  (3 Credits)  

An introductory course emphasizing the basic concepts and principles of database systems. Topics include relational, hierarchical, and network approaches to data organization.

CSC 530  Data Communication  (3 Credits)  

This course focuses on the basic principles of computer communication, hardware, and software design. Topics include transmission media, data encoding, transmission techniques, protocols, switching networks, broadcast networks, and local area networks.

CSC 535  Computer Security I  (3 Credits)  

This course is designed for IT professionals to learn computer and network security theories and practices that can be used to significantly reduce the security vulnerability of computers on internal networks or the Internet. Topics include cryptography, program security, operating systems security, database security, network security, security administration, computer ethics, and legal issues.

CSC 555  Management of Information Security  (3 Credits)  

This course is designed for Security System Administrators and Managers responsible for designing, planning, and managing security installations in Business and Government Institutions. Topics include management of information security, security planning, security protection (technical and procedural), best practices, risk management, operations security, legal issues, and certification and accreditation.

CSC 564  Operating Systems  (3 Credits)  

Topics include the history and evolution of operating systems, the concepts behind and structure of various operating systems, process scheduling, inter-process communication, input and output, multiprogramming, memory management, and file systems. Concepts of distributed operating systems are also introduced.

CSC 566  Advanced Computer Topics I  (3 Credits)  

This course covers advanced computer topics not covered in the curriculum. Designed as a Computer Science elective, not as a replacement for any specific required course.

CSC 567  Advanced Computer Topics II  (3 Credits)  

This course covers advanced computer topics not covered in the curriculum. Designed as a computer science elective, not as a replacement for any specific required course.

CSC 570  Artificial Intelligence  (3 Credits)  

This course offers an in-depth study of concepts and problem-solving techniques of artificial intelligence. Topics include knowledge representation, functional and logic programming, machine learning, natural language understanding, computer vision, robotics, and societal impact.

CSC 571  Game Design and Development  (3 Credits)  

This course introduces students to game design and development concepts. Topics include the history of games, genres, play elements, story and character development, game play and storyboard design, level and user interface design, and the game design document.

CSC 572  3D Game Programming  (3 Credits)  

This is a project-oriented course on 3D game programming. Students will work in teams to design, implement and test a three-dimensional game with interactivity, game state diagram, animation, sound, and constraints. Students will also learn the basics of graphic design and animation.

CSC 573  Modeling and Simulation  (3 Credits)  

This course introduces students to the major areas of simulation and the languages and systems used in these areas. Areas of simulation covered include gaming, military, health, network, business processes, and transportation. The types of simulation software discussed include process oriented, discrete event oriented, general purpose, and simulation environments.

CSC 576  Advanced Computer Topics III  (3 Credits)  

This course covers advanced computer topics not covered in the curriculum. Designed as a computer science elective, not as a replacement for any specific required course.

CSC 577  Advanced Computer Topics IV  (3 Credits)  

This course covers advanced computer topics not covered in the curriculum. Designed as a Computer Science elective, not as a replacement for any specific required course.

CSC 580  Computer Graphics  (3 Credits)  

This course focuses on interactive computer graphics hardware and software: display devices, 2D and 3D geometric transformations, raster algorithms, representation of curves and surfaces, hidden line removal and surfaces, shading algorithms, and color graphics.

CSC 593  Systems Programming  (3 Credits)  

Fundamentalsa ofa systema anda networka programming methodology, techniques, system calls, and library calls.

CSC 596  Compiler Construction  (3 Credits)  

An introduction to the fundamentals of compiler construction and language translation. Topics include lexical analysis, specifications of syntax, algorithms for syntactic analysis, code generation, and optimization techniques.

CSC 611  Machine Learning  (3 Credits)  

Machine learning is a subfield of artificial intelligence concerned with the design, analysis, implementation, and applications of programs that learn from experience. This course is about learning to extract statistical structure from data for making decisions, predictions, and visualizations. It gives in-depth coverage of advanced methods in machine learning, emphasizes approaches with practical relevance, and discusses a number of recent applications of machine learning.

CSC 612  Computational Science  (3 Credits)  

This course provides students with an overview of applications of computational skills needed to solve scientific research problems. The computational skills in review include programming languages, algorithms, database implementation, internet technologies, data visualization, statistics, modeling and simulation, and operations research.

CSC 625  Analysis of Algorithms  (3 Credits)  

This course covers the design and analysis of algorithms. Topics include Turing machines; NP-complete theory; best, average, and worst-case analysis; divide-and-conquer; greedy method; dynamic programming; graph traversal; backtracking and branch-and bound techniques. The course also covers sorting, searching, graph algorithms, and optimization.

CSC 630  Computer Networks  (3 Credits)  

This is an advanced graduate-level course focusing on the concept of internetworking in general and the TCP/IP Internet technology in particular. The course reviews both the architecture of network interconnections and the principles underlying protocols that make interconnected networks function as a single, unified communication system. It also covers how an internet communication system can be used for distributed computation and communication.

CSC 635  Computer Security II  (3 Credits)  

This course is an advanced course in Computer Security. It covers topics of current interest in Information Assurance. Topics to be covered include Digital Forensics, Intrusion Detection, Steganography, Security Usability, Cloud Computing, and Wireless Security.

CSC 650  Cryptography  (3 Credits)  

Study of historical and modern cryptographic techniques and algorithms. Topics include symmetric and asymmetric key cryptography, one-way functions, secure hash functions, digital signatures, key exchange, authentication, key management, PKI, DES, AES (Rijndael), and current topics.

CSC 660  Parallel Computing  (3 Credits)  

Study of high-performance computing techniques. Includes the study of parallel computer architecture, memory, and I/O. Also, parallel computer algorithms to include shared and distributed memory, parallel computation models, graph algorithms, numerical algorithms, and divide-and-conquer will be covered.

CSC 668  Advanced Computer Architecture  (3 Credits)  

Principles and advanced topics of the instruction set architecture for uni-processors, embedded system processor, and multi-processor.

CSC 672  Digital Forensics  (3 Credits)  

This course focusses on cutting-edge topics in Digital and Network Forensics. It introduces students to the applicable laws and ethical responsibilities of a digital forensics professional, the technical skills required, and open research problems in digital forensics. The course includes lectures, discussions, and demonstrations. It is designed around a virtual lab environment that provides robust and realistic hands-on experiences in dealing with a range of digital forensics topics.

CSC 678  Scientific Visualization  (3 Credits)  

Fundamental concepts of the algorithms and design principles underlying modern 3D computer graphics and data and scientific visualization.

CSC 691  Graduate Independent Study I  (3 Credits)  

Supervised independent project designed to give computer science graduate students an opportunity to explore a single topic in a one-to-one learning relationship with a faculty member.

CSC 697  Ethical Hacking and Penetration Testing  (3 Credits)  

An in-depth study of the practical aspects of computer security including the study of common security vulnerabilities in a laboratory setting.

CSC 701  Continuing Registration  (1-9 Credits)  

A one-credit-hour course that allows students to maintain continuous registration status. Does not count towards the MS.CSC degree credits.

CSC 702  Practicum  (1 Credits)  

A one-credit-hour course that allows students to apply their skills in a work setting. The credit earned through this course will not be counted towards MS.CSC degree credit. A student can take this course and repeat it up to three times when s/he is away from campus on outside employment for internship or practical training in a related technical field. This is a Pass/Fail course.

CSC 703  Graduate Research  (3-9 Credits)  

This course provides an opportunity to learn how to conduct research through practical experience with a research advisor. It exposes students to a subset of the following tasks based on the student's knowledge of research activities: development and implementation of a research topic, reviewing technical literature for relevancy to research topics, writing status reports, writing technical reports or papers of conference submission quality, attending and making technical presentations.

CSC 720  Wireless Sensor Networks  (3 Credits)  

An advanced, graduate-level course focusing on the study of wireless sensor networks from communications, security, and computing platform viewpoints.

CSC 730  Advanced Topics in Networking  (3 Credits)  

Optical networks, dynamic spectrum access in wireless networks, cognitive radio networks, network coding, and other newly emerged networking technologies are covered. Optical Network topics include WDM network elements, routing and wavelength assignment algorithms, blocking probability analysis, virtual/physical topology design, survivability, and IP over WDM. Other topics include enabling technologies for cognitive radio, channel assignment/selection, routing, security, and spectrum management.

CSC 745  Network Defense  (3 Credits)  

Focuses on network defense and countermeasures, including firewalls, intrusion detection and prevention systems, virtual private networks.

CSC 750  Evolutionary Computing  (3 Credits)  

The course covers the fundamentals of applying biological evolutionary characteristics to optimization of very complex problems.

CSC 755  Cloud Computing  (3 Credits)  

A one-semester graduate-level course focusing on cloud computing technologies and solutions. It is designed to give students a solid foundation in cloud computing fundamentals. The course covers both the conceptual and practical aspects of cloud computing.

CSC 760  Secure Software Development  (3 Credits)  

Introduction to core concepts and the latest research trends and results in developing secure software. Topics include the best practices in developing secure software within Software Development Lifecycle (SDLC), vulnerability assessment, and code analysis techniques.

CSC 765  Advanced Topics in Information Assurance  (3 Credits)  

This course covers state-of-the art advances, emerging trends, and threats in cybersecurity. Topics to be covered include current topics in Information Assurance, advanced digital forensics, new approaches to management of cybersecurity and new threats, vulnerabilities and controls.

CSC 781  Advanced Graduate Computer Topics I  (3 Credits)  

Advanced computer topics that are not generally covered in the graduatea600/700 levela curriculum.aDesignedaas a Computer Science graduate elective, not as a replacement for any core course.

CSC 782  Advanced Graduate Computer Topics II  (3 Credits)  

Advanced computer topics that are not generally covered in the graduatea600/700 levela curriculum.aDesignedaas a Computer Science graduate elective, not as a replacement for any core course.

CSC 791  Graduate Independent Study II  (3 Credits)  

Supervised independent project designed to give computer science graduate students an opportunity to explore a single topic in a one-to-one learning relationship with a faculty member.

CSC 795  Master's Project  (3 Credits)  

Guided master's research project under the supervision of a research project advisor and the course instructor; requires extensive expository work and other tasks and a formal project report with a public presentation of the project's work.

CSC 798  Master's Thesis I  (3 Credits)  

First semester of the master's thesis sequence. Under the supervision of the thesis advisor, students prepare a thesis proposal and work toward the goal of completing all background material needed for their research. A satisfactory thesis draft and presentation to the committee will be used to satisfy completion of the course.

CSC 799  Master's Thesis II  (3 Credits)  

The culmination of the two-semester master's thesis sequence. Students must complete a thesis document and defend the work in a public presentation to their committee.