Graduate Course Descriptions
3 credit hours
Prerequisites: CSCI 3080, CSCI 3110, and CSCI 3160. The various phases of a compiler along with grammars, finite automata, regular expressions, LR parsing, error recovery, backward and forward flow analysis, and code optimization. A term project consisting of the design and construction of a functional compiler required.
3 credit hours
Prerequisites: CSCI 3110 and CSCI 3080 or consent of instructor. Topics include vector drawing displays, raster scan displays, input devices and techniques, graphics software, transformations, projections, interpolation, and approximation.
3 credit hours
Prerequisite: CSCI 3240 or CSCI 3250. Computer network architectures, protocol hierarchies, and the open systems interconnection model. Modeling, analysis, design, and management of hardware and software on a computer network.
3 credit hours
Prerequisites: CSCI 3110 and CSCI 3080 or equivalent. Principles and applications of artificial intelligence. Principles include search strategies, knowledge representation, reasoning, and machine learning. Applications include expert systems and natural language understanding.
3 credit hours
Prerequisites: CSCI 3110 and CSCI 3080. Principles and applications of intelligent mobile robotics. Various architectures used in the basic AI robotics development paradigms and basic techniques used for robot navigation. Strong emphasis on hands-on mobile robot design, construction, programming, and experimentation using a variety of robot building platforms.
3 credit hours
Prerequisite: CSCI 4300 or CSCI 5300 (with a grade of C or better) or consent of instructor. Introduces network security: fundamentals of network security, mathematical concepts, and theoretical analysis in cryptography; examines risks and threats in computer networks and security mechanisms in different network layers; hands-on experience in network security, including implementation of encryption/decryption methods.
3 credit hours
Prerequisites: CSCI 3080, CSCI 3110, and CSCI 3240. An intensive introduction into current Web technologies including basic HTML, tools for Web page design, XML, client-side methods, and server-side methods. Students will be required to implement several Web-based projects.
3 credit hours
Prerequisites: CSCI 3080 and CSCI 3110. The relational and object models of database design along with relational algebras, data independence, functional dependencies, inference rules, normal forms, schema design, modeling languages, query languages, and current literature.
1 to 6 credit hours
Prerequisite: Consent of instructor. Students wishing to enroll must submit a written course/topic proposal to the department prior to the semester in which CSCI 5600 is taken. Proposal must be approved prior to taking the course. At the conclusion of the course, each enrollee will submit a written summary of the project.
3 credit hours
Prerequisites: CSCI 3080, CSCI 3110, and CSCI 3240 with grades of C (2.0) or better. Consists of a theoretical component and a practical component. Topics include the history of software engineering, software development paradigms and life cycles, and computer-aided software engineering (CASE). A team project will be developed in parallel with the theory.
3 credit hours
Prerequisites: CSCI 2170 and CSCI 3080. Integrates theory and applications of software testing techniques. Provides actual hands-on testing experience. Considers multiple testing paradigms.
3 credit hours
Prerequisite: CSCI 3080. Various neural net architectures, theory, and applications, including models such as Perceptron, back propagation, Kohonen, ART, and associative memory. Learning and conditioning methods also studied.
3 credit hours
Prerequisite: CSCI 2170. Advanced topics in computer science to be selected and announced at time of class scheduling. May be repeated for up to six credits total.
4 credit hours
Prerequisites: Previous programming experience in a high-level language and consent of instructor. Advanced introduction to data abstraction, problem solving, and programming. Programming language concepts, recursion, program development, algorithm design and analysis, data abstraction, objects and fundamental data structures such as stacks, queues, and trees. Three hours lecture and two hours lab. Will not count toward a major or minor.
4 credit hours
Prerequisite: CSCI 6020 or COMS 6100 with minimum grade of B or equivalent. Advanced introduction to computer systems. Data representations, computer arithmetic, machine-level representations of programs, program optimization, memory hierarchy, linking, exceptional control flow, virtual memory and memory management, basic network concepts, and basic concurrent concepts and programming. Three hours lecture and two hours lab. Will not count toward a major or minor unless approved by the department.
3 credit hours
Prerequisites: CSCI 3080 and CSCI 3110 or consent of instructor. Topics include the analysis and design of algorithms; efficiency of algorithms; design approaches including divide and conquer, dynamic programming, the greedy approach, and backtracking; P and NP; and algorithms in many areas of computing.
3 credit hours
Prerequisite: CSCI 3110. State-of-the-art techniques in software design and development; provides a means for students to apply the techniques.
3 credit hours
Prerequisite: CSCI 3240 or CSCI 3250. Topics include concurrent processes, name management, resource allocation, protection, advanced computer architecture, and operating systems implementation.
3 credit hours
Prerequisite: CSCI 4250 or CSCI 5250. Topics include three-dimensional curves and surfaces, projections, hidden line and surface elimination, raster graphics systems, and shading techniques.
3 credit hours
Prerequisite: CSCI 4300 or CSCI 5300. Computer communications, network architectures, protocol hierarchies, and the open systems interconnection model. Modeling, analysis, and specification of hardware and software on a computer network. Wide area networks and local area networks including rings, buses, and contention networks.
3 credit hours
Prerequisites: [CSCI 3130 and either (CSCI 3240 or CSCI 3250)] or CSCI 6050 and a working knowledge of either C or C++. Parallel processing and programming in a parallel environment. Topics include classification of parallel architectures, actual parallel architectures, design and implementation of parallel programs, and parallel software engineering.
3 credit hours
Prerequisites: CSCI 3110 and CSCI 4350 or CSCI 5350. In-depth study of the principal areas of the field: artificial intelligence programming, problem-solving methods, knowledge representation methods, deduction and reasoning, and applications such as natural language processing and expert systems. Repeatable up to 6 hours.
3 credit hours
Prerequisite: CSCI 4330 or CSCI 6330. An in-depth investigation of one or more topics in parallel processing. Topic(s) to be selected by the professor. Possible topics include parallel algorithms, parallel programming languages, parallel programming tools, parallel software engineering, parallel architectures, parallel applications, and parallel VLSI. Repeatable up to 6 hours.
3 credit hours
Prerequisite: CSCI 6250. Definition, design, and implementation of a significant operating system examining such areas as file systems, process management, memory management, input/output device management, and user interface.
3 credit hours
Prerequisite: CSCI 4560 or CSCI 5560. An in-depth investigation of one or more topics in database. Topic(s) to be selected by the professor. Possible topics include object-oriented database systems, distributed database systems, client-server database systems, deductive databases, multimedia databases, and database theory (concurrency, query optimization, recovery, security). Repeatable up to 6 hours.
3 credit hours
Prerequisites: CSCI 3110; a solid foundation in undergraduate computer science and any other prerequisites determined by the instructor. An in-depth investigation of one or more topics in computer science. Topic(s) to be selected by the professor. Possible topics include search techniques, for example genetic algorithms, soft computing, object-oriented software engineering, expert systems, program verification, software quality, knowledge discovery in databases, and design of embedded software systems. May be repeated for up to six credits total.
3 credit hours
Corequisite: Three hours of CSCI 6000-level graduate work (other than CSCI 6640) with minimum grade of B. Emphasizes communication skills, creative thinking, problem solving, and integration of knowledge from prior computer science courses. Includes a study of computer science research tools. Students will select a research problem with approval of the instructor, review pertinent literature, and produce a report using the manual of thesis writing currently approved by the College of Graduate Studies.
1 to 6 credit hours
Prerequisite: CSCI 6620. Selection of a research problem, review of pertinent literature, collection and analysis of data, and composition of thesis. Once enrolled, student should register for at least one credit hour of master's research each semester until completion. S/U grading.
1 to 6 credit hours
Prerequisite: CSCI 6620. Selection of a research problem, review of pertinent literature, collection and analysis of data, and composition of thesis. Once enrolled, student should register for at least one credit hour of master's research each semester until completion. S/U grading.
3 credit hours
Prerequisite: CSCI 4700 or CSCI 5700 or equivalent. In-depth investigation of one or more topics in software engineering selected by the professor. Possible topics include rewriting system, graph grammar, formal method, source transformation, software architecture, and reverse engineering. Repeatable up to 6 hours.
3 credit hours
Prerequisite: CSCI 4700 or CSCI 5700 or equivalent. In-depth investigation of one or more topics in software engineering selected by the professor. Possible topics include rewriting system, graph grammar, formal method, source transformation, software architecture, and reverse engineering. Repeatable up to 6 hours.
3 credit hours
Prerequisites: CSCI 6020, COMS 6100, and COMS 6500 with minimum grade of B or equivalent or consent of instructor. Introduction to the concepts, theories, and applications of database and visualization methodologies for scientific data. Relational database design along with relational algebras, data independent, functional dependencies, inference rules, normal forms, schema design, modeling language, and query languages discussed. Methods corresponding to the visualization of scalar, vector, and tensor fields as well as multifield problem discussed. Database and visualization discussed in the context of scientific applications.
3 credit hours
Prerequisites: CSCI 6020, COMS 6100, and COMS 6500 with minimum grade of B or equivalent or consent of instructor. Introduction to the concepts, theories, and applications of database and visualization methodologies for scientific data. Relational database design along with relational algebras, data independent, functional dependencies, inference rules, normal forms, schema design, modeling language, and query languages discussed. Methods corresponding to the visualization of scalar, vector, and tensor fields as well as multifield problem discussed. Database and visualization discussed in the context of scientific applications.
3 credit hours
Prerequisite: Fundamental courses in the Computational Science Ph.D. program and CSCI 6020 or equivalent or consent of instructor. Introduction to concepts, theories, techniques, issues, and applications of data mining. Data preprocessing, association rule analysis, classification analysis, cluster and outlier analysis, deviation detection, statistical modeling, consideration of emergent technologies.
3 credit hours
Prerequisite: Fundamental courses in the Computational Science Ph.D. program and CSCI 6020 or equivalent or consent of instructor. Introduction to concepts, theories, techniques, issues, and applications of data mining. Data preprocessing, association rule analysis, classification analysis, cluster and outlier analysis, deviation detection, statistical modeling, consideration of emergent technologies.
3 credit hours
Prerequisite: CSCI 3110 with grade of C or better. Familiarity with Java, Python, C++, Unix, good programming skills, and a solid mathematical background recommended. Introduces the basic principles of cloud computing for massive data applications. Focuses on parallel and/or distributed computing using frameworks like Hadoop and Apache Spark for massive data applications in the areas of web search, information retrieval, and machine learning. Students read and present research papers on these topics, implement programming assignments and projects to get hands-on experience with the cloud computing frameworks for data analysis.
3 credit hours
Prerequisite: CSCI 3110 with grade of C or better. Familiarity with Java, Python, C++, Unix, good programming skills, and a solid mathematical background recommended. Introduces the basic principles of cloud computing for massive data applications. Focuses on parallel and/or distributed computing using frameworks like Hadoop and Apache Spark for massive data applications in the areas of web search, information retrieval, and machine learning. Students read and present research papers on these topics, implement programming assignments and projects to get hands-on experience with the cloud computing frameworks for data analysis.
3 credit hours
Prerequisite: CSCI 6020 or equivalent with a grade of C or above or consent of instructor. Various deep learning neural network architectures, theory, and applications including multilayer, convolution, recurrent, transformer, and generative models. Model training, validation, and deployment methodologies also studied.
3 credit hours
Prerequisite: CSCI 6020 or equivalent with a grade of C or above or consent of instructor. Various deep learning neural network architectures, theory, and applications including multilayer, convolution, recurrent, transformer, and generative models. Model training, validation, and deployment methodologies also studied.