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    Survey of Programming Languages    3 s.h.

Survey of several programming languages. May include Ada, Modula-2, C, Lisp, and SNOBOL.
Prereq.: CSIS 3701.

CSCI 3780    Microcomputer System Software    3 s.h.

Programming microprocessor based systems using assembly language. Study of addressing techniques, machine language, program segmentation, and linking on microcomputers.
Prereq.: CSIS 3700.

CSCI 4805    System Programming    3 s.h.

Topics selected from aspects of systems programming, including assemblers, loaders, linkage editors, macro processors, and file management.
Prereq.: CSIS 3700 and CSIS 3740.

CSCI 4830    Advanced Computer Graphics    3 s.h.

A thorough investigation of graphics algorithms. Topics include hidden surface removal, parametric curves, lighting, shading, and texturing. Implementation of a graphics project required.
Prereq.: CSIS 3730 and MATH 3720.

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 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 5822    Database Design and Information Retrieval    3 s.h.

Study of physical database storage, relational and object data modeling, logical database design (normalization process), and structural query languages.
Prereq.: CSIS 3700 and CSCI 3710.

CSCI 5823    Communication Networks    3 s.h.

Study of network structures and topologies, international standards, models, communication media and protocols, hardware and software.
Prereq.: CSIS 3700 and either CSIS 3723 or CSIS 3740.

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 and CSCI 3710.

CSCI 5840    Theory of Finite Automata    3 s.h.

The structural and behavioral aspects of finite automata.
Prereq.: CSCI 3710 and MATH 3720.

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 1560 or CSIS 2610; MATH 1552, MATH 1570 or MATH 1571 or Math Placement Test of 4 or 40 or higher; and at least 3 s.h. of upper-division departmental courses.

CSCI 5860    Programming Language Structures    3 s.h.

Systematic approach to the study of the structures of programming languages. Formal descriptions, syntax, semantics and technical characteristics.
Prereq.: CSIS 3701 and CSCI 3710.

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 5881    Microcomputer System Architecture    3 s.h.

State-of-the-art course on microcomputer architecture. Topics include introduction to microcomputer systems, 16 and 32 bit microprocessors, direct memory access and other I/O transfer schemes, architecture of I/O processors, introduction to computer communications.
Prereq.: CSIS 3740 and CSCI 3780.

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 6900    Computing Information System Workshop    1-3 s.h.

Intensive study and activity in a topic related to computing and information systems. May be repeated. Grading is S/U.
Prereq.: permission of graduate coordinator.

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 6910    Computer Software Systems    3 s.h.

Classes of software systems, system structures, systems operations. Resource management routines. Software design.
Prereq.: CSCI 6905 or equivalent.

CSCI 6915    Computer Organization Architecture    3 s.h.

Organization and architectural design of the subsystems and major functional units of modern digital computers and their interconnections.
Prereq.: CSCI 6905 or equivalent.

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 6921    Strategic Project and Change Planning    3 s.h.

Information technology control, including organizational effects through methods, control techniques, and project tools. Cases provide domestic and international experience via initialization, planning, execution, tracking, and risk assessment. Time, reporting, resources, project relevance, organizational impact, and operational consistency are addressed through anticipatory, reactive, and crisis approaches.
Prereq.: CSCI 6920.

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 Warehousing and Data Mining    3 s.h.

Basic methodology for planning, designing, building, using, and managing a data warehouse. Legacy systems, operational data stores, and data marts. Data mining techniques for visualization and deriving information from a data warehouse for strategic decision making.
Prereq.: CSIS 3722.

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.: CSIS 3700 or CSCI 6901.

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 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.