CSCI: Computer Science (CSCI)
CSCI 503. Introduction to Machine Learni. (3 Credits)
This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI).
CSCI 545. Advanced Data Communications. (3 Credits)
Topics include classification of data communication systems, developments in communication technologies, routing models and algorithms, performance analysis in data networks, and modeling and simulation of large-scale networks. Prerequisite: CSCI 445 or equivalent.
CSCI 552. Scientific Visualization. (3 Credits)
Fundamental concepts of the algorithms and design principles underlying modern 3D computer graphics, data and scientific visualization. Prerequisite: Permission of the instructor.
CSCI 553. Image Processing. (3 Credits)
Advanced topics in image processing that help students to grasp the theory of mathematically modeling images; to learn how to develop various algorithms for analysis and processing of image signals; to explore new applications of image processing into computer vision, graphics, surveillance and biomedical imaging. Prerequisite: CSCI 453 or equivalent.
CSCI 554. 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, multli-programming, memory management and file systems. Concepts of distributed operating systems are also introduced. Prerequisite: CSCI 489 or equivalent.
CSCI 555. Information Assurance. (3 Credits)
Advanced topics in information assurance, including selections from the following: penetration testing, formal verification of systems, formal models of information flow and protection, distributed system authentication, protocol design and attack, computer viruses and malware, intrusion and anomaly detection models, multi-level security, active defenses, investigation and forensics, network firewalls, anonymity and identity, e-commerce support, and database security models and mechanisms. Prerequisite: Permission of the instructor.
CSCI 556. Advanced Database Applications. (3 Credits)
Applications of advanced database systems. Students will work on a series of projects using industry standard software. Prerequisite: CSCI 356 or equivalent.
CSCI 560. Embedded Systems. (3 Credits)
An introduction to embedded systems with emphasis on applications. Students will program a microcontroller using a complete development system. Prerequisite: CSCI 303 or equivalent.
CSCI 570. Computer Simulation. (3 Credits)
Advanced applications of discrete and continuous simulation modeling. Prerequisites: CSCI 287 or equivalent; STAT 340 or equivalent.
CSCI 588. Advanced Systems Architecture. (3 Credits)
A study of computer architecture with an emphasis on a quantitative approach to cost/performance design tradeoffs, including the fundamentals of uniprocessors and multiprocessors, scheduling, speculation, and multithreading. Prerequisite: CSCI 303 or equivalent.
CSCI 592. Advanced Algorithms. (3 Credits)
An investigation of the classification of algorithms with emphasis on design and analysis of complexity. Topics include approximation, sorting, searching, optimization, randomize algorithms, and NP completeness. Prerequisite: CSCI 392 or equivalent.
CSCI 600. Thesis I. (3 Credits)
Research on a thesis that represents an original contribution with publishable results. Prerequisite: Permission of the chair of the graduate committee.
CSCI 601. Thesis II. (3 Credits)
Research on a thesis that represents an original contribution with publishable results. A student shall not receive credit for CSCI 601 until the graduate committee approves the draft copy of the thesis. Prerequisite: CSCI 600 Thesis I.
CSCI 602. Adv Artificial Intelligence. (3 Credits)
Topics include Machine Learning, Knowledge Representation and Discovery, Neural and Evolutionary Computation, and Intelligent Agents and Multi-Agent Systems. Prerequisite: CSCI 402 or equivalent.
CSCI 605. Master Project. (4 Credits)
A master’s project should include the introduction of new software tools, a novel capability using existing technology, or a novel survey of an area, or require substantial scientific computation. A report must be submitted and approved by the graduate committee. Prerequisite: Permission of the chair of the graduate committee.
CSCI 610. Graduate Seminar I. (1 Credit)
Students present their work for their master’s project or thesis. Prerequisite: Permission of the chair of the graduate committee.
CSCI 611. Graduate Seminar II. (1 Credit)
Students present their work for their master’s project or thesis. Prerequisite: Permission of the chair of the graduate committee.
CSCI 640. Special Topics in Computer Sci. (3 Credits)
An introduction to a special topic with applications. Students will work on a series of projects using current technology. This course may be repeated for additional credit provided the topic is substantially different than any prior course including transferred credit. Prerequisite: Permission of the instructor.
CSCI 641. Special Topics in Computer Sci. (3 Credits)
An introduction to a special topic with applications. Students will work on a series of projects using current technology. This course may be repeated for additional credit provided the topic is substantially different than any prior course including transferred credit. Prerequisite: Permission of the instructor.
CSCI 642. Special Topics in Computer Sci. (3 Credits)
An introduction to a special topic with applications. Students will work on a series of projects using current technology. This course may be repeated for additional credit provided the topic is substantially different than any prior course including transferred credit. Prerequisite: Permission of the instructor.
CSCI 643. Special Topics in Computer Sci. (3 Credits)
An introduction to a special topic with applications. Students will work on a series of projects using current technology. This course may be repeated for additional credit provided the topic is substantially different than any prior course including transferred credit. Prerequisite: Permission of the instructor.
CSCI 647. Wireless Networks & Mobile Cmp. (3 Credits)
Fundamentals of wireless networks and mobile computing, protocols, quality of service in wireless networks, and applications in wireless and mobile networks including distributed applications, middleware, mobile transactions, mobile multimedia, and remote execution. Prerequisite: CSCI 445 or equivalent;
CSCI 660. Automata and Formal Language. (3 Credits)
The study of three mutually related topics: Languages, machines, and computability. Key topics include regular languages, finite automata, determinism and non-determinism in finite automata, pattern matching, context-free languages, push-down automata, Turing machines, resource-bounded computation. Prerequisite: CSCI 460 or equivalent.
CSCI 670. Computer Security. (3 Credits)
Key concepts and algorithms involved in cryptography and computer security. Includes intrusion detection, firewalls, and digital signatures. Prerequisite: CSCI 358 or equivalent.
CSCI 680. Algorithmic Graph Theory. (3 Credits)
Investigate a variety of graph algorithms, both sequential and parallel, known to have applications to such areas as scheduling, robotics, computational geometry, VLSI design, and pattern recognition. The students will learn graph algorithms both sequential and parallel in a hybrid. Prerequisite: MATH 490 or equivalent.
CSCI 682. Computer Modeling & Animation. (3 Credits)
Applications of 3D computer graphics including modeling, transformations, and animation. Students will work on a series of projects using industry standard software. Prerequisite: CSCI 480 or equivalent.
CSCI 685. Software Engineering. (3 Credits)
This course covers software engineering tools, models/methodologies, use case analysis, user interface design, estimation and scheduling, and software maintenance. It also covers software requirements analysis and specification, software design, software testing, software post-delivery maintenance, software verification, validation, and documentation. Prerequisite: CSCI 487 or equivalent.
CSCI 687. Advanced Software Development. (3 Credits)
The purpose of this course is to provide a basic concepts and principles of the software life cycle with emphasis on software design, development, and implementation. It also examines current issues in software development, software architectures, requirements specification, Quality control and metrics, and software project management. Some of the industry life-cycle models are presented, with examples of their use. Prerequisite: CSCI 487 or equivalent.
CSCI 689. Software Quality Assurance. (3 Credits)
This course covers a variety of topics related to software quality assurance including: activities performed by external participants, activities to project schedules and budget control, risk management, and costs associated with SQA. It also focuses on the methods and techniques in software testing and quality assurance. Prerequisite: CSCI 685.
CSCI 693. Parallel Algorithms. (3 Credits)
An introduction to parallel programming with emphasis on models and algorithms. Topics include communication complexity, tree balancing, partitioning and tree contraction, parallel version of graph, parallel sorting and searching, Omega and Batcher networks. Students are expected to be able to solve problems using different programming paradigms. Prerequisite: CSCI 592.
CSCI 694. Algorithms for VLSI. (3 Credits)
Design and analysis of algorithms for design of VLSI circuits, VLSI test and simulation. Prerequisite: CSCI 303 or equivalent.
CSCI 695. Data Mining. (3 Credits)
A study of knowledge discovery from data with emphasis on theory and application. Topics include data mining techniques such as clustering, classification and association rules, applications such as decision support and failure analysis, and case studies from domains such as engineering. Prerequisites: CSCI 592 and CSCI 356 or equivalent.
