Computer Science (CSCI)

Courses

Show only these courses...

CSCI 1000 (1) Computer Science as a Field of Work and Study

Introduces curriculum, learning techniques, time management and career opportunities in Computer Science. Includes presentations from alumni and others with relevant educational and professional experience. Does not count as Computer Science credit for the Computer Science BA.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 1000
Requisites: Restricted to students with 0-26 credits (Freshmen) Computer Science (CSEN-BS, CSEN-ADL, CSCI-BA or CSCI-ADL) majors only.
Additional Information: Departmental Category: General Computer Science

CSCI 1200 (3) Introduction to Computational Thinking

Teaches computational thinking and techniques for writing computer programs using the Python programming language. Intended for students who realize that computational skills are beneficial to all fields of study, but who have little or no experience in programming or are not Computer Science majors. Students will be expected to create computer programs to solve problems in a range of disciplines. Does not count as Computer Science credit for the Computer Science BA, BS, or minor.

Equivalent - Duplicate Degree Credit Not Granted: INFO 1201
Additional Information: Departmental Category: General Computer Science

CSCI 1220 (4) Virtual Worlds: An Introduction to Computer Science

Introduces the fundamental principles of computer science using an online virtual world called Second Life as the "Laboratory" for this course. Students will learn how to program by creating objects of interest in Second Life. In-class and in-world discussions and readings will introduce the students to important ideas and concepts that shape the field of computer science. Does not count as Computer Science credit for the Computer Science BA, BS or minor.

Equivalent - Duplicate Degree Credit Not Granted: ATLS 1220
Additional Information: Departmental Category: General Computer Science

CSCI 1240 (3) The Computational World

Introduces and explores the "computational style of thinking" and its influence in science, mathematics, engineering and the arts. Does not focus on the nuts and bolts of any particular programming language, but rather the way in which computing has affected human culture and thought in the past half century. Does not count as Computer Science credit for the Computer Science BA, BS, or minor.

Equivalent - Duplicate Degree Credit Not Granted: ATLS 1240
Additional Information: Departmental Category: General Computer Science

CSCI 1300 (4) Computer Science 1: Starting Computing

Teaches techniques for writing computer programs in higher level programming languages to solve problems of interest in a range of application domains. Appropriate for students with little to no experience in computing or programming.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 1310 or CSCI 1320 or ECEN 1310 CSPB 1300
Requisites: Requires a prerequisite or corequisite course of APPM 1235 or APPM 1340 or APPM 1345 or APPM 1350 or MATH 1150 or MATH 1300 or MATH 1310 (all minimum grade C-).
Additional Information: Departmental Category: General Computer Science

CSCI 1320 (4) Computer Science 1: Starting Computing-Engineering Applications

Uses problems and tools from Engineering. Teaches techniques for writing computer programs in higher level programming languages to solve problems of interest in Engineering and other domains. Appropriate for students with little or no prior experience in programming.

Requisites: Requires a prerequisite or corequisite course of APPM 1235 or APPM 1340 or APPM 1345 or APPM 1350 or MATH 1150 or MATH 1300 or MATH 1310 (all minimum grade C-). Restricted to College of Engineering or Pre-Engineering Arts and Science (PREE) majors only.
Additional Information: Departmental Category: General Computer Science

CSCI 2270 (4) Computer Science 2: Data Structures

Studies data abstractions (e.g., stacks, queues, lists, trees, graphs) and their representation techniques (e.g., linking, arrays). Introduces concepts used in algorithm design and analysis including criteria for selecting data structures to fit their applications.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 2275 CSPB 2270
Requisites: Requires prerequisite course of CSCI 1300 or CSCI 1310 or CSCI 1320 or ECEN 1310 and prerequisite or corequisite course of MATH 1300 or MATH 1310 or APPM 1345 or APPM 1350 (all minimum grade C-).
Additional Information: Departmental Category: General Computer Science

CSCI 2275 (4) Programming and Data Structures

Combines the content in CSCI 1300 and CSCI 2270 and is intended for students with experience with at least one object oriented programming language. The course includes an expedited instruction to the C++ programming language and then primarily focuses on the content in CSCI 2270. Assumes knowledge of programming constructs- data types, conditionals, loops and classes. Students must pass a programming competency exam administered by the computer science department to take this class.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 2270 or CSPB 2270
Requisites: Requires prerequisite or co-requisite of MATH 1300 or MATH 1310 or APPM 1345 or APPM 1350 (all minimum grade C-).

CSCI 2400 (4) Computer Systems

Covers how programs are represented and executed by modern computers, including low-level machine representations of programs and data, an understanding of how computer components and the memory hierarchy influence performance.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 2400
Requisites: Requires prerequisite of CSCI 2270 or CSCI 2275 (minimum grade C-).
Additional Information: Departmental Category: General Computer Science

CSCI 2820 (3) Linear Algebra with Computer Science Applications

Introduces the fundamentals of linear algebra in the context of computer science applications. Includes vector spaces, matrices, linear systems, and eigenvalues. Includes the basics of floating point computation and numerical linear algebra.

Requisites: Requires prerequisite courses of (CSCI 2270 or CSCI 2275) and APPM 1360 or MATH 2300 (all minimum grade C-).
Additional Information: Departmental Category: General Computer Science

CSCI 2824 (3) Discrete Structures

Covers foundational materials for computer science that is often assumed in advanced courses. Topics include set theory, Boolean algebra, functions and relations, graphs, propositional and predicate calculus, proofs, mathematical induction, recurrence relations, combinatorics, discrete probability. Focuses on examples based on diverse applications of computer science.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 2824
Requisites: Requires prerequisite courses of (CSCI 1200 or CSCI 1300 or CSCI 1310 or CSCI 1320 or CSCI 2275 or ECEN 1030 or ECEN 1310) and (APPM 1345 or APPM 1350 or MATH 1300 or MATH 1310) (all minimum grade C-).
Additional Information: Departmental Category: Theory of Computation

CSCI 2830 (1-3) Special Topics in Computer Science

Covers topics of interest in computer science at the sophomore level. Content varies from semester to semester. Does not count as Computer Science credit for Computer Science majors or minors.

Repeatable: Repeatable for up to 9.00 total credit hours. Allows multiple enrollment in term.
Additional Information: Departmental Category: General Computer Science

CSCI 2834 (1) Discrete Structures Workgroup

Provides additional problem-solving practice and guidance for students enrolled in CSCI 2824. Students work in a collaborative environment to further develop their problem-solving skills with the assistance of facilitators.

Repeatable: Repeatable for up to 3.00 total credit hours.
Requisites: Requires corequisite course of CSCI 2824.
Grading Basis: Pass/Fail

CSCI 2900 (1-3) Lower Division, Undergraduate Level Independent Study

Offers selected topics at the elementary level for students with little or no previous computing experience. Does not count as Computer Science credit for Computer Science majors or minors.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Additional Information: Departmental Category: General Computer Science

CSCI 3002 (4) Fundamentals of Human Computer Interaction

Introduces the practice and research of human-computer interaction, including its history, theories, the techniques of user-centered design, and the development of interactive technologies. Covers computing in society at large with respect to domains such as health, education, assistive technology, ethics, environment, and more.

Requisites: Requires prerequisite course of CSCI 2270 or CSCI 2275 (both minimum grade C-). Restricted to students with 27-180 credits (Sophomores, Juniors or Seniors).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 3010 (3) Programming Project Workshop

Explores concepts and techniques for design and construction of larger, reliable, and maintainable software systems. Covers various topics including: specifications, program structure and design, program-correctness approaches, and working with established code bases. Emphasizes coding individually and in pairs and will include multiple weeks-long projects.

Requisites: Requires a prerequisite course of CSCI 2270 or CSCI 2275 (both minimum grade C-).

CSCI 3022 (3) Introduction to Data Science with Probability and Statistics

