| Class Schedules Index | Course Catalogs Index | Class Search Page |
| Computer Science | |
| CS 1010 | Introduction to Information Technology (3.00) |
| Offered Fall 2013 | Provides exposure to a variety of issues in information technology, such as computing ethics and copyright. Introduces and provides experience with various computer applications, including e-mail, newsgroups, library search tools, word processing, Internet search engines, and HTML. Not intended for students expecting to do further work in CS. Cannot be taken for credit by students in SEAS or Commerce. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 1020 | Introduction to Business Computing (3.00) |
| Overview of modern computer systems and introduction to programming in Visual Basic, emphasizing development of programming skills for business applications. Intended primarily for pre-commerce students. May not be taken for credit by students in SEAS. | |
| CS 1110 | Introduction to Programming (3.00) |
| Offered Fall 2013 | Introduces the basic principles and concepts of object-oriented programming through a study of algorithms, data structures and software development methods in Java. Emphasizes both synthesis and analysis of computer programs. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 1111 | Introduction to Programming (3.00) |
| Offered Fall 2013 | Introduces the basic principles and concepts of object-oriented programming through a study of algorithms, data structures and software development methods in Java. Emphasizes both synthesis and analysis of computer programs. Prerequisite: Prior programming experience. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010 |
| CS 1112 | Introduction to Programming (3.00) |
| Offered Fall 2013 | Introduces the basic principles and concepts of object-oriented programming through a study of algorithms, data structures and software development methods in Java. Emphasizes both synthesis and analysis of computer programs. Note: No prior programming experience. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 1120 | Introduction to Computing: Explorations in Language, Logic, and Machines (3.00) |
| This course is an introduction to the most important ideas in computing. It focuses on the big ideas in computer science including the major themes of recursive definitions, universality, and abstraction. It covers how to describe information processes by defining procedures using the Scheme and Python programming languages, how to analyze the costs required to carry out a procedure, and the fundamental limits of what can be computed. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 | |
| CS 1501 | Special Topics in Computer Science (1.00) |
| Special topics in Computer Science Course was offered Spring 2013 | |
| CS 2102 | Discrete Mathematics I (3.00) |
| Offered Fall 2013 | Introduces discrete mathematics and proof techniques involving first order predicate logic and induction. Application areas include finite and infinite sets and elementary combinatorial problems. Development of tools and mechanisms for reasoning about discrete problems. Cross-listed as APMA 2102. Prerequisite: CS 1110 or 1120 with a grade of C- or higher. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 2110 | Software Development Methods (3.00) |
| Offered Fall 2013 | A continuation of CS 1010, emphasizing modern software development methods. An introduction to the software development life cycle and processes. Topics include requirements analysis, specification, design, implementation, and verification. Emphasizes the role of the individual programmer in large software development projects. Prerequisite: CS 1010 with a grade of C- or higher. Note: Students may not receive credit for both CS 2010 and CS 2050. Course was offered Spring 2013, Fall 2012, Summer 2012, Spring 2012, Fall 2011, Summer 2011, Spring 2011, Fall 2010, Summer 2010, Spring 2010, Fall 2009 |
| CS 2150 | Program and Data Representation (3.00) |
| Offered Fall 2013 | Introduces programs and data representation at the machine level. Data structuring techniques and the representation of data structures during program execution. Operations and control structures and their representation during program execution. Representations of numbers, arithmetic operations, arrays, records, recursion, hashing, stacks, queues, trees, graphs, and related concepts. Prerequisite: CS 2102 and either CS 2110 or CS 2220 with all grades of C- or higher. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 2190 | Computer Science Seminar I (1.00) |
| Proides cultural capstone to the undergraduate experience. Students make presentations based on topics not covered in the traditional curriculum. Emphasizes learning the mechanisms by which researchers and practicing computer scientists can access information relevant to their discipline, and on the professional computer scientist's responsibility in society. Prerequisite: CS 2110 or 2220 with a grade of C- or higher, and CS 2102 with a grade of C- or higher. | |
| CS 2220 | Engineering Software (3.00) |
| Covers tools and techniques used to manage complexity needed to build, analyze, and test complex software systems including abstraction, analysis, and specification. Prerequisite: CS 1120 Note: Students may not receive credit for both CS 2110 and CS 2220. | |
| CS 2330 | Digital Logic Design (3.00) |
| Offered Fall 2013 | Includes number systems and conversion; Boolean algebra and logic gates; minimization of switching functions; combinational network design; flip-flops; sequential network design; arithmetic networks. Introduces computer organization and assembly language. Cross-listed as ECE 2330. |
| CS 2501 | Special Topics in Computer Science (3.00) |
| Offered Fall 2013 | Content varies, depending on instructor interests and the needs of the Department. Taught strictly at the undergraduate level. Prerequisite: Instructor permission; additional specific requirements vary with topics. |
| CS 3102 | Theory of Computation (3.00) |
| Offered Fall 2013 | Introduces computation theory including grammars, finite state machines and Turing machines; and graph theory. Cross-listed as APMA 3102. Prerequisite: CS 2102 and either CS 2110 or 2220 all with grades of C or better. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 3205 | HCI in Software Development (3.00) |
| Offered Fall 2013 | Human-computer interaction and user-centered design in the context of software engineering. Examines the fundamental principles of human-computer interaction. Includes evaluating a system's usability based on well-defined criteria; user and task analysis, as well as conceptual models and metaphors; the use of prototyping for evaluating design alternatives; and physical design of software user-interfaces, including windows, menus, and commands. Prerequisite: CS 2110 or 2220 with a grade of C- or higher. |
| CS 3240 | Advanced Software Development Techniques (3.00) |
| Offered Fall 2013 | Analyzes modern software engineering practice for multi-person projects; methods for requirements specification, design, implementation, verification, and maintenance of large software systems; advanced software development techniques and large project management approaches; project planning, scheduling, resource management, accounting, configuration control, and documentation. Prerequisite: CS 2150 with a grade of C- or higher. |
| CS 3330 | Computer Architecture (3.00) |
| Offered Fall 2013 | Includes the organization and architecture of computer systems hardware; instruction set architectures; addressing modes; register transfer notation; processor design and computer arithmetic; memory systems; hardware implementations of virtual memory, and input/output control and devices. Cross-listed as ECE 3330. Prerequisite: CS 2110 or 2220 with a grade of C- or higher, and CS 2330 with a grade of C- or higher. Course was offered Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 4102 | Algorithms (3.00) |
| Offered Fall 2013 | Introduces the analysis of algorithms and the effects of data structures on them. Algorithms selected from areas such as sorting, searching, shortest paths, greedy algorithms, backtracking, divide- and-conquer, and dynamic programming. Data structures include heaps and search, splay, and spanning trees. Analysis techniques include asymtotic worst case, expected time, amortized analysis, and reductions between problems. Prerequisite: CS 2102 and 2150 with grades of C- or higher. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 4240 | Principles of Software Design (3.00) |
| Offered Fall 2013 | Focuses on techniques for software design in the development of large and complex software systems. Topics will include software architecture, modeling (including UML), object-oriented design patterns, and processes for carrying out analysis and design. More advanced or recent developments may be included at the instructor's discretion. The course will balance an emphasis on design principles with an understanding of how to apply techniques and methods to create successful software systems. Prerequisite: CS 2150 with grade of C- or higher. |
| CS 4330 | Advanced Computer Architecture (3.00) |
| Provides an overview of modern microprocessor design. The topics covered in the course will include the design of super-scalar processors and their memory systems, and the fundamentals of multi-core processor design. Prerequisite: CS 216 and CS/ECE 333, both with grades of C- or higher. | |
| CS 4414 | Operating Systems (3.00) |
| Offered Fall 2013 | Analyzes process communication and synchronization; resource management; virtual memory management algorithms; file systems; and networking and distributed systems. Prerequisite: CS 2150 and CS 3330 with grades of C- or higher. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 4434 | Dependable Computing Systems (3.00) |
| Focuses on the techniques for designing and analyzing dependable computer-based systems. Topics include fault models and effects, fault avoidance techniques, hardware redundancy, error detecting and correcting codes, time redundancy, software redundancy, combinatorial reliability modeling, Markov reliability modeling, availability modeling, maintainability, safety modeling, trade-off analysis, design for testability, and the testing of redundant digital systems. Cross-listed as ECE 4434. Prerequisite: CE/CS 3330, APMA 3100, APMA 3110. Course was offered Spring 2012, Spring 2010 | |
| CS 4444 | Introduction to Parallel Computing (3.00) |
| Introduces the student to the basics of high-performance parallel computing and the national cyber-infrastructure. The course is targeted for both computer science students and students from other disciplines who want to learn how to significantly increase the performance of applications. Pre-Requisites: CS 2150 and CS/ECE 3330, both with grades of C- or higher | |
| CS 4457 | Computer Networks (3.00) |
| Offered Fall 2013 | Topics include the design of modern communication networks; point-to-point and broadcast network solutions; advanced issues such as Gigabit networks; ATM networks; and real-time communications. Cross-listed as ECE 4457. Prerequisite: Either CS or ECE 3330 with grades of C- or higher. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 4458 | Internet Engineering (3.00) |
| An advanced course on computer networks on the technologies and protocols of the Internet. Topics include the design principles of the Internet protocols, including TCP/IP, the Domain Name System, routing protocols, and network management protocols. A set of laboratory exercises covers aspects of traffic engineering in a wide-area network. Prerequisite: CS 4457 with a grade of C- or better. | |
| CS 4501 | Special Topics in Computer Science (1.00 - 3.00) |
| Offered Fall 2013 | Content varies annually, depending on instructor interests and the needs of the department. Similar to CS 5501 and CS 7501, but taught strictly at the undergraduate level. Prerequisite: Instructor permission; additional specific requirements vary with topics. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 4610 | Programming Languages (3.00) |
| Presents the fundamental concepts of programming language design and implementation. Emphasizes language paradigms and implementation issues. Develops working programs in languages representing different language paradigms. Many programs oriented toward language implementation issues. Prerequisite: CS 2150 with grade of C- or higher. Course was offered Spring 2012, Fall 2009 | |
| CS 4620 | Compilers (3.00) |
| Offered Fall 2013 | Provides an introduction to the field of compilers, which translate programs written in high-level languages to a form that can be executed. The course covers the theories and mechanisms of compilation tools. Students will learn the core ideas behind compilation and how to use software tools such as lex/flex, yacc/bison to build a compiler for a non-trivial programming language. Prerequisite: CS 3240 and 3330 with grades of C- or higher. |
| CS 4630 | Defense against the Dark Arts (3.00) |
| Offered Fall 2013 | Viruses, worms, and other malicious software are an ever-increasing threat to computer systems. There is an escalating battle between computer security specialists and the designers of malicious software. This course provides an essential understanding of the techniques used by both sides of the computer security battle. Prerequisite: CS 216 with a grade of C- or above. Course was offered Spring 2013, Summer 2012, Spring 2012, Summer 2011, Spring 2011, Summer 2010, Spring 2010, Fall 2009 |
| CS 4710 | Artificial Intelligence (3.00) |
| Introduces artificial intelligence. Covers fundamental concepts and techniques and surveys selected application areas. Core material includes state space search, logic, and resolution theorem proving. Application areas may include expert systems, natural language understanding, planning, machine learning, or machine perception. Provides exposure to AI implementation methods, emphasizing programming in Common LISP. Prerequisite: CS 2150 with grade of C- or higher. | |
| CS 4720 | Web and Mobile Systems (3.00) |
| Offered Fall 2013 | With advances in the Internet and World Wide Web technologies, research on the design, implementation and management of web-based information systems has become increasingly important. In this course, we will look at the systematic and disciplined creation of web-based software systems. Students will be expected to work in teams on projects involving mobile devices and web applications.
|
| CS 4730 | Computer Game Design (3.00) |
| This course will introduce students to the concepts and tools used in the development of modern 2-D and 3-D real-time interactive computer video games. Topics covered in this include graphics, parallel processing, human-computer interaction, networking, artificial intelligence, and software engineering.
Course was offered Fall 2011 | |
| CS 4750 | Database Systems (3.00) |
| Offered Fall 2013 | Introduces the fundamental concepts for design and development of database systems. Emphasizes relational data model and conceptual schema design using ER model, practical issues in commercial database systems, database design using functional dependencies, and other data models. Develops a working relational database for a realistic application. Prerequisite: CS 2150 with grades of C- or higher. |
| CS 4753 | Electronic Commerce Technologies (3.00) |
| Offered Fall 2013 | History of Internet and electronic commerce on the web; case studies of success and failure; cryptographic techniques for privacy, security, and authentication; digital money; transaction processing; wired and wireless access technologies; Java; streaming multimedia; XML; Bluetooth. Defining, protecting, growing, and raising capital for an e-business.
|
| CS 4810 | Introduction to Computer Graphics (3.00) |
| Introduces the fundamentals of three-dimensional computer graphics: rendering, modeling, and animation. Students learn how to represent three-dimensional objects (modeling) and the movement of those objects over time (animation). Students learn and implement the standard rendering pipeline, defined as the stages of turning a three-dimensional model into a shaded, lit, texture-mapped two-dimensional image. Prerequisites: CS 2150 with a grade of C- or higher. | |
| CS 4820 | Real Time Rendering (3.00) |
| Examines real-time rendering of high-quality interactive graphics. Studies the advances in graphics hardware and algorithms that are allowing applications such as video games, simulators, and virtual reality to become capable of near cinematic-quality visuals at real-time rates. Topics include non-photorealistic rendering, occlusion culling, level of detail, terrain rendering, shadow generation, image-based rendering, and physical simulation. Over several projects throughout the semester students work in small teams to develop a small 3-D game engine incorporating some state-of-the-art techniques. Prerequisite: Grade of C- or better in CS 4810 or equivalent working knowledge. | |
| CS 4840 | Computer Animation (3.00) |
| Introduces both fundamental and advanced computer animation techniques. Discusses such traditional animation topics as keyframing, procedural algorithms, camera control, and scene composition. Also introduces modern research techniques covering dynamic simulation, motion capture, and feedback control algorithms. These topics help prepare students for careers as technical directors in the computer animation industry and assist in the pursuit of research careers. Prerequisite: Grade of C- or better in CS 4810 or equivalent working knowledge | |
| CS 4970 | Capstone Practicum I (3.00) |
| Offered Fall 2013 | This course is one option in the CS Senior Thesis track. Under the Practicum track, students will take two 3-credit courses, CS 4970 and CS 4971. These courses would form a year-long group-based and project-based practicum class. There would be an actual customer, which could be either internal (the course instructor, other CS professors, etc.) or external (local companies, local non-profits, etc.). |
| CS 4971 | Capstone Practicum II (3.00) |
| This course is one option in the CS Senior Thesis track and is the continuation from CS 4970. Under the Practicum track, students will take two 3-credit courses, CS 4970 and CS 4971. These courses would form a year-long group-based and project-based practicum class. There would be an actual customer, which could be either internal (the course instructor, other CS professors, etc.) or external (local companies, local non-profits, etc.). | |
| CS 4980 | Capstone Research (1.00 - 3.00) |
| Offered Fall 2013 | This course is one option in the CS Senior Thesis track. Students will seek out a faculty member as an advisor, and do an independent project with said advisor. Instructors can give the 3 credits across multiple semesters, if desired. This course is designed for students who are doing research, and want to use that research for their senior thesis. Note that this track could also be an implementation project, including a group-based project. |
| CS 4993 | Independent Study (1.00 - 3.00) |
| Offered Fall 2013 | In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty. The study is often either a thorough analysis of an abstract computer science problem or the design, implementation, and analysis of a computer system (software or hardware). Prerequisite: Instructor permission. Course was offered Spring 2013, Fall 2012, Summer 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 4998 | Distinguished BA Majors Research (3.00) |
| Offered Fall 2013 | Required for Distinguished Majors completing the Bachelor of Arts degree in the College of Arts and Sciences. An introduction to computer science research and the writing of a Distinguished Majors thesis. Pre-Requisites: CS 2150 with a grade of C- or higher AND a CLAS student Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 5487 | Real-Time Systems (3.00) |
| This course presents the underlying theory, concepts, and practice for real-time systems, such as avionics, process control, space travel, mobile computing and ubiquitous computing. The goals of the course include: introducing the unique problems that arise when time constraints are imposed on systems, identifying basic theory and the boundary between what is known today and what is still research, stressing a systems integration viewpoint in the sense of showing how everything fits together rather than presenting a collection of isolated solutions, and addressing multiprocessing and distributed systems. This course also presents some of the basic results from what might be called the classical technology of real-time computing and presents these results in the context of new applications of this technology in ubiquitous/pervasive computer systems. Prerequisite: CS 3330 and CS 4414, knowledge of C or C++, or instructor permission. | |
| CS 5501 | Selected Topics in Computer Science (1.00 - 3.00) |
| Content varies annually, depending on students' needs and interests. Recent topics included the foundations of computation, artificial intelligence, database design, real-time systems, Internet engineering, and electronic design automation. Prerequisite: Instructor permission. | |
| CS 5787 | Security in Information Systems (3.00) |
| This course focuses on security as an aspect of a variety of software systems. We will consider software implementations of security related policies in the context of operating systems, networks, and data bases. Topics include: operating system protection mechanisms, intrusion detection systems, formal models of security, cryptography and associated security protocols, data base security, worms, viruses, network and distributed system security, and policies of privacy and confidentiality. Prerequisite: CS 3240 and either CS 4457 or CS 4414 or instructor permission. | |
| CS 6014 | Computation as a Research Tool (3.00) |
| This course is an introduction to programming for students who will be using computational methods for their research but are not computer science students. No previous programming experience is required. We use a multi-language/multi-domain approach. The first part of the course covers basic programming concepts for a given language. The last third of the course splits into domain specific tracks of interest to students. Course was offered Spring 2013, Spring 2012 | |
| CS 6160 | Theory of Computation (3.00) |
| Offered Fall 2013 | Analyzes formal languages, the Chomsky hierarchy, formal computation and machine models, finite automata, pushdown automata, Turing machines, Church's thesis, reductions, decidability and undecidability, and NP-completeness. Prerequisite: CS 3102 or equivalent. |
| CS 6161 | Design and Analysis of Algorithms (3.00) |
| Analyzes concepts in algorithm design, problem solving strategies, proof techniques, complexity analysis, upper and lower bounds, sorting and searching, graph algorithms, geometric algorithms, probabilistic algorithms, intractability and NP-completeness, transformations, and approximation algorithms. Prerequisite: CS 4102 or equivalent. | |
| CS 6190 | Computer Science Perspectives (1.00) |
| Offered Fall 2013 | This 'acclimation' seminar helps new graduate students become productive researchers. Faculty and visitors speak on a wide variety of research topics, as well as on tools available to researchers, including library resources, various operating systems, UNIX power tools, programming languages, software development and version control systems, debugging tools, user interface toolkits, word processors, publishing systems, HTML, JAVA, browsers, Web tools, and personal time management. Prerequisite: CS graduate student or instructor permission. Course was offered Spring 2013, Fall 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 6240 | Software Engineering (3.00) |
| Analyzes project management, software tools, requirements and specification methods; top-down, bottom-up, and data-flow design; structured programming, information hiding, programming language issues, and coding standards; software development environments, fault tolerance principles, and testing. Prerequisite: CS 3240 or equivalent. | |
| CS 6316 | Machine Learning (3.00) |
| A graduate-level course on machine learning techniques and applications. Topics include: Bayesian learning, evolutionary algorithms, instance-based learning, reinforcement learning, and neural networks. Students are required to have sufficient computational background to complete several substantive programming assignments. Course was offered Spring 2013 | |
| CS 6354 | Computer Architecture (3.00) |
| Study of representative digital computer organization with emphasis on control unit logic, input/output processors and devices, asynchronous processing, concurrency, and parallelism. Memory hierarchies. Prerequisite: CS 3330 or proficiency in assembly language programming. | |
| CS 6415 | Performance Analysis of Communication Networks (3.00) |
| Analyzes the topologies arising in communication networks; queuing theory; Markov Chains and ergodicity conditions; theory of regenerative processes; routing algorithms; multi-access and random-access transmission algorithms; mathematical methodologies for throughput and delay analyses and evaluations; performance evaluation; performance monitoring; local area networks (LANs); interactive LANs. Cross-listed as ECE 6415. Prerequisite: CE/ECE 4457, APMA 3100, or instructor permission. | |
| CS 6444 | Introduction to Parallel Computing (3.00) |
| Introduces the basics of parallel computing. Covers parallel computation models, systems, languages, compilers, architectures, and algorithms. Provides a solid foundation on which advanced seminars on different aspects of parallel computation can be based. Emphasizes the practical application of parallel systems. There are several programming assignments. Prerequisite: CS 3330, 4414, and 4610, or instructor permission. | |
| CS 6456 | Operating Systems (3.00) |
| Offered Fall 2013 | Covers advanced principles of operating systems. Technical topics include support for distributed OSs; microkernels and OS architectures; processes and threads; IPC; files servers; distributed shared memory; object-oriented OSs; reflection in OSs; real-time kernels; multiprocessing; multimedia and quality of service; mobile computing; and parallelism in I/O. Prerequisite: Undergraduate course in OS; CS 6354 or instructor permission. |
| CS 6501 | Special Topics in Computer Science (3.00) |
| Offered Fall 2013 | Course content varies by section and is selected to fill timely and special interests and needs of students. See CS 7501 for example topics. May be repeated for credit when topic varies. Prerequisite: Instructor permission. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 6610 | Programming Languages (3.00) |
| Examines modern and non-imperative languages, the theoretical techniques used to design and understand them, and the implementation techniques used to make them run. Topics include functional languages, object-oriented languages, language safety and classification of errors, type systems, formal semantics, abstraction mechanisms, memory management, and unusual control-flow mechanisms. Example languages include Standard ML, Modula-3, CLU, Scheme, Prolog, and Icon. Prerequisite: CS 4610 or equivalent. Course was offered Fall 2011 | |
| CS 6620 | Compilers (3.00) |
| Offered Fall 2013 | Study of the theory, design, and specification of translation systems. Translation systems are the tools used to translate a source language program to a form that can be executed. Using rigorous specification techniques to describe the inputs and outputs of the translators and applying classical translation theory, working implementations of various translators are designed, specified, and implemented. Prerequisite: CS 3330 or instructor permission. Course was offered Spring 2012, Spring 2010 |
| CS 6750 | Database Systems (3.00) |
| Studies new database systems, emphasizing database design and related system issues. Explores advanced topics such as object-oriented and real-time database systems, data warehousing, data mining, and workflow. Makes use of either commercial or research database systems for in-class projects. Prerequisite: CS 4750 or equivalent. Course was offered Spring 2012, Fall 2010 | |
| CS 6840 | Computer Graphics (3.00) |
| Analyzes display devices, line and circle generators; clippings and windowing; data structures; 2-D picture transformations; hidden line and surface algorithms; shading algorithms; free form surfaces; color graphics; 3-D picture transformation. Cross-listed as ECE 6435. Prerequisite: Knowledge of C/C++. | |
| CS 6993 | Independent Study (1.00 - 12.00) |
| Detailed study of graduate course material on an independent basis under the guidance of a faculty member. | |
| CS 7457 | Computer Networks (3.00) |
| Offered Fall 2013 | Introduction: switching methods, network services, layered protocol architectures, OSI reference model; Physical Layer: transmission media, modulation, encoding; Data Link Layer: framing, error detection and correction, ARQ protocols, data link layer protocols, multiplexing; Local Area Networks: multiple access protocols, local network topologies, CSMA/CD, token bus, token ring, FDDI, DQDB; Network Layer: packet switching, routing algorithms, traffic control, internetworking, network protocols; Transport Layer: transport services, connection management, transport protocols; Special topics such multimedia, ATM, and protocol design and verification. Prerequisite: CS 6456 or instructor permission. |
| CS 7501 | Selected Topics in Computer Science (3.00) |
| Content varies based on the interest and needs of students. Topics may include safety critical systems, parallel processing, information retrieval, data communications, computer networks, real-time computing, distributed multimedia systems, electronic commerce, and advanced combinatorics and graph theory.. May be repeated for credit when topic varies. Prerequisite: Instructor permission. | |
| CS 7620 | Advanced Compilers (3.00) |
| Study of advanced compilation techniques with a focus on code generation and optimization techniques, advanced execution environments, and compilation of emerging programming languages. Prerequisite: CS 6160 and 6610, or equivalent. | |
| CS 7993 | Independent Study (1.00 - 12.00) |
| Offered Fall 2013 | Detailed study of graduate course material on an independent basis under the guidance of a faculty member. Course was offered Spring 2013, Fall 2012, Summer 2012, Spring 2012, Fall 2011, Summer 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 7995 | Supervised Project Research (3.00) |
| Offered Fall 2013 | Formal record of student commitment to project research for the Master of Computer Science degree under the guidance of a faculty advisor. Course was offered Spring 2013, Fall 2012, Summer 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 8000 | Non-UVa Transfer/Test Credit Approved (1.00 - 48.00) |
| Non-UVa Transfer/Test Credit Approved | |
| CS 8000 | Non-UVa Transfer/Test Credit Approved (1.00 - 48.00) |
| Non-UVa Transfer/Test Credit Approved | |
| CS 8000 | Non-UVa Transfer/Test Credit Approved (1.00 - 48.00) |
| Non-UVa Transfer/Test Credit Approved | |
| CS 8501 | Special Topics in Computer Science (3.00) |
| Special Topics in Computer Science | |
| CS 8524 | Topics in Software Engineering (1.00 - 3.00) |
| Offered Fall 2013 | A special topics course in software engineering. Topics are determined by the individual instructor, but might include software reliability; engineering real-time systems; managing large software projects; resource estimation; validation and verification; or advanced programming environments. Prerequisite: CS 6240 or instructor permission. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010 |
| CS 8535 | Topics in Computer Architecture (3.00) |
| Studies selected advances in the architecture of computer systems. May include distribution processor systems, memory hierarchies, and secondary storage management schemes. Prerequisite: CS 6354 or instructor permission. Course was offered Spring 2011 | |
| CS 8561 | Topics in Programming Languages (3.00) |
| Studies selected advanced topics in design, definition, and implementation of programming languages. Typical recent topics: parallel language design; formal semantics of programs. May be repeated for credit when the topics vary. Prerequisite: CS 6610 or instructor permission. Course was offered Spring 2010 | |
| CS 8575 | Topics in Database Systems (3.00) |
| Analyzes the implementation of database systems, concurrent and distributed access, backup, and security; query languages and optimization of query access; multi-attribute dependencies and retrieval. Data warehousing and web-based data systems are explored. Prerequisite: CS 6750 or instructor permission | |
| CS 8897 | Graduate Teaching Instruction (1.00 - 12.00) |
| Offered Fall 2013 | For master's students who are teaching assistants. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Fall 2010, Spring 2010, Fall 2009 |
| CS 8999 | Thesis (1.00 - 12.00) |
| Offered Fall 2013 | Formal record of student commitment to thesis research for the Master of Science degree under the guidance of a faculty advisor. May be repeated as necessary. Course was offered Spring 2013, Fall 2012, Summer 2012, Spring 2012, Fall 2011, Summer 2011, Spring 2011, Fall 2010, Summer 2010, Spring 2010, Fall 2009 |
| CS 9897 | Graduate Teaching Instruction (1.00 - 12.00) |
| Offered Fall 2013 | For doctoral students who are teaching assistants. Course was offered Spring 2013, Fall 2012, Spring 2012, Fall 2011, Spring 2011, Spring 2010, Fall 2009 |
| CS 9999 | Dissertation (1.00 - 12.00) |
| Offered Fall 2013 | Formal record of student commitment to doctoral research under the guidance of a faculty advisor. May be repeated as necessary. Course was offered Spring 2013, Fall 2012, Summer 2012, Spring 2012, Fall 2011, Summer 2011, Spring 2011, Fall 2010, Summer 2010, Spring 2010, Fall 2009 |