Computer Science (CSCI)

CSCI 3710    Introduction to Discrete Structures    3 s.h.

Basic set theory, including functions and relations. Boolean algebra, propositional logic, regular expressions, and finite automata.
Prereq.: CSIS 2610 and MATH 1571 or MATH 1585H, or Math Placement Level 9 or 90.

CSCI 3750    Advanced UNIX and C Programming    3 s.h.

Use of UNIX programming environment and associated tools and utilities. Command language programming. Systems programming with ANSI C. May include UNIX internals and system administration.
Prereq.: CSIS 3700.

CSCI 3770    Concepts of Programming Languages    3 s.h.

Comparative survey of programming language paradigms, including imperative, object-oriented, event-driven, functional, logic-based, and concurrent programming languages. Design and tradeoffs of programming language features and implementation, including syntax, control structures, types, memory management, and security.
Prereq.: CSIS 3701.

CSCI 4850    Advanced Database Design and Administration    3 s.h.

Design, development, implementation, and administration of large database systems at the enterprise level, including logical data models, data security and assurance, concurrent processing, data distribution, data marts, data warehouses, data mining, and data extraction, cleansing, and loading.
Prereq.: CSIS 3722 with a grade of C or better.
Cross-Listed: CSCI 6950.

CSCI 4851    Data Science and Machine Learning    3 s.h.

Basic methodologies for the data science pipeline: data acquisition and cleaning, handling missing data, exploratory data analysis, visualization, feature engineering, modeling, interpretation, and presentation in the context of real-world datasets. Classical models and techniques for classification, clustering, anomaly detection, deep learning, and collaborative filtering.
Prereq.: CSIS 3722 with a grade of C or better.
Cross-Listed: CSCI 6951.

CSCI 4852    Deep Learning    3 s.h.

Foundations of neural networks and deep learning. Master the practical aspects of implementing deep learning solutions, using a hands-on approach to understanding both theory and practice. Key architectures in deep learning are covered, including feedforward networks, convolution neural networks, recurrent neural networks, long short-term memory networks, autoencoders and generative adversarial networks. Apply deep learning to real world problems.
Prereq.: CSIS 3722.
Cross-Listed: CSCI 6952.

CSCI 4862    Server-Side Web Development and Programming    3 s.h.

Configuration of web server software and the use of server-side programming. Server-side scripting. Database access and drivers. Security issues, including access control and secured transmissions.
Prereq.: CSIS 3700 or CSIS 3701.

CSCI 4870    Biometrics    3 s.h.

Major biometric techniques, including face, fingerprint, voice and iris. Biometric methods with roots in computer vision, image processing, pattern recognition and machine learning.
Prereq.: CSIS 3700 or FSCI 3716/L or permission of instructor.

CSCI 4871    Cloud Computing and Big Data    3 s.h.

Fundamental knowledge of cloud computing and big data. Advances in cloud computing and data intensive computing environment across multiple disciplines. Students will build, manage, and program on popular cloud and big data platforms.
Prereq.: At least 3 semester hours of upper division CSIS or CSCI courses.

CSCI 4890    Computer Projects    2-4 s.h.