Introduces students to the tools methods and theory behind extracting insights from data. Covers algorithms of cleaning and munging data, probability theory and common distributions, statistical simulation, drawing inferences from data, and basic statistical modeling.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 3022
Requisites: Requires prerequisite course of (CSCI 2270 or CSCI 2275) and (APPM 1360 or MATH 2300) and (CSCI 2824 or ECEN 2703 or APPM 3170 or MATH 2001) (all minimum grade C-).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 3090 (3) Introduction to Quantum Computing

Covers the basics of quantum computation, including the basics of quantum information; axioms of quantum mechanics; quantum circuits and universality; the relationship between quantum and classical complexity classes; simple quantum algorithms such as the quantum Fourier transform; Shor factoring algorithm; Grover search algorithm; physical implementation of quantum computation; error correction and fault tolerance.

Equivalent - Duplicate Degree Credit Not Granted: PHYS 3090
Requisites: Requires prerequisite course of APPM 3310 or CSCI 2820 or MATH 2130 or MATH 2135 (minimum grade C-).

CSCI 3100 (1) Software and Society

Provides students with an understanding of the professional, ethical, legal and social issues and responsibilities of software developers, as well as providing them with the ability to analyze the local and global impacts of computing on individuals, organizations and society.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4308 and CSCI 4328 and CSCI 4338 and CSCI 4348
Requisites: Requires prerequisite course of CSCI 3308 (minimum grade C-). Restricted to Computer Science (CSEN-BS, CSEN-ADL,CSEN-BSCS) majors only.
Grading Basis: Letter Grade
Additional Information: Departmental Category: General Computer Science

CSCI 3104 (4) Algorithms

Covers the fundamentals of algorithms and various algorithmic strategies, including time and space complexity, sorting algorithms, recurrence relations, divide and conquer algorithms, greedy algorithms, dynamic programming, linear programming, graph algorithms, problems in P and NP, and approximation algorithms.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 3104
Requisites: Requires prerequisite courses of (CSCI 2270 or CSCI 2275) and (APPM 1360 or MATH 2300) and (one of the following: CSCI 2824 or ECEN 2703 or APPM 3170 or MATH 2001) (all minimum grade C-).
Additional Information: Departmental Category: Theory of Computation

CSCI 3112 (1-3) Human-Centered Computing Professional Development

Supports students in developing professional skills and practices in human-computer interaction, design of interactive systems, computer supported cooperative work, computer supported collaborative learning, educational technology, tools that support creativity, user-developed knowledge collections and gaming.

Equivalent - Duplicate Degree Credit Not Granted: ATLS 3112
Repeatable: Repeatable for up to 3.00 total credit hours.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 3155 (4) Principles of Programming Languages

Studies fundamental concepts on which programming of languages are based, and execution models supporting them. Explores values, variables, bindings, type systems, control structures, exceptions, concurrency, and modularity. Learn how to select a language and to adapt to a new language.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 3155
Requisites: Requires prerequisite courses of (CSCI 2270 or CSCI 2275) and (CSCI 2824 or ECEN 2703 or APPM 3170 or MATH 2001) (all minimum grade C-).
Additional Information: Departmental Category: Programming Languages

CSCI 3202 (3) Introduction to Artificial Intelligence

Surveys artificial intelligence techniques of search, knowledge representation and reasoning, probabilistic inference, machine learning, and natural language.

Requisites: Requires prereqs of (CSCI 2270 or CSCI 2275) and (APPM 3170 or CSCI 2824 or ECEN 2703 or MATH 2001) and APPM 3570 or STAT 4520 or APPM 4570 or CHEN 3010 or CSCI 3022 or CVEN 3227 or ECEN 3810 or ECON 3818 or MATH 3510 or MATH 4510 (all min grade C-).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 3287 (3) Design and Analysis of Data Systems

Introduces the fundamental concepts of database requirements analysis, database design, and database implementation with emphasis on the relational model and the SQL programming language.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 3287
Requisites: Requires prerequisite course of CSCI 2270 or CSCI 2275 (minimum grade C-).
Additional Information: Departmental Category: Database Systems

CSCI 3302 (3) Introduction to Robotics

Introduces students to fundamental concepts in autonomous robotics: mechanisms, locomotion, kinematics, control, perception and planning. Consists of lectures and lab sessions that are geared toward developing a complete navigation stack on a miniature mobile robotic platform.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 3303
Requisites: Requires prerequisite courses of (CSCI 2270 or CSCI 2275) and (APPM 3170 or CSCI 2824 or ECEN 2703 or MATH 2001) and (APPM 2360 or APPM 3310 or CSCI 2820 or MATH 2130 or MATH 2135) (all minimum grade C-).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 3308 (3) Software Development Methods and Tools

Covers tools and practices for software development with a strong focus on best practices used in industry and professional development, such as agile methodologies, pair-programming and test-driven design. Students develop web services and applications while learning these methods and tools.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 3308
Requisites: Requires prerequisite course of CSCI 2270 or CSCI 2275 (both minimum grade C-).
Additional Information: Departmental Category: Software Engineering

CSCI 3352 (3) Biological Networks

This course examines the computational representation and analysis of biological phenomena through the structure and dynamics of networks, from molecules to species. Attention focuses on algorithms for clustering network structures, predicting missing information, modeling flows, regulation, and spreading-process dynamics, examining the evolution of network structure, and developing intuition for how network structure and dynamics relate to biological phenomena.

Requisites: Requires the following (ASTR 2600/CSCI 2270/2275/INFO 2201/PHYS 2600) and (APPM 1345/1350/MATH 1300/1310) and (APPM 3570/4570/CHEN 3010/CSCI 3022/CVEN 3227/EBIO 4410/ECEN 3810/ECON 3818/IPHY 2800/MATH 3510/4510/4520/STAT 2600/3100/4000/4520)(all min C-)

CSCI 3403 (4) Introduction to CyberSecurity for a Converged World

Introduces core concepts in cybersecurity including confidentiality, integrity, authentication, risk management, and adversarial thinking. The concepts will be applied to both traditional information technology (IT) systems and cyber physical systems (CPS). At the conclusion of the course students should have a solid foundation in cybersecurity and hands-on experience.

Requisites: Requires prerequisite course of CSCI 2400 or ECEN 3350 (minimum grade C-).
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 3434 (3) Theory of Computation

Introduces the foundations of formal language theory, computability, and complexity. Shows relationship between automata and various classes of languages. Addresses the issue of which problems can be solved by computational means, and studies complexity of solutions.

Requisites: Requires prerequisite course of CSCI 3104 (minimum grade C-).
Additional Information: Departmental Category: Theory of Computation

CSCI 3656 (3) Numerical Computation

Covers development, computer implementation, and analysis of numerical methods for applied mathematical problems. Explores topics such as floating point arithmetic, numerical solution of linear systems of equations, root finding, numerical interpolation, differentiation, and integration.

Requisites: Requires prerequisite courses of (CSCI 1300 or CSCI 1310 or CSCI 1320 or CSCI 2275 or ECEN 1310) and (APPM 1360 or MATH 2300) and (APPM 2360 or APPM 3310 or CSCI 2820 or MATH 2130 or MATH 2135) (all minimum grade C-).
Additional Information: Departmental Category: Numerical Computation

CSCI 3702 (3) Cognitive Science

Introduces cognitive science, drawing from psychology, philosophy, artificial intelligence, neuroscience, and linguistics. Studies the linguistic relativity hypothesis, consciousness, categorization, linguistic rules, the mind-body problem, nature versus nurture, conceptual structure and metaphor, logic/problem solving and judgment. Emphasizes the nature, implications and limitations of the computational model of mind.

Equivalent - Duplicate Degree Credit Not Granted: LING 3005 and PHIL 3310 and PSYC 3005 and SLHS 3003 and CSPB 3702
Recommended: Prerequisites two of the following CSCI 1300 or CSCI 2275 or LING 2000 or PHIL 2440 or PSYC 2145.
Additional Information: Arts Sci Gen Ed: Distribution-Arts Humanities
Arts Sci Gen Ed: Distribution-Natural Sciences
Arts Sci Gen Ed: Distribution-Social Sciences

