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 4239. Requisites: Requires prerequisite course of CSCI 5229 (minimum grade D-). Restricted to graduate students only.
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 4273 and ECEN 5273. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
Exposes students to current research topics in the field of robotics and provides hands-on experience in solving a grand challenge program. Recommended prereq., CSCI 3302 or instructor consent required. Same as CSCI 4302.
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. Recommended prereqs., CSCI 3104 and APPM 3570.
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 or Computer Science Concurrent Degree (CSEN) majors only.
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 or Computer Science Concurrent Degree (CSEN) majors only.
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 4448. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Recommended prereq., CSCI 2270 or equivalent. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. CSCI 4502 and 5502 are the same course. Requisites: Restricted to graduate students only.
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. Recommended prereq., CSCI 3155 and CSCI 2400, or ECEN 2120 or ECEN 3350. Same as ECEN 5523, CSCI 4555, and ECEN 4553. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Recommended prereq., CSCI 3155 or instructor consent required. Same as ECEN 5533. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Recommended prereqs., CSCI 1300, CSCI 2270, or instructor consent required. Same as ECEN 5543. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
Examines a range of topics involved in using parallel operations to improve computational performance. Discusses parallel architectures, parallel algorithms and parallel programming languages. Architectures covered include vector computers, multiprocessors, network computers, and data flow machines. Department enforced prereq., background in computer organization, introduction to programming languages, elementary numerical analysis, or instructor consent. Same as ECEN 5553. Requisites: Requires prerequisite courses of CSCI 3656 and ECEN 4593 (all minimum grade D-). Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Department enforced prereq., equivalent undergraduate coursework in operating systems and computer architecture, or instructor consent. Same as ECEN 5573. Requisites: Requires prerequisite courses of CSCI 3753 and CSCI 4593 (all minimum grade D-). Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Recommended prereq., CSCI 4593 or instructor consent required. Same as ECEN 5593. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
Highlights computer arithmetic, solution of linear systems, least-squares approximations, nonlinear algebraic equations, interpolation, and quadrature. Recommended prereqs., CSCI 3656 and three semesters of calculus, or equivalent. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Recommended prereqs., ECEN 4583, CSCI 5548 and 4318, or equivalent industrial experience. Same as ECEN 5603 and EMEN 5031. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
Focuses on finite difference solution for partial differential equations, methods of SoR, ADI, conjugate gradients, finite element method, nonlinear problems, and applications. Requisites: Requires prerequisite course of CSCI 5606 (minimum grade D-). Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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 or Computer Science Concurrent Degree (CSEN) majors only.
Presents algorithms, simplex, and modifications. Examines theory---duality and complementary slackness. Involves network flow algorithms. Introduces integer programming. Department enforced prereq., linear algebra. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Recommended prereqs., CSCI 5573 or a course in computer networks. Same as ECEN 5673. Requisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.