Courses

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. Prerequisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
Examines design and implementation of contemporary operating systems. Significant laboratory component applies practice with OS use, analysis, and internal design. Topics include OS organization and structure, process and thread management, memory management, file management, device management, network and distributed systems, and modern runtime systems. Department enforced prereq., two years programming. Department consent required. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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.
Same as CSCI 4576. Prerequisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
Surveys artificial intelligence methods, theories, and applications. Studies the relationship between artificial intelligence and psychology, linguistics, and philosophy. Introduces artificial intelligence programming. Recommended prereq., CSCI 3155 or equivalent. Same as ECEN 5583. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: 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. Prerequisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Recommended prereq., CSCI 5444 or instructor consent required. Prerequisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Recommended prereq., probability, multivariate calculus, and linear algebra. Prerequisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
Same as CSCI 4753. Prerequisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
Same as CSCI 4809 and ATLS 4809/5809. Prerequisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
Provides an advanced treatment of basic database concepts. Recommended prereqs., CSCI 3287 and 3753. Prerequisites: Requires prerequisite course of CSCI 2270 (minimum grad C-). Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.
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. Prerequisites: Restricted to graduate students or Computer Science Concurrent Degree (CSEN) majors only.

Pages