CSCI 3753 (4) Design and Analysis of Operating Systems

Analyzes the software that extends hardware to provide a computing environment, including the role of linkers, file systems, resource sharing, security and networking. Studies the history of operating system organization and design and their influence on security, functionality and reliability.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 3753
Requisites: Requires prerequisite courses of (CSCI 2270 or CSCI 2275) and (CSCI 2400 or ECEN 3350) (all minimum grade C-).
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 3832 (3) Natural Language Processing

Explores the theoretical and practical issues that arise in getting computers to perform useful and interesting tasks with human languages. Topics include information extraction, dialog systems and machine translation. Focus is on the use of language data and machine learning algorithms to build robust systems.

Requisites: Requires prerequisite courses of (CSCI 2270 or CSCI 2275) and (CSCI 2824 or MATH 2001 or ECEN 2703 or APPM 3170) (all minimum grade C-).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 4022 (3) Advanced Data Science

Introduces students to advanced tools, methods, and theory for extracting insights from data. Covers computational tools for storing and working with large data sets and computational techniques for common big data scenarios like graph data, streaming data, recommender systems, and dimensionality reduction. Emphasizes both the efficient implementation of algorithms as well as the mathematical foundations behind techniques.

Requisites: Requires prereqs of (CSCI 2820 or MATH 2130 or MATH 2135 or APPM 3310) and (CSCI 3022 or APPM 3570 or APPM 4520 or APPM 4570 or CHEN 3010 or CVEN 3227 or MATH 3510 or MATH 4510 or ECEN 3810 or ECON 3818 or MCEN 4120) and CSCI 3104 (all min grade C-).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 4113 (3) Linux System Administration

Introduces Linux system administration and related topics, including troubleshooting system and network problems, hardware and software configuration and installation, basic scripting and security aspects of internet hosts. Students build Linux servers from the ground up, using provided computing resources, and must maintain and secure the servers themselves.

Requisites: Requires prerequisite courses of CSCI 3308 and (CSCI 2400 or ECEN 3350) and CSCI 3753 (minimum grade C-).
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 4114 (3) Practical Algorithmic Complexity

When coming across an algorithmic problem, how do we think about how hard it is? Beyond just how much time or memory it takes, computational complexity offers a plethora of concepts for understanding this fundamental question. This leads to the appropriate choice of algorithm for the job, the development of new algorithms, and understanding the role of algorithmic complexity in natural settings such as biology and physics.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5114
Requisites: Requires a prerequisite course of CSCI 3104 (minimum grade C-).

CSCI 4122 (3) Information Visualization

Studies interactive visualization techniques that help people analyze data. This course introduces design, development, and validation approaches for interactive visualizations with applications in various domains, including the analysis of text collections, software visualization, network analytics, and the biomedical sciences. It covers underlying principles, provides an overview of existing techniques, and teaches the background necessary to design innovative visualizations.

Equivalent - Duplicate Degree Credit Not Granted: CSPB 4122
Requisites: Requires prerequisite or corequisite of CSCI 1300 and CSCI 2824 (both minimum grade C-).

CSCI 4229 (3) Computer Graphics

Studies design, analysis and implementation of computer graphics techniques. Topics include interactive techniques, 2D and 3D viewing, clipping, segmentation, translation, rotation and projection. Involves removal of hidden edges, shading and color. Knowledge of basic linear algebra is required.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5229
Requisites: Requires prerequisite course of CSCI 2270 or CSCI 2275 (minimum grade C-).
Additional Information: Departmental Category: Graphics

CSCI 4239 (3) Advanced Computer Graphics

Studies design, analysis and implementation of advanced computer graphics techniques. Topics include shaders, using the GPU for high performance computing, graphics programming on embedded devices such as mobile phones; advanced graphics techniques such as ray tracing.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5239
Requisites: Requires prerequisite course of CSCI 4229 (minimum grade C-).
Additional Information: Departmental Category: Graphics

CSCI 4250 (3) Computer Science: The Canon

Explores the "great works" of computer science through intensive reading and discussion. Readings include works by Babbage, Turing, Von Neumann, Goedel, Shannon and Minsky, among others. Does not count as CS credit for the Computer Science BA, BS or minor.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5250
Requisites: Restricted to students with 57-180 credits (Juniors or Seniors).
Additional Information: Departmental Category: General Computer Science

CSCI 4253 (3) Datacenter Scale Computing - Methods, Systems and Techniques

Covers the primary problem solving strategies, methods and tools needed for data-intensive programs using large collections of computers typically called "warehouse scale" or "data-center scale" computers. Examines methods and algorithms for processing data-intensive applications, methods for deploying and managing large collections of computers in an on-demand infrastructure and issues of large-scale computer system design.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5253
Requisites: Requires prerequisite course of CSCI 3753 (minimum grade C-).
Recommended: Prerequisite CSCI 4273.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 4273 (3) Network Systems

Focuses on design and implementation of network programs and systems, including topics in network protocols, file transfer, client-server computing, remote procedure call and other contemporary network system design and programming techniques. Familiarity with C and Unix or Linux is required.

Requisites: Requires prerequisite course of CSCI 3753 (minimum grade C-).
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 4302 (3) Advanced Robotics

Exposes students to current research topics in the field of robotics and provides hands-on experience in solving a grand challenge program.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5302
Requisites: Requires prerequisite course of CSCI 3302 (minimum grade C-).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 4308 (4) Software Engineering Project 1

Advanced practicum in which students design, implement, document and test software systems for use in industry, non-profits, government and research institutions. Also offers extensive experience in oral and written communication throughout the development process. Department enforced prerequisite: successful completion of a minimum of 36 credit hours of Computer Science coursework and approved WRTG. CSCI-BA students interested in taking this course should contact their advisor(s) early in their major.

Requisites: Requires prerequisite courses of CSCI 3155 and CSCI 3308 (all minimum grade C-). Restricted to students with 87-180 credits (Senior, Fifth Year Senior) Computer Science (CSEN) majors or Computer Science Concurrent Degree majors only.
Additional Information: Departmental Category: Software Engineering

CSCI 4314 (3) Dynamic Models in Biology

Surveys computational and mathematical modeling to illuminate biological processes. Students work together to learn to build and analyze models using a variety of numerical tools, tackle meaningful biological problems, and communicate effectively across disciplines. Specific topics: Langevin dynamics of protein folding, agent-based models, finite difference models of organismal growth, stochastic and deterministic cellular automata game of life, models of behavior.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5314
Requisites: Requires a prerequisite course of CSCI 3104 (minimum grade C-).
Recommended: Prerequisite comfort with mathematics and/or programming experience, and more advanced understanding (upper undergraduate level) of any relevant discipline.
Additional Information: Departmental Category: Theory of Computation

CSCI 4318 (4) Software Engineering Project 2

Second semester of an advanced practicum in computer science. Students must take this course and CSCI 4308 contiguously as the project spans the entire academic year.

Requisites: Requires prerequisite course of CSCI 4308 (minimum grade C-).
Additional Information: Departmental Category: Software Engineering

CSCI 4328 (4) Software Project Management and Mentoring

Review software project management and discuss the latest approaches, methodologies and standards of software development. Learn to develop software quality, documentation, testing and prototype goals. Study project risk management and cost estimation approaches. Experience mentoring Senior Software Project Team. Intended for professional software developers. Department consent required, see Senior Project Director for permission.

Requisites: Requires prerequisite courses of CSCI 3155 and CSCI 3308 (all minimum grade C-). Restricted to students with 87-180 credits (Senior, Fifth Year Senior) Computer Science (CSEN) majors or Computer Science Concurrent Degree majors only.
Grading Basis: Letter Grade
Additional Information: Departmental Category: Software Engineering

CSCI 4338 (2) Software Project Management

Review software project management and discuss the latest approaches, methodologies and standards of software development. Learn to develop software quality, documentation, testing, and prototype goals. Study project risk management and cost estimation approaches. Intended for double majors doing interdisciplinary projects in other departments. Department consent required, see Senior Project Director for permission.

Requisites: Requires prerequisite courses of CSCI 3155 and CSCI 3308 (all minimum grade C-). Restricted to students with 87-180 credits (Senior, Fifth Year Senior) Computer Science (CSEN) majors or Computer Science Concurrent Degree majors only.
Grading Basis: Letter Grade
Additional Information: Departmental Category: Software Engineering

CSCI 4348 (4) Startup Essentials: Entrepreneurial Projects in Computing

Provide students with the tools to be successful technical co-founders of their own startups. Explores the initial stages of founding a startup, including team formation, idea validation, pivoting and pitching, while employing an iterative methodology. Student teams will develop a minimum viable product, pitch their final startup concept, and be evaluated on product/market fit. Department enforced restriction, successful completion of a minimum of 36 credit hours of Computer Science coursework and approved WRTG. Formerly CSCI 4000.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5340
Requisites: Requires prerequisite courses of CSCI 3155 and CSCI 3308 (all minimum grade C-). Restricted to students with 87-180 credits (Senior, Fifth Year Senior) Computer Science (CSEN) majors or Computer Science Concurrent Degree majors only.
Additional Information: Departmental Category: General Computer Science

CSCI 4358 (4) Entrepreneurial Projects II

Follows CSCI 4348. In the second semester of this entrepreneurial project capstone, student teams will seek to find market traction for a high-fidelity Minimum Viable Product (MVP), software and/or hardware, that they will develop as part of their startup project. Teams will further learn to incorporate principles of marketing, business finance and legal issues into the business model for their startup concept.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5350
Requisites: Requires a prerequisite course of CSCI 4348 (minimum grade C-).
Additional Information: Departmental Category: General Computer Science

CSCI 4413 (3) Computer Security and Ethical Hacking

Teaches basic exploit design and development through hands-on experimentation and testing. Uses a controlled environment to give students a "playground" in which to test penetration skills that are normally not allowed on live networks.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5413
Requisites: Requires prerequisite course of CSCI 4273 (minimum grade C-).
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 4446 (3) Chaotic Dynamics

Explores chaotic dynamics theoretically and through computer simulations. Covers the standard computational and analytical tools used in nonlinear dynamics and concludes with an overview of leading-edge chaos research. Topics include time and phase-space dynamics, surfaces of section, bifurcation diagrams, fractal dimension and Lyapunov exponents.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5446 and ECEN 4423 and ECEN 5423
Requisites: Requires prerequisite course of (CSCI 1300 or CSCI 1310 or CSCI 1320 or CSCI 2275 or ECEN 1310) and (APPM 2350 or MATH 2400) (all minimum grade C-).
Recommended: Prerequisites PHYS 1120 and CSCI 3656 and (MATH 2130 or MATH 2135).
Additional Information: Departmental Category: Numerical Computation

CSCI 4448 (3) Object-Oriented Analysis and Design

An applied analysis and design class that addresses the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply the techniques in analysis and design projects.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5448
Requisites: Requires prerequisite courses of CSCI 3155 and CSCI 3308 (all minimum grade C-).
Additional Information: Departmental Category: Software Engineering

CSCI 4502 (3) Data Mining

Introduces basic data mining concepts and techniques for discovering interesting patterns hidden in large-scale data sets, focusing on issues relating to effectiveness and efficiency. Topics covered include data preprocessing, data warehouse, association, classification, clustering, and mining specific data types such as time-series, social networks, multimedia, and Web data.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5502 and CSPB 4502
Requisites: Requires prerequisite course of CSCI 2270 or CSCI 2275 (minimum grade C-).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 4555 (3) Compiler Construction

Introduces the principles and techniques for compiling high-level programming languages to assembly code. Topics include parsing, instruction selection, register allocation, and compiling high-level features such as polymorphism, first-class functions, and objects. Students build a complete compiler for a simple language.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5523 and ECEN 4553 and CSCI 5525
Requisites: Requires prerequisite courses of CSCI 3155 and CSCI 2400 or ECEN 3350 (all minimum grade C-).
Additional Information: Departmental Category: Programming Languages

CSCI 4576 (4) High-Performance Scientific Computing

Introduces computing systems, software and methods used to solve large-scale problems in science and engineering. Students use high-performance workstations and a supercomputer.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5576
Recommended: Prerequisite CSCI 3656.
Additional Information: Departmental Category: Numerical Computation

CSCI 4593 (3) Computer Organization

Studies computer design at the gate level. Discusses instruction set architecture design, arithmetic and logic unit design, control logic, memory design and caches, simple pipelining, I/O and peripheral devices. Briefly covers aspects of modern computer architecture, such as multicore processors and cache coherence for these.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 4593
Requisites: Requires prerequisite course of ECEN 3350 or CSCI 2400 (minimum grade C-).
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 4622 (3) Machine Learning

Introduces students to tools, methods, and theory to construct predictive and inferential models that learn from data. Focuses on supervised machine learning technique including practical and theoretical understanding of the most widely used algorithms (decision trees, support vector machines, ensemble methods, and neural networks). Emphasizes both efficient implementation of algorithms and understanding of mathematical foundations.

Requisites: Requires prerequisites of (APPM 3310 or CSCI 2820 or MATH 2130 or MATH 2135) (APPM 3570 or STAT 4520 or APPM 4570 or CHEN 3010 or CSCI 3022 or CVEN 3227 or ECEN 3810 or ECON 3818 or MATH 3510 or MATH 4510 or MCEN 4120) and CSCI 3104 (all min grade C-).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 4753 (3) Computer Performance Modeling

Presents a broad range of system measurement and modeling techniques, emphasizing applications to computer systems. Covers topics including system measurement, workload characterization and analysis of data; design of experiments; queuing theory and queuing network models; and simulation.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5753 and ECEN 4753 and ECEN 5753
Requisites: Requires prerequisites of (APPM 1360 or MATH 2300) and CSCI 3753 (all minimum grade C-).
Recommended: Prerequisite a course in statistics.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 4802 (1) Data Science Team Companion Course

Gives students hands-on experience applying data science techniques and machine learning algorithms to real-world problems. Students work in small teams on internal challenges, many of which will be sponsored by local companies and organizations and will represent the university in larger teams for external challenges at the national and global level, such as those hosted by Kaggle. Students will be expected to participate in both internal and external challenges, attend meetings and present short presentations to the group when appropriate.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5802
Repeatable: Repeatable for up to 3.00 total credit hours.
Requisites: Requires a prerequisite course of APPM 3310 or APPM 3570 or APPM 4520 or APPM 4570 or MATH 2130 or MATH 3510 or MATH 4510 or CSCI 2820 or CSCI 3022 or CVEN 3227 or ECEN 3810 or MCEN 4120 (minimum grade C-).
Additional Information: Departmental Category: Artificial Intelligence

CSCI 4809 (3) Computer Animation

Develops a firm understanding of the general principles of computer animation. Lectures cover the creation of models, materials, textures, surfaces, and lighting. Path and key frame animation, particle dynamics, and rendering are introduced. Students are assigned a number of animation tutorials to carry out.

Equivalent - Duplicate Degree Credit Not Granted: ATLS 5809 and ATLS 4809 and CSCI 5809
Additional Information: Departmental Category: Graphics

CSCI 4830 (1-4) Special Topics in Computer Science

Covers topics of interest in computer science at the senior undergraduate level. Content varies from semester to semester. Only 9 credit hours from CSCI 4830 and/or CSCI 4831 can count toward Computer Science BS or BA.

Repeatable: Repeatable for up to 9.00 total credit hours. Allows multiple enrollment in term.
Requisites: Requires prerequisite course of CSCI 2400 or ECEN 3350 (minimum grade C-).
Additional Information: Departmental Category: General Computer Science

CSCI 4831 (1-3) Special Topics in Algorithms

Covers topics of interest in computer science at the upper-division undergraduate level. Content varies from semester to semester.

