Introduces UNIX (Linux) system administration and related topics, including trouble-shooting system and network problems, hardware and software configuration and installation, basic scripting, and security aspects of Internet hosts. Students build a Linux server from the ground up, using provided computing resources, and must maintain and secure the server themselves. Recommended prereq., CSCI 3308. Requisites: Requires prerequisite course of CSCI 2400 (minimum grade C-).
Studies design, analysis, and implementation of computer graphics techniques. Topics include interactive techniques, 2D and 3D viewing, clipping, segmentation, translation, rotation, and projection. Also involves removal of hidden edges, shading, and color. Knowledge of basic linear algebra is required. Same as CSCI 5229. Requisites: Requires prerequisite course of CSCI 2270 (minimum grade C-).
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. Same as CSCI 5239. Requisites: Requires prerequisite course of CSCI 4229 (minimum grade C-).
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. Same as CSCI 5250. Requisites: Restricted to students with 57-180 credits (Juniors or Seniors).
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. The course 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. Recommended prerequisite: CSCI 4273/5273. Same as CSCI 5253. Requisites: Requires prerequisite course of CSCI 3753 (minimum grade C). Restricted to students with 57-180 credits (Juniors or Seniors).
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. Same as CSCI 5273 and ECEN 5273. Requisites: Requires prerequisite course of CSCI 3753 (minimum grade C-).
Exposes students to current research topics in the field of robotics and provides hands-on experience in solving a grand challenge program. Same as CSCI 5302. Requisites: Requires prerequisite course of CSCI 3302 (minimum grade C-).
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 restriction, successful completion of a minimum of 36 credit hours of Computer Science coursework and approved WRTG are required to enroll. Recommended prereq., CSCI 4448. 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.
Surveys molecular biology and combinatorial algorithms used to understand DNA, RNA, and proteins. Students work in groups to define and tackle meaningful biological problems and learn to collaborate effectively with scientists in other disciplines. Recommended prereq., comfort with mathematics and/or programming experience, and more advanced understanding (upper undergraduate level) of any relevant discipline. Same as CSCI 5314, MCDB 4314 and MCDB 5314. Requisites: Requires a prerequisite course of CSCI 3104 (minimum grade C-).
Second semester of an advanced practicum in computer science. Students must take CSCI 4308 and 4318 contiguously as the project spans the entire academic year. Requisites: Requires prerequisite course of CSCI 4308 (minimum grade C-).
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. This course is 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.
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. This course is 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.
Provide Computer Science students with the tools to be successful technical co-founders of their own startups. We will explore 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 are required to enroll. Formerly CSCI 4000. Similiar to 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.
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. Same as CSCI 5413. Requisites: Requires prerequisite courses of CSCI 2400 and CSCI 4273 (all minimum grade C-).
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. Recommended prereqs., PHYS 1120, CSCI 3656, and MATH 3130. Same as CSCI 5446 and ECEN 4423. Requisites: Requires prerequisite course of CSCI 1300 or CSCI 1310 or CSCI 1320 and APPM 2350 or MATH 2400 (all minimum grade C-).
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. Same as CSCI 5448. Requisites: Requires prerequisite courses of CSCI 3155 and CSCI 3308 (all minimum grade C-).
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. Same as CSCI 5502. Requisites: Requires prerequisite course of CSCI 2270 (minimum grade C-).
Introduces the basic techniques used in translating programming languages: scanning, parsing, definition table management, operator identification and coercion, code selection and register allocation, error recovery. Students build a complete compiler for a simple language. Same as ECEN 4553 and CSCI 5525. Requisites: Requires prerequisite courses of CSCI 3155 and CSCI 2400 or ECEN 3350 (all minimum grade C-).
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. Recommended prereq., CSCI 3656. Same as CSCI 5576.
Introduces computing systems, software, and methods to solve large-scale problems in science and engineering. Students use high-performance workstations and a supercomputer. Second course in a two-semester sequence. Requisites: Requires prerequisite course of CSCI 4576 (minimum grade C-).
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. Same as ECEN 4593. Requisites: Requires prerequisite course of ECEN 3350 or CSCI 2400 (minimum grade C-). Restricted to College of Engineering majors only.
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. Department enforced prereq., second-semester calculus. Recommended prereq., a course in statistics. Same as CSCI 5753 and ECEN 4753/5753. Requisites: Requires prerequisite course of CSCI 3753 (minimum grade C-).
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. Same as CSCI 5809 and ATLS 4809/5809.
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. Same as CSCI 6810.
Covers topics of interest in computer science at the senior undergraduate level. Content varies from semester to semester. May be repeated up to 9 total credit hours. Requisites: Requires prerequisite course of CSCI 2400 (minimum grade C-).