Individualized study of a topic in computer science culminating in a written report and an oral presentation. May be repeated up to 8 s.h.h. of upper-division CSCI courses) applicable to the minimum requirements of a computer science major, and formal project proposal.
Prereq.: 24 s.h. of computer science (including at least 3 s.
Gen Ed: Capstone.

CSCI 5801    Software Engineering    3 s.h.

Developing and maintaining complex software systems. Process and life-cycle models, and tools for software development (such as CASE). Specification methods, prototyping, validation and verification strategies, and version maintenance. Management of the system development process. A group project is required.
Prereq.: CSIS 3701.

CSCI 5802    Software Tools and Practices    3 s.h.

A course that focuses on the different tools and techniques that software engineers typically use while developing software. Topics include current software engineering tools and practices, software testing, software architecture, version control systems, build and make systems, debuggers, static analysis tools, dynamic analysis tools, and design patterns. Students gain experience in multiple environments (Windows and a UNIX-based environment).
Prereq.: Junior standing and CSIS 3700 or CSCI 6901.

CSCI 5806    Operating Systems    3 s.h.

Study of the various components of operating systems including kernels and monitors, currency and parallel processing, processor management, storage management, device management, I/O processing and file management.
Prereq.: CSIS 3700 and CSIS 3740.

CSCI 5807    Compiler Design    3 s.h.

Study of compiler design and construction, including context-free languages, lexical analysis, parsing, code generation and optimization.
Prereq.: CSIS 3700 and CSIS 3740, CSCI 3710.

CSCI 5814    Computer Architecture    3 s.h.

Study of high-performance sequential computer architecture. Topics include performance evaluation, instruction set design, processor implementation techniques, pipelining, vector processing, memory hierarchy design, and parallel architecture.
Prereq.: CSIS 3700 and CSIS 3740.

CSCI 5820    Simulation    3 s.h.

Methods for modeling discrete event systems by algorithmic approaches using simulation languages.
Prereq.: CSIS 3700 and STAT 3743.

CSCI 5835    Artificial Intelligence    3 s.h.

Study of the theory and applications of intelligent systems. Topics may include general problem-solving techniques, knowledge representation and expert systems, vision and perception, and natural language processing. AI systems and languages.
Prereq.: CSIS 3700 or CSIS 3701.

CSCI 5840    Automata Theory    3 s.h.

Abstract models of computers, and the languages they generate or recognize. Finite state automata and regular expressions; Context-free grammars and pushdown automata; Turing machines. Limits of each model, including decidability and undecidability of computing-related problems. Applications of these models to areas such as input validation, security, language design, and compilers.
Prereq.: CSCI 3710.

CSCI 5849    Computational Methods for problems in the Physical Sciences    3 s.h.

CSCI 5849: Computational Methods for the Physical Sciences 3 s.h. Provides application of the techniques discussed in the class to real world situations. Cross-Listed: MATH 5849 and PHYS 5849.
CSCI 5849: Computational Methods for the Physical Sciences 3 s.h. Prereq.: MATH 3705 and PHYS 2610.

CSCI 5857    Encoding and Encryption    3 s.h.

Securing computer and information systems through encoding and/or encryption. Private and public cryptographic methods, digital certificates and signatures, cryptovariable techniques, key management, and database security issues.
Prereq.: CSIS 2605 or CSIS 2610; MATH 1513 or MATH 1552 or Math Placement Test of 4 or 40 or higher; and at least 3 s.h. of upper-division departmental courses.

CSCI 5870    Data Structures and Algorithms    3 s.h.

Study and application of analysis and design techniques to nonnumerical algorithms. Topics selected from algorithms acting on sets, trees, graphs; memory management; notions of complexity and related areas.
Prereq.: CSIS 3700 and CSCI 3710.

CSCI 5895    Special Topics    2-4 s.h.

A study of special topics in computer science. Subject matter and credit hours will be announced in advance. May be repeated multiple times if topic is different.
Prereq.: At least 3 s.h. of upper-division departmental courses, and permission of chair.

CSCI 6901    Principles of Computer Programming    3 s.h.

Significant features of several computer programming languages to fit the needs of graduate students with no previous computer science experience. Programming techniques and problem analysis. Students will do programming projects appropriate for their needs.

CSCI 6905    Information Structures    3 s.h.

Basic concepts of information: modeling structures, machine level implementation, storage management, programming, language implementation, run-time structures, sorting, and searching.
Prereq.: CSCI 3710 and CSIS 3740, or permission of chair.

CSCI 6920    Theory and Practice of Information Systems    3 s.h.

A study of the relationship of information systems to individuals, organizations, and society. A detailed study of the principles, methodologies, and issues associated with designing, implementing, and administering information systems as a resource in a networked, data-driven organization.
Prereq.: CSIS 3722 and CSIS 3723.

CSCI 6930    Formal Languages and Syntactic Analysis    3 s.h.

Study of formal languages, especially context-free languages, and their applications to parsing and syntactic analysis.
Prereq.: CSCI 3710 or CSCI 6905.

CSCI 6940    Advanced Network Design and Administration    3 s.h.

Advanced network design, implementation, and administration. Topics include infrastructure and architecture, VLSM, logical and physical designs, security issues, voice over IP, client/server networks, and VLANs.
Prereq.: CSIS 3723 or CSIS 3783.

CSCI 6950    Advanced Database Design and Administration    3 s.h.

Advanced concepts in database design, development, and administration. Database query languages, transactions, and data warehousing. Relational calculus. System analysis; concurrency; backup and recovery, and security issues; advanced models, including distributed, object-oriented, and online databases.
Prereq.: CSIS 3722 or equivalent.

CSCI 6951    Data Science and Machine Learning    3 s.h.

Basic methodologies for the data science pipeline: data acquisition and cleaning, handling missing data, exploratory data analysis, visualization, feature engineering, modeling, interpretation, and presentation in the context of real-world datasets. Classical models and techniques for classification, clustering, anomaly detection, deep learning, and collaborative filtering.
Prereq.: CSIS 3722 with a grade of C or better.
Cross-Listed: CSCI 4851.

CSCI 6952    Deep Learning    3 s.h.

Foundations of neural networks and deep learning. Master the practical aspects of implementing deep learning solutions, using a hands-on approach to understanding both theory and practice. Key architectures in deep learning are covered, including feedforward networks, convolution neural networks, recurrent neural networks, long short-term memory networks, autoencoders and generative adversarial networks. Apply deep learning to real world problems.
Prereq.: CSIS 3722.
Cross-Listed: CSCI 4852.

CSCI 6961    Client-Side Web Development and Programming    3 s.h.

Design and development of interactive, multimedia webpages. Effective uses of forms, graphics, and animation. Client-side programming tools, such as dynamic HTML, document object model, and JavaScript for graphics and form validation. Storyboarding techniques and user interface design principles.
Prereq.: CSIS 2617 or CSCI 6901.

CSCI 6962    Server-Side Web Development and Programming    3 s.h.

Configuration of web server software and the use of server-side programming. Server-side scripting in languages such as PHP and JavaServer Pages. Database access and drivers. Security issues, including access control and secured transmissions.
Prereq.: CSIS 3722 and either CSIS 3700 or CSCI 6901.

CSCI 6970    Biometrics    3 s.h.

Biometrics is an emerging and fast growing field that has found applications in a wide range of areas. This course will introduce major biometric techniques (face, fingerprint, voice and iris), focusing on the methods that have roots in computer vision, image processing, pattern recognition and machine learning. The course is designed to be project oriented. Student can choose a topic and develop it into a full project. Students who are interested in writing C++ codes and doing tests with OpenCV libraries are particularly encouraged to do so.
Prereq.: CSCI 6901 or CSIS 3700 or FSCI 3716/L or permission of instructor.

CSCI 6971    Cloud Computing and Big Data    3 s.h.

The objective of this course is to provide an introduction of cloud computing and big data, including the background knowledge and embracing technologies. This course addresses the latest advances in hardware and software, cluster architecture, programming paradigms that emphasize in system performance, scalability, security, and energy efficiency. We also include hands-on experiences for students to practice on building, managing, and programming on contemporary cloud and big data systems. Research directions in cloud and big data will be introduced for graduate level study.
Prereq.: CSIS 3700 or CSCI 6901.

CSCI 6990    Computer Science Project    1-3 s.h.

Report and discussion of individual topics or research projects in computer science.
Prereq.: Nine semester hours of computer science courses numbered above 5000.

CSCI 6991    Data Engineering Capstone    3 s.h.

This capstone project is designed so students in the MCIS program get the chance to apply and demonstrate their skills and knowledge in SQL, NoSQL, RDBMS, Bash, Python, ETL, Data Warehousing, Machine and Deep Learning, BI tools, Big Data, Cloud and Distributed Computing, Networking and Security and Software Engineering. To be taken during the last semester of studies.
Prereq.: Nine semester hours of computer science courses numbered above 5000.

CSCI 6993    Computing and Information Systems Graduate Internship    1-3 s.h.

An industrial/academic experience in information systems/technology. Employment for 15 to 20 hours per week. May be repeated once with the permission of graduate internship supervisor.
Prereq.: CSCI 6920 and permission of graduate internship supervisor.

CSCI 6995    Special Topics in Computer Science    1-4 s.h.

Special topics in computer science selected by the staff.
Prereq.: Permission of chair.

CSCI 6996    Independent Study    1-4 s.h.

Study under the supervision of a faculty member.
Prereq.: Permission of chair.

CSCI 6997    Seminar in Computer and Information Systems    1 s.h.

Overview of research methods and presentation techniques (written and oral) for advanced work in computer science and information systems. Will include presentations of current student/faculty research. Students will be required to deliver at least one conference-style presentation of their own in an area related to their research.

CSCI 6999    Thesis    3-6 s.h.

A student may register for six semester hours in one semester or for three semester hours in each of two semesters.