Repeatable: Repeatable for up to 9.00 total credit hours. Allows multiple enrollment in term.
Requisites: Requires prerequisite courses of CSCI 3104 and (APPM 3310 or CSCI 2820 or MATH 2130 or MATH 2135) (all minimum grade C-).
Additional Information: Departmental Category: General Computer Science

CSCI 4849 (3) Input, Interaction, and Accessibility

Explores input and interaction techniques with an emphasis on universal design and alternative interfaces. Students explore traditional input methods such as keyboard and mouse input, and alternative techniques such as voice and eye gaze. Students conduct performance evaluations of existing techniques, and prototype new interaction methods. Students design technologies to support people with varying abilities and disabilities.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5849
Requisites: Requires prerequisite of CSCI 3002 (minimum grade C-).

CSCI 4889 (3) Interactive Machine Learning for Customizable and Expressive Interfaces

Introduces students to techniques for applying machine learning in the development of customizable human-computer interfaces. Students learn to process a wide variety of input data (e.g. video and accelerometer streams) using different machine learning algorithms to detect semantically meaningful events that can afford the construction of new interactive systems. Students complete substantial projections within the domains of assistive or creative technologies. Does not fulfill Breadth Requirement for CSEN graduate students.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 5880, ATLS 4889 and ATLS 5880
Requisites: Requires prerequisites of (APPM 3570 or APPM 4570 or CHEN 3010 or CSCI 3022 or CVEN 3227 or ECEN 3810 or ECON 3818 or MATH 3510 or MATH 4510 or MCEN 4120 or STAT 4520) and (CSCI 3002 or CSCI 3202 or CSCI 4448) (all minimum grade C-).
Grading Basis: Letter Grade
Additional Information: Departmental Category: Artificial Intelligence

CSCI 4900 (1-3) Upper Division, Undergraduate Level Independent Study

Provides opportunities for independent study at the upper-division undergraduate level. Students work on a small research problem or tutor lower-division computer science students. Department consent required.

Repeatable: Repeatable for up to 8.00 total credit hours. Allows multiple enrollment in term.
Requisites: Requires prerequisite course of CSCI 1300 or CSCI 1310 or CSCI 1320 or CSCI 2275 (all minimum grade C-).
Additional Information: Departmental Category: General Computer Science

CSCI 4950 (2-4) Senior Thesis

Provides an opportunity for senior computer science majors to conduct exploratory research in computer science. Department enforced restriction, successful completion of a minimum of 36 credit hours of Computer Science coursework and approved WRTG.

Repeatable: Repeatable for up to 8.00 total credit hours.
Requisites: Requires a prerequisite or corequisite course of CSCI 3100 (minimum grade C-). Restricted to students with 87-180 credits (Senior, Fifth Year Senior).
Additional Information: Departmental Category: General Computer Science

CSCI 4960 (2-4) Computer Science Honors Thesis

Provides an opportunity for senior Computer Science majors to complete an honors thesis by conducting exploratory research in computer science. Department enforced prerequisites: successful completion of a minimum of 36 credit hours of Computer Science foundation and Computer Science electives and a writing requirement.

Repeatable: Repeatable for up to 8.00 total credit hours.
Requisites: Restricted to students with 87-180 credits (Senior, Fifth Year Senior).
Grading Basis: Letter Grade
Additional Information: Departmental Category: General Computer Science

CSCI 5114 (3) Practical Algorithmic Complexity

When coming across an algorithmic problem, how do we think about how hard it is? Beyond just how much time or memory it takes, computational complexity offers a plethora of concepts for understanding this fundamental question. This leads to the appropriate choice of algorithm for the job, the development of new algorithms, and understanding the role of algorithmic complexity in natural settings such as biology and physics.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4114
Requisites: Restricted to graduate students only.

CSCI 5135 (3) Computer-Aided Verification

Covers two-level and multilevel minimization, optimization via expert systems, algebraic and Boolean decomposition, layout methodologies, state assignment, encoding and minimization, silicon compilation.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5139
Requisites: Restricted to graduate students only.
Recommended: Prerequisites ECEN 2703 and general proficiency in discrete mathematics and programming.
Additional Information: Departmental Category: Programming Languages

CSCI 5229 (3) Computer Graphics

Studies design, analysis and implementation of computer graphics techniques. Topics include interactive techniques, 2D and 3D viewing, clipping, segmentation, translation, rotation and projection. Involves removal of hidden edges, shading and color. Knowledge of basic linear algebra is required.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4229
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5239 (3) Advanced Computer Graphics

Studies design, analysis and implementation of advanced computer graphics techniques. Topics include shaders, using the GPU for high performance computing, graphics programming on embedded devices such as mobile phones; advanced graphics techniques such as ray tracing.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4239
Requisites: Requires prerequisite course of CSCI 5229 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5250 (3) Computer Science: The Canon

Explores the "great works" of computer science through intensive reading and discussion. Readings include works by Babbage, Turing, Von Neumann, Goedel, Shannon and Minsky, among others. Does not count toward breadth requirement for Computer Science MS/ME degree.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4250
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 5253 (3) Datacenter Scale Computing - Methods, Systems and Techniques

Covers the primary problem solving strategies, methods and tools needed for data-intensive programs using large collections of computers typically called "warehouse scale" or "data-center scale" computers. Examines methods and algorithms for processing data-intensive applications, methods for deploying and managing large collections of computers in an on-demand infrastructure and issues of large-scale computer system design.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4253
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5273.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5254 (3) Convex Optimization and Its Applications

Discuss basic convex analysis (convex sets, functions and optimization problems), optimization theory (linear, quadratic, semidefinite and geometric programming; optimality conditions and duality theory), some optimization algorithms (descent methods and interior-point methods), basic applications (in signal processing, control, communications, networks, statistics, machine learning, circuit design and mechanical engineering, etc.), and some advanced topics (distributed decomposition, exact convex relaxation, parsimonious recovery).

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 5273 (3) Network Systems

Focuses on design and implementation of network programs and systems, including topics in network protocols, file transfer, client-server computing, remote procedure call and other contemporary network system design and programming techniques. Familiarity with C and Unix is required.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5273
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5302 (3) Advanced Robotics

Exposes students to current research topics in the field of robotics and provides hands-on experience in solving a grand challenge program.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4302
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 3302 or instructor consent required.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5314 (3) Dynamic Models in Biology

Surveys computational and mathematical modeling to illuminate biological processes. Students work together to learn to build and analyze models using a variety of numerical tools, tackle meaningful biological problems, and communicate effectively across disciplines. Specific topics: Langevin dynamics of protein folding, agent-based models, finite difference models of organismal growth, stochastic and deterministic cellular automata game of life, models of behavior.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4314
Requisites: Restricted to graduate students only.
Recommended: Prerequisite comfort with mathematics and/or programming experience, and more advanced understanding (upper undergraduate level) of any relevant discipline.
Additional Information: Departmental Category: Theory of Computation

CSCI 5340 (3) Startup Essentials: Entrepreneurial Projects in Computing

Provides students with the tools to be successful technical co-founders of their own startups. Explores the initial stages of founding a startup, including team formation, idea validation, pivoting and pitching, while employing an iterative methodology. Student teams will develop a minimum viable product, pitch their final startup concept and be evaluated on product/market fit. CS coding concepts relevant for startups, including potentially cloud programming, mobile programming and agile software engineering, will be taught. Does not satisfy breadth requirement.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4348
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 5350 (3) Entrepreneurial Projects II

Follows CSCI 5340. In the second semester of this entrepreneurial project capstone, student teams will seek to find market traction for a high-fidelity Minimum Viable Product (MVP), software and/or hardware, that they will develop as part of their startup project. Teams will further learn to incorporate principles of marketing, business finance and legal issues into the business model for their startup concept. Does not satisfy breadth requirement.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4358
Requisites: Requires a prerequisite course of CSCI 5340 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 5352 (3) Network Analysis and Modeling

Examines modern techniques for analyzing and modeling the structure and dynamics of complex networks. Focuses on statistical algorithms and methods, and emphasizes model interpretability and understanding the processes that generate real data. Applications are drawn from computational biology and computational social science. No biological or social science training is required.

Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 3104 and APPM 3570.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5402 (3) Research Methods in Human-Robot Interaction

Introduces students to the field of human-robot interaction (HRI). Covers HRI theory, principles, methodologies, and applications with links to robotics, artificial intelligence, human factors, human-computer interaction, design, cognitive psychology, education and other domains. Coursework includes readings from state-of-the-art in HRI research, team exercises and problem-solving sessions, and implementation and evaluation of a human-robot interaction systems for specific applications.

Equivalent - Duplicate Degree Credit Not Granted: ATLS 5402
Requisites: Restricted to graduate students only.

CSCI 5403 (3) Introduction to CyberSecurity for a Converged World

Introduces core concepts in cybersecurity including confidentiality, integrity, authentication, risk management, and adversarial thinking. The concepts will be applied to both traditional information technology (IT) systems and cyber physical systems (CPS). At the conclusion of the course, students should have a solid foundation in cybersecurity and hands-on experience.

Equivalent - Duplicate Degree Credit Not Granted: CYBR 5300
Requisites: Requires prerequisite CSCI 3753 or CSCI 4273 (both minimum grade C-). Restricted to graduate students only.

CSCI 5413 (3) Computer Security and Ethical Hacking

Teaches basic exploit design and development through hands-on experimentation and testing. Uses a controlled environment to give students a "playground" in which to test penetration skills that are normally not allowed on live networks.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4413
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5417 (3) Information Retrieval Systems

Addresses practical issues in the design, implementation and analysis of modern information retrieval systems. The major focus is on Web-based applications including ad hoc retrieval, classification, and clustering. Introduces the use of open source retrieval systems, standard evaluation metrics and gold-standard evaluation collections.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Database Systems

CSCI 5423 (3) Biologically-inspired Multi-Agent Systems

Explores the principles and emergent properties of collective dynamics through computational modeling and theory. Focuses on multi-agent systems using insights from biology, like the self-assemblage of cells and insect colony behavior. Topics include designing swarm intelligence, networked agents, cellular computing and self-assembly, optimization, synchronization, and evolutionary computation. Uses cross-discipline research developments to practice applied techniques. Biology background is not required.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 2270 and basic knowledge of programming.

CSCI 5444 (3) Introduction to Theory of Computation

Reviews regular expressions and finite automata. Studies Turing machines and equivalent models of computation, the Chomsky hierarchy, context-free grammars, push-down automata, and computability.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 5446 (3) Chaotic Dynamics

Explores chaotic dynamics theoretically and through computer simulations. Covers the standard computational and analytical tools used in nonlinear dynamics and concludes with an overview of leading-edge chaos research. Topics include time and phase-space dynamics, surfaces of section, bifurcation diagrams, fractal dimension and Lyapunov exponents.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4446 and ECEN 4423 and ECEN 5423
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 5448 (3) Object-Oriented Analysis and Design

An applied analysis and design class addressing the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design and modeling notations. Students apply the techniques in analysis and design projects.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4448
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Software Engineering

CSCI 5454 (3) Design and Analysis of Algorithms

Techniques for algorithm design, analysis of correctness and efficiency; divide and conquer, dynamic programming, probabilistic methods, advanced data structures, graph algorithms, etc. Lower bounds, NP-completeness, intractability.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 2270 or equivalent.
Additional Information: Departmental Category: Theory of Computation

CSCI 5502 (3) Data Mining

Introduces basic data mining concepts and techniques for discovering interesting patterns hidden in large-scale data sets, focusing on issues relating to effectiveness and efficiency. Topics covered include data preprocessing, data warehouse, association, classification, clustering, and mining specific data types such as time-series, social networks, multimedia, and Web data.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4502
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5514 (3) Algorithms for Whole Genome Sequence Analysis

Explore the algorithms that have been developed to assemble and analyze genome sequencing data. Genome sequencing produces vast and complex data that are intractable without efficient algorithms. This course covers the core data structures and algorithms which form the basis for research in topics ranging from evolution to the cause and treatment of many diseases, including cancer. Topics include string matching, indexing, compression, and succinct data structures. No prior knowledge of biology, DNA, or genetics is required.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite basic understanding of complexity analysis, core algorithms (for example, sort) and data structures (for example, graphs).

CSCI 5525 (3) Compiler Construction

Introduces the principles and techniques for compiling high-level programming languages to assembly code. Topics include parsing, instruction selection, register allocation, and compiling high-level features such as polymorphism, first-class functions, and objects. Students will build a complete compiler for a simple language.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4555 and ECEN 4553 and ECEN 5523
Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 3155 and CSCI 2400 or ECEN 3350.
Additional Information: Departmental Category: Programming Languages

CSCI 5535 (3) Fundamental Concepts of Programming Languages

Considers concepts common to a variety of programming languages--how they are described (both formally and informally) and how they are implemented. Provides a firm basis for comprehending new languages and gives insight into the relationship between languages and machines.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5533
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 3155 or instructor consent required.
Additional Information: Departmental Category: Programming Languages

CSCI 5548 (3) Software Engineering of Standalone Programs

Applies engineering principles to phases of software product development, project planning, requirements definition, design, implementation, validation and maintenance. Emphasizes practical methods for communicating and verifying definitions and designs: prototyping, inspections and modeling. Includes relation to RTS and object-oriented programming.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5543
Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 1300 and CSCI 2270 or instructor consent required.
Additional Information: Departmental Category: Software Engineering

CSCI 5573 (3) Advanced Operating Systems

Intended to create a foundation for operating systems research or advanced professional practice. Examines the design and implementation of a number of research and commercial operating systems and their components, system organization and structure, threads, communication and synchronization, virtual memory, distribution, file systems, security and authentication, availability and Internet services.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5573
Requisites: Requires prerequisite course of CSCI 2400 and CSCI 3753 (all minimum grade C). Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5576 (4) High-Performance Scientific Computing

Introduces computing systems, software and methods used to solve large-scale problems in science and engineering. Students use high-performance workstations and a supercomputer. First course in a two-semester sequence.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4576
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 5593 (3) Advanced Computer Architecture

Provides a broad-scope treatment of important concepts in the design and implementation of high-performance computer systems. Discusses important issues in the pipelining of a machine and the design of cache memory systems. Also studies current and historically important computer architectures.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5593
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 4593 or instructor consent required.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5606 (3) Principles of Numerical Computation

Highlights computer arithmetic, solution of linear systems, least-squares approximations, nonlinear algebraic equations, interpolation, and quadrature.

Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 3656 and three semesters of calculus or equivalent.
Additional Information: Departmental Category: Numerical Computation

CSCI 5608 (3) Software Project Management

Presents topics and techniques critical to the management of software product development, including estimating, planning, quality, tracking, reporting, team organization, people management and legal issues. Gives special attention to problems unique to software projects.

Requisites: Restricted to graduate students only.
Recommended: Prerequisites ECEN 4583 and CSCI 5548 and CSCI 4318 or equivalent industrial experience.
Additional Information: Departmental Category: Software Engineering

CSCI 5622 (3) Machine Learning

Trains students to build computer systems that learn from experience. Includes the three main subfields: supervised learning, reinforcement learning and unsupervised learning. Emphasizes practical and theoretical understanding of the most widely used algorithms (neural networks, decision trees, support vector machines, Q-learning). Covers connections to data mining and statistical modeling. A strong foundation in probability, statistics, multivariate calculus, and linear algebra is highly recommended.

Requisites: Requires prereq courses of CSCI 3104 and CSCI 2820 or APPM 3310 or MATH 2130 or CSCI 3022 or APPM 4570 or APPM 3570 or STAT 4250 or MATH 3510 or CVEN 3227 or ECEN 3810 or ECON 3818 or MCEN 4120 (all min grade B). Restricted to Graduate Students Only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5636 (3) Numerical Solution of Partial Differential Equations

Focuses on discretization techniques such as finite difference, finite element and finite volume methods, and parallel solution algorithms such as Krylov subspace methods, domain decomposition and multilevel methods.

Requisites: Requires prerequisite course of CSCI 2820 or CSCI 3656 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 5646 (3) Numerical Linear Algebra

Offers direct and iterative solutions of linear systems. Also covers eigen value and eigenvector calculations, error analysis, and reduction by orthogonal transformation. A sound knowledge of basic linear algebra, experience with numerical computation, and programming experience is required.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 5654 (3) Linear Programming

Presents algorithms, simplex and modifications. Examines theory-duality and complementary slackness. Involves network flow algorithms. Introduces integer programming.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite linear algebra.
Additional Information: Departmental Category: Theory of Computation

CSCI 5673 (3) Distributed Systems

Examines systems that span multiple autonomous computers. Topics include system structuring techniques, scalability, heterogeneity, fault tolerance, load sharing, distributed file and information systems, naming, directory services, resource discovery, resource and network management, security, privacy, ethics and social issues.

Equivalent - Duplicate Degree Credit Not Granted: ECEN 5673
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5573 or a course in computer networks.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5676 (3) Numerical Optimization

Focuses on computational methods for solution of unconstrained and some constrained optimization problems, nonlinear least-squares problems and systems of nonlinear equations. Formerly CSCI 6676.

Requisites: Requires prerequisite course of CSCI 2820 or CSCI 3656 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 5714 (3) Formal Languages

Explores context-free languages: pumping lemma and variants, closure properties, and decision properties. Involves parsing algorithms, including general and special languages, e.g., LR. Additional topics chosen by instructor.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5444 or instructor consent required.
Additional Information: Departmental Category: Theory of Computation

CSCI 5722 (3) Computer Vision

Explores algorithms that can extract information about the world from images or sequences of images. Topics covered include: imaging models and camera calibration, early vision (filters, edges, texture, stereo, optical flow), mid-level vision (segmentation, tracking), vision-based control and object recognition.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite probability, multivariate calculus and linear algebra.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5753 (3) Computer Performance Modeling

Presents a broad range of system measurement and modeling techniques, emphasizing applications to computer systems. Topics include system measurement, work load characterization and analysis of data; design of experiments; simulation; and queuing theory and queuing network models.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4753 and ECEN 4753 and ECEN 5753
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 5802 (1) Data Science Team Companion Course

Gives students hands-on experience applying data science techniques and machine learning algorithms to real-world problems. Students work in small teams on internal challenges, many of which will be sponsored by local companies and organizations and will represent the university in larger teams for external challenges at the national and global level, such as those hosted by Kaggle. Students will be expected to participate in both internal and external challenges, attend meetings and present short presentations to the group when appropriate. Instructor consent required.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4802
Repeatable: Repeatable for up to 3.00 total credit hours.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5809 (3) Computer Animation

Develops a firm understanding of the general principles of computer animation. Lectures cover the creation of models, materials, textures, surfaces, and lighting. Path and key frame animation, particle dynamics, and rendering are introduced. Students are assigned a number of animation tutorials to carry out.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4809 and ATLS 4809 and ATLS 5809
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5817 (3) Database Systems

Provides an advanced treatment of basic database concepts.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 3753.
Additional Information: Departmental Category: Database Systems

CSCI 5822 (3) Probabilistic Models of Human and Machine Learning

Introduces a set of modeling techniques that have become a mainstay of modern artificial intelligence, cognitive science and machine learning research. These models provide essential tools for interpreting the statistical structure of large data sets and for explaining how intelligent agents analyze the vast amount of experience that accumulates through interactions with an unfamiliar environment.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite undergraduate course in probability and statistics.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5828 (3) Foundations of Software Engineering

Provides an introduction to software engineering concepts and techniques. Topics include the history of software engineering, fundamental software engineering principles and theory, software life cycles, software testing, and the design and implementation of concurrent and large-scale software systems.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Software Engineering

CSCI 5832 (3) Natural Language Processing

Explores the field of natural language processing as it is concerned with the theoretical and practical issues that arise in getting computers to perform useful and interesting tasks with natural language. Covers the problems of understanding complex language phenomena and building practical programs.

Equivalent - Duplicate Degree Credit Not Granted: LING 5832
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5839 (3) User-Centered Design and Development 1

Develops the skills and practices necessary to apply user-centered approaches to software requirements analysis, and the design and evaluation of computer applications.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5849 (3) Input, Interaction, and Accessibility

Explores input and interaction techniques, with an emphasis on universal design and alternative interfaces. Students will explore traditional input methods such as keyboard and mouse input, and alternative techniques such as voice and eye gaze. Students will conduct performance evaluations of existing techniques, and prototype new interaction methods. Students will design technologies to support people with varying abilities and disabilities.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4849
Requisites: Requires prerequisite of CSCI 3002 or CSCI 5839 (all require minimum grade of B). Restricted to graduate students only.

CSCI 5854 (3) Theoretical Foundations for Cyber-Physical Systems

Covers techniques for modeling, design and verification of Cyber-Physical Systems and application domains including automotive systems, robotics and medical devices. Modeling topics include timed systems, differential equations, switched systems, hybrid dynamical systems. Verification topics: reachability and stability verification. Temporal specifications. Synthesis of controllers. Applications: automotive systems, medical devices.

Requisites: Requires prerequisite course of CSCI 3434 or ECEN 3300 (minimum grade C). Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 5880 (3) Interactive Machine Learning for Customizable and Expressive Interfaces

Introduces students to techniques for applying machine learning in the development of customizable human-computer interfaces. Students will learn to process a wide variety of input data (e.g. video and accelerometer streams), using different machine learning algorithms to detect semantically meaningful events that can afford the construction of new interactive systems. They will complete substantial projections within the domains of assistive or creative technologies. Does not fulfill Breadth Requirement for CSEN graduate students.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4889, ATLS 4889 and ATLS 5880
Requisites: Restricted to graduate students only.
Grading Basis: Letter Grade
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5900 (1-6) Master's Level Independent Study

Provides opportunities for independent study at the master's level.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to Computer Science (CSEN) graduate students or Computer Science Concurrent Degree majors only.
Additional Information: Departmental Category: General Computer Science

CSCI 5919 (3) HCC Survey and Synthesis: Foundations and Trajectories

Examines interdisciplinary field of human-computer interaction through a comprehensive content and historical survey. Considers new trajectories of inquiry and how the field merges with others. "Social computing" is emphasized as a central topic. Students across disciplines will find the course foundational for understanding human-centered technology matters, including computer scientists; social scientists; and business and media arts students.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Graphics

CSCI 5922 (3) Neural Networks and Deep Learning

Introduces modern approaches to machine learning using neural networks. Neural nets, popular in the early 1990s, have undergone a resurgence due to significant advances in computing power and the availability of very large data sets. Now rechristened 'deep learning', the field has produced state-of-the-art results in a range of artificial intelligence problems, including vision, speech and natural language processing.

Requisites: Restricted to graduate students only.
Grading Basis: Letter Grade
Additional Information: Departmental Category: Artificial Intelligence

CSCI 5929 (3) HCC Survey and Synthesis: New Disciplinary Directions

Studies recent advances in human-computer interaction through critical analysis of influential papers and self-guided research. Examines new paradigms in input, output, and visualization for technology design and interaction. Considers innovative methods to assess various population design and technological needs. Studies in computer-related fields, social science, business, media arts and communications benefit learning about human-centered computing research.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5919.
Additional Information: Departmental Category: Graphics

CSCI 6000 (1) Introduction to the Computer Science PhD Program

Instructs new Ph.D students in Computer Science how to obtain a Ph.D and how to become an effective member of the computer science research community. Makes students aware of formal requirements, educational objectives, and research themes. Provides evaluative criteria and guidelines for all objectives to be achieved.

Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 6268 (3) Foundations of Computer and Network Security

Studies methods to protect information, and the ability to process and move information, from theft, misuse, tampering, destruction and unauthorized access. Introduces foundational topics of computer and network security, including security models, cryptopgraphy and authentication protocols.

Equivalent - Duplicate Degree Credit Not Granted: TLEN 5550
Requisites: Requires prerequisite course of CSCI 5273 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Software Engineering

CSCI 6302 (3) Speech Recognition and Synthesis

Introduction to automatic speech recognition and understanding, conversational agents, dialogue systems, and speech synthesis/text-to-speech. Topics include the noisy channel model, Hidden Markov Models, A* and Viterbi decoding, language modeling (N-grams, entropy), concatenative synthesis, text normalization, dialogue and conversation modeling.

Requisites: Restricted to graduate students only.
Recommended: Prerequisites CSCI 5832 or LING 5200 or instructor consent required.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 6402 (3) Issues and Methods in Cognitive Science

Interdisciplinary introduction to cognitive science, examining ideas from cognitive psychology, philosophy, education, and linguistics via computational modeling and psychological experimentation. Includes philosophy of mind; learning; categorization; vision and mental imagery; consciousness; problem solving; decision making, and game-theory; language processing; connectionism. No background in Computer Science will be presumed.

Equivalent - Duplicate Degree Credit Not Granted: EDUC 6504 and LING 6200 and PHIL 6310 and PSYC 6200 and SLHS 6402
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 6454 (3) Advanced Algorithms

Topics include matching and network flows, matroids, computational geometry, parallel computation (PRAM, hypercube, mesh). Also includes Vlsi, database theory, distributed computation, cryptography, robotics, scheduling, probabilistic algorithms, approximation algorithms, average case, and amortized analysis, time permitting.

Requisites: Requires prerequisite course of CSCI 5454 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 6622 (3) Advanced Machine Learning

Covers advanced theoretical and practical topics in machine learning and latest developments in the field. Students conduct original research, either applied or theoretical, and present their results.

Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5622 or instructor consent required.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 6686 (3) Numerical Methods for Constrained Optimization

Covers computational methods for constrained optimization. Topics include basic theory, methods for quadratic programming, active set strategies for linear constraints, and penalty and successive quadratic programming methods for nonlinearly constrained problems.

Requisites: Requires prerequisite course of CSCI 5606 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 6800 (1-6) Master of Engineering Project

Students seeking the master of engineering degree must complete a creative investigation project, including a written report, supervised by a member of the graduate faculty. Department enforced prerequisite: completion of 21 hours towards the ME degree.

Repeatable: Repeatable for up to 12.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate student Computer Sciences (CSEN) students only.
Additional Information: Departmental Category: General Computer Science

CSCI 6810 (1) Seminar in Computational Biology

Provides an overview of current research topics in computational biology and health informatics, with a focus on research conducted on campus. Each week students will attend an on-campus seminar or a presentation by an on-campus research group. Prepares students to participate in a research project.

Equivalent - Duplicate Degree Credit Not Granted: CSCI 4810
Additional Information: Departmental Category: General Computer Science

CSCI 6940 (1) Master's Candidate for Degree

For students who need to be registered for the purpose of taking the master's comprehensive exam and who are not otherwise registered. Credit does not count toward degree requirements.

Requisites: Restricted to Computer Science (CSEN) graduate students or Computer Science Concurrent Degree majors only.
Grading Basis: Pass/Fail
Additional Information: Departmental Category: General Computer Science

CSCI 6950 (1-6) Master's Thesis

Requisites: Restricted to Computer Science (CSEN) graduate students or Computer Science Concurrent Degree majors only.
Additional Information: Departmental Category: General Computer Science

CSCI 7000 (1-4) Current Topics in Computer Science

Covers research topics of current interest in computer science that do not fall into a standard subarea.

Repeatable: Repeatable for up to 8.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 7123 (3) Topics in Operating Systems

Topics selected by instructor. Possible topics are system design, measurement and evaluation, simulation, mathematical modeling, and parallelism.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Requires prerequisite course of CSCI 5573 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 7135 (1-3) Topics in Programming Languages

Topics selected by instructor. Possible topics are syntax, semantics, metacompilers, compiler design, and translator writing systems. Department consent required.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Programming Languages

CSCI 7143 (3) Topics in Computer Systems

Topics selected by instructor. Possible topics are online systems, multiprocessing, microprogramming, architecture, data communications, and computing networks. Department consent required.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Operating Systems and Hardware

CSCI 7154 (3) Topics in Theory of Computation

Selected topics of current interest in theory of computation.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Requires prerequisite course of CSCI 5454 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Theory of Computation

CSCI 7176 (3) Topics in Numerical Computation

Topics selected by instructor. Possible topics are numerical linear algebra, solution of differential equations, nonlinear algebra and optimization, data fitting, linear and nonlinear programming, and solution of large problems. Department consent required.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Numerical Computation

CSCI 7222 (3) Topics in Nonsymbolic Artificial Intelligence

Topics vary from year to year. Possible topics include human and machine vision, signal and speech processing, artificial life, mathematical foundations of connectionism, and computational learning theory.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Recommended: Prerequisite CSCI 5622 or instructor consent required.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 7412 (2) Cognitive Science Research Practicum

Independent, interdisciplinary research project in cognitive science for advanced graduate students pursuing a joint PhD in an approved core discipline and cognitive science. Research projects integrate at least two areas within the cognitive sciences: psychology, computer science, linguistics, education, philosophy. Students need commitments from two mentors for their project.

Equivalent - Duplicate Degree Credit Not Granted: EDUC 6506 and LING 7415 and PHIL 7415 and PSYC 7415 and SLHS 7418
Requisites: Requires a prerequisite course of CSCI 6402 or EDUC 6504 or LING 6200 or PHIL 6310 or PSYC 6200 (minimum grade B). Restricted to graduate students only.
Recommended: Prerequisite EDUC 6505.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 7422 (2) Cognitive Science Research Practicum 2

Independent, interdisciplinary research project in cognitive science for advanced graduate students pursuing a joint Ph.D in an approved core discipline and cognitive science. Research projects integrate at least two areas within the cognitive sciences: psychology, computer science, linguistics, education, philosophy. Students need commitments from two mentors for their project.

Equivalent - Duplicate Degree Credit Not Granted: EDUC 6516 and LING 7425 and PHIL 7425 and PSYC 7425 and SLHS 7428
Requisites: Requires a prerequisite course of LING 7415 or PSYC 7415 or CSCI 7412 or EDUC 6506 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 7717 (3) Topics in Database Systems

Studies topics such as distributed databases, database interfaces, data models, database theory, and performance measurement in depth.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Requires prerequisite course of CSCI 5817 (minimum grade B). Restricted to graduate students only.
Additional Information: Departmental Category: Database Systems

CSCI 7772 (1) Topics in Cognitive Science

Reading of interdisciplinary innovative theories and methodologies of cognitive science. Students participate in the ICS Distinguished Speakers series that hosts internationally recognized cognitive scientists who share and discuss their current research. Session discussions include analysis of leading edge and controversial new approaches in cognitive science.

Equivalent - Duplicate Degree Credit Not Granted: EDUC 7775 and LING 7775 and PHIL 7810 and PSYC 7775 and SLHS 7775
Repeatable: Repeatable for up to 4.00 total credit hours.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Artificial Intelligence

CSCI 7818 (3) Topics in Software Engineering

Studies selected topics of current interest in software engineering. Department consent required.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: Software Engineering

CSCI 7900 (1-6) Doctoral Level Independent Study

For doctoral students.

Repeatable: Repeatable for up to 6.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science

CSCI 8990 (1-10) Doctoral Dissertation

Investigates some specialized field of computer science. Approved and supervised by faculty members.

Repeatable: Repeatable for up to 30.00 total credit hours. Allows multiple enrollment in term.
Requisites: Restricted to graduate students only.
Additional Information: Departmental Category: General Computer Science