Course Catalog - 2017-2018

     

COMP 007 - VISITING RESEARCH

Long Title: VISITING RESEARCH
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Research
Credit Hours: 0
Description: Research conducted by a visiting student scholars. Department Permission Required. Repeatable for Credit.
 

COMP 100 - INTRO COMPUTING & INFO SYS

Long Title: INTRODUCTION TO COMPUTING AND INFORMATION SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Distribution Group: Distribution Group III
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: An introduction to organizing, analyzing, and presenting information using databases and spreadsheets. No programming involved, and no computing background expected.
Course URL: http://www.clear.rice.edu/comp100/
 

COMP 110 - COMPUTATION IN SCI & ENGI

Long Title: COMPUTATION IN SCIENCE AND ENGINEERING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Distribution Group: Distribution Group III
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: The course introduces basic techniques for problem solving and visualization using computational environments such as Mathematica and MATLAB. Class will consist of a mixture of traditional lectures held in classrooms and self-paced modules covering topics in science and engineering that will be completed in Symonds II. No previous experience is required or expected. Cross-list: NSCI 230. Repeatable for Credit.
Course URL: http://www.owlnet.rice.edu/~comp110
 

COMP 130 - ELEMENTS OF ALGORITHMS & COMP

Long Title: ELEMENTS OF ALGORITHMS AND COMPUTATION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Distribution Group: Distribution Group III
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: An introduction to computation taught by solving real-world problems in architecture, statistics, linguistics, social networks, visual pattern recognition, and the simulation of complex systems in ecology. Technical topics include how to model computational artifacts operating in the world, how to design and implement algorithmic solutions in Python, and how to experimentally test and evaluate computational systems.
 

COMP 140 - COMPUTATIONAL THINKING

Long Title: COMPUTATIONAL THINKING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Distribution Group: Distribution Group III
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: An integrated introduction to computation taught by solving real-world problems in audio, video and text processing, physical robotics, control and simulation of complex systems in nature, and swarm intelligence. Technical topics include how to model computational artifacts operating in the world; how to design and implement algorithmic solutions in Python; and how to experimentally test and evaluate performance of computational systems. Open to Fall 2017 and Fall 2016 matrics.
Course URL: http://www.clear.rice.edu/comp140
 

COMP 160 - INTRO TO GAME PROG IN PYTHON

Long Title: INTRODUCTION TO GAME PROGRAMMING IN PYTHON
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Distribution Group: Distribution Group III
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
May not be enrolled in one of the following Class(es):
Senior
Junior
Description: This class covers the basics of Python Programming with a focus on building simple games in a web-based environment. The class includes an introduction to event-driven programming and trains the students in the specifics of a Python GUI system designed to support creating to support creating applications that run in a web browser. This course is limited to first-year students only. Continuing Students may register with an approved Special Registration Form. Recommended Prerequisite(s): Java Experience.
Course URL: http://www.clear.rice.edu/comp160/
 

COMP 162 - INTRO TO GAME CONTENT CREATION

Long Title: INTRODUCTION TO GAME CONTENT CREATION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Explore how modern game content is created, and how it interacts with the underlying technology. Beginning with an explanation of how games are developed and what role content plays in the process, the class will learn to use 3D Studio Max, Photoshop, and game-native scripting as they create working content for an established game project.
Course URL: http://www.owlnet.rice.edu/~comp162
 

COMP 180 - PRINCIPLES OF COMPUTING

Long Title: PRINCIPLES OF COMPUTING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Distribution Group: Distribution Group III
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 130 OR COMP 140 OR COMP 160
Description: This class is designed for non-majors interested in a broader understanding of Computer Science and focuses on intermediate-level programming in Python as well as the basics of discrete math. The class concludes with an introduction to the process of Algorithmic Thinking. Note that COMP 180 cannot be substituted for COMP 182 as a pre-requisite for upper level CS classes. Instructor Permission Required.
 

COMP 182 - ALGORITHMIC THINKING

Long Title: ALGORITHMIC THINKING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 130 OR COMP 140 OR COMP 160
Description: Algorithms are the engines of a great majority of systems, natural and artificial alike. This course introduces algorithmic thinking as a discipline for reasoning about systems, taming their complexities, and elucidating their properties. Algorithmic techniques, along with their correctness and efficiency, will be taught through reasoning about systems of interactions, such as markets, that are ubiquitous in our highly connected world.
 

COMP 200 - ELEMENTS OF COMPUTER SCIENCE

Long Title: ELEMENTS OF COMPUTER SCIENCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Distribution Group: Distribution Group III
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Broad introduction to major topics in computer science. Includes algorithms, mathematical models of computation, machine organization and design, programming languages, communication, and artificial intelligence. This course is intended for majors outside of Science and Engineering.
Course URL: http://www.clear.rice.edu/comp200/
 

COMP 215 - INTRODUCTION TO PROGRAM DESIGN

Long Title: INTRODUCTION TO PROGRAM DESIGN
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 182
Description: This course covers the principles of programming and program design. The course is organized around a number of individual programming assignments that fit together to complete a significant, real-world application. Each assignment emphasizes one or more of the basic principles of software design, including: encapsulation, abstraction, test-driven development, and functional and object-oriented programming. The Java programming language will be used. An introduction to the basics of the Java language itself (including Java syntax and semantics) will be provided.
 

COMP 281 - NUMBER HISTORY/GAMES OF CHANCE

Long Title: HISTORY OF NUMBERS AND GAMES OF CHANCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Starting with the colorful history of numbers, we discover their use to characterize chance or luck through probability; students will participate in one major project and submit a report-application areas include physics, computer science, sports, finance, etc. The course is accessible to sophomores and juniors in science, engineering or business. Cross-list: ELEC 281, STAT 281.
 

COMP 290 - COMPUTER SCIENCE PROJECTS

Long Title: COMPUTER SCIENCE PROJECTS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Research
Credit Hours: 1 TO 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Theoretical and experimental investigations under staff direction. Credit cannot be received for both COMP 290 and COMP 390. Instructor Permission Required.Equivalency: COMP 390. Mutually Exclusive: Cannot register for COMP 290 if student has credit for COMP 390. Repeatable for Credit.
 

COMP 300 - SOCIETY IN THE INFORMATION AGE

Long Title: SOCIETY IN THE INFORMATION AGE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Distribution Group: Distribution Group III
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: We will review the remarkable technology of the Information Age and examine its effects on the ways in which we live, work and think about the world around us. We will consider, for example, how the pervasive use of computers and networks is changing our ideas about property, privacy, authority, social relations, knowledge and identity. And we will discuss what further changes we might see as technology continues to advance.
 

COMP 310 - ADV OBJECT-ORIENTED PROG

Long Title: ADVANCED OBJECT - ORIENTED PROGRAMMING AND DESIGN
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 211 OR COMP 215
Description: Discover how state-of-the-art object-orient programming and design techniques can create globe-spanning software systems that are both flexible and scalable. Learn how software design patterns are used in multiple programming paradigms. Explore highly decoupled systems with dynamically configurable behaviors. Highly recommended for anyone interested in building large systems and software engineering. Mutually Exclusive: Cannot register for COMP 310 if student has credit for COMP 404/COMP 504.
Course URL: http://www.clear.rice.edu/comp310
 

COMP 311 - FUNCTIONAL PROGRAMMING

Long Title: FUNCTIONAL PROGRAMMING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 211 OR COMP 215
Description: An introduction to concepts, principles, and approaches of functional programming. Functional programming is a style of programming where the key means of computation is the application of functions to arguments (which themselves might be functions). This style of programming has become increasingly popular in recent years because it offers important advantages in designing, maintaining, and reasoning about programs in many modern contexts such as web services, multicore programming, and cluster computing. Course work consists of a series of programming assignments in the Scala programming language and various library extensions such as Apache Spark.
Course URL: http://wiki.rice.edu/confluence/display/PARPROG/COMP311
 

COMP 314 - APPL ALGORITHMS&DATA STRUCTURE

Long Title: APPLIED ALGORITHMS AND DATA STRUCTURES
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 211 AND COMP 280
Description: Design analysis of computer algorithms and data structures useful for applied problems. Laboratory assignments will use these techniques in conjunction with advanced programming methods. COMP 280 may be taken concurrenlty with COMP 314. Cross-list: ELEC 322.
 

COMP 316 - VIRTL RECONSTR HISTORCL CITIES

Long Title: VIRTUAL RECONSTRUCTION OF HISTORICAL CITIES
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Research
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: This course, part of the HRC’s Digital Humanities Initiative, is devoted to the virtual reconstruction of ancient urban landscapes with focus on individual buildings in their urban settings. All course activities will be based around interdisciplinary student teams who will work together through the semesters to complete a virtual reconstruction project. Instructor Permission Required.Cross-list: ANTH 346, ARCH 310, HART 316.
 

COMP 321 - INTRO TO COMPUTER SYSTEMS

Long Title: INTRODUCTION TO COMPUTER SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): ELEC 220 AND (COMP 211 OR COMP 215)
Description: This course introduces computer systems from the programmer's perspective. Topics include data representation, the compilation process, and system-level programming concepts such as interrupts and concurrency. Formerly COMP 221. Mutually Exclusive: Cannot register for COMP 321 if student has credit for COMP 221.
 

COMP 322 - FUNDAMENTALS OF PARALLEL PROG

Long Title: PRINCIPLES OF PARALLEL PROGRAMMING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 211 OR COMP 215
Description: Fundamentals of parallel programming: abstract models of parallel computers, parallel algorithms and data structures, and common parallel programming patterns including task parallelism, undirected and directed synchronization, data parallelism, divide-and-conquer parallelism, and map-reduce. Laboratory assignments will explore these topics through the use of parallel extensions to the Java language. Cross-list: ELEC 323.
 

COMP 326 - DIGITAL LOGIC DESIGN

Long Title: DIGITAL LOGIC DESIGN
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): ELEC 220
Description: Study of gates, flip-flops, combinational and sequential switching circuits, registers, logical and arithmetic operations, introduction to the Verilog hardware description language. Cross-list: ELEC 326.
 

COMP 327 - INTRO TO COMPUTER SECURITY

Long Title: INTRODUCTION TO COMPUTER SECURITY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310 OR COMP 314 OR ELEC 322
Description: This elective course covers a wide variety of topics in computer security, including hands-on experience with breaking software and engineering software to be harder to break. For example, students will perform buffer overflow attacks and exploit web application vulnerabilities, while also learning how to defend against them. Grades will be based on a series of in-class projects. Graduate/Undergraduate Equivalency: COMP 427, COMP 541. Mutually Exclusive: Cannot register for COMP 327 if student has credit for COMP 427/COMP 541.
 

COMP 330 - TOOLS & MODELS - DATA SCIENCE

Long Title: TOOLS AND MODELS FOR DATA SCIENCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (MATH 211 OR MATH 221) AND COMP 215
Description: This course is an introduction to modern data science. Data science is the study of how to extract actionable, non-trivial knowledge from data. The proposed course will focus both on the software tools used by practitioners of modern data science, as well as the mathematical and statistical models that are employed in conjunction with such software tools. On the tools side, we will cover the basics of relational database systems, as well as modern systems for distributed computing based on MapReduce. On the models side, the course will cover standard supervised and unsupervised models for data analysis and pattern discovery. Graduate/Undergraduate Equivalency: COMP 543. Mutually Exclusive: Cannot register for COMP 330 if student has credit for COMP 543.
 

COMP 360 - COMPUTER GRAPHICS

Long Title: COMPUTER GRAPHICS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 221 OR COMP 321) AND (COMP 182 OR COMP 280) AND (MATH 211 OR MATH 212 OR MATH 221 OR MATH 222) AND (MATH 354 OR MATH 355)
Description: 2D graphics techniques including fast line and curve drawing and polygon filling. 3D graphics problems including representation of solids, shading, and hidden surface elimination. Fractals, graphics standards. Graduate/Undergraduate Equivalency: COMP 560. Mutually Exclusive: Cannot register for COMP 360 if student has credit for COMP 560.
Course URL: http://www.owlnet.rice.edu/~comp360/
 

COMP 361 - GEOMETRIC MODELING

Long Title: GEOMETRIC MODELING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): MATH 101 AND MATH 102 AND COMP 182 AND COMP 215
Description: Exploration of curves and surfaces (e.g. parametric form, implicit form, and conversion between forms), the representation of solid (e.g., wireframes, octrees, boundary representations, and constructive solid geometry), and applications (e.g., graphics, motion planning, simulation, and finite element mesh generation. Graduate/Undergraduate Equivalency: COMP 561. Repeatable for Credit.
 

COMP 370 - EVOLUTIONARY BIOINFORMATICS

Long Title: EVOLUTIONARY BIOINFORMATICS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Large accessible data sets have opened new frontiers in evolutionary biology, and many fields. Learn to write computer programs to test hypotheses and discover patterns in diverse data. Understand the most common strategies in evolutionary bioinformatics, including dynamic programming, hidden Markov models, and graphical algorithms. No previous programming experience required. Cross-list: EBIO 333. Recommended Prerequisite(s): MATH 101 and MATH 102.
 

COMP 382 - REASONING ABOUT ALGORITHMS

Long Title: REASONING ABOUT ALGORITHMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 182
Description: Writing algorithms is fun, but how are you sure that the algorithm you wrote is flawless? Are there computing tasks for which it is impossible to produce an efficient algorithm, or, for that matter, any algorithm? To answer these questions, you have to learn to perform mathematical reasoning about algorithmic problems and solutions COMP 382 is an introduction to such reasoning techniques. Topics covered would include elementary logic, analysis of the correctness and efficiency of algorithms, and formal computational models like finite automata and Turning machines. On the way, you are also going to learn some new algorithm design techniques.
 

COMP 390 - COMPUTER SCIENCE PROJECTS

Long Title: COMPUTER SCIENCE PROJECTS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Research
Credit Hours: 1 TO 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Theoretical and experimental investigations under staff direction. Credit cannot be received for both COMP 290 and COMP 390. Instructor Permission Required.Equivalency: COMP 290. Mutually Exclusive: Cannot register for COMP 390 if student has credit for COMP 290. Repeatable for Credit.
 

COMP 402 - PRODUCTION PROGRAMMING

Long Title: PRODUCTION PROGRAMMING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310 OR COMP 411 OR COMP 510 OR COMP 511
Description: This course focuses on the principles and practices of test-driven software development, which have been popularized under the banner of "Extreme Programming." To provide students with practical experience, the course engages students in the development of open source production programs written in JAVA or C#. The DRJAVA programming courses was developed by students in this course. Some of the major topics covered in course lectures include design patterns for controlling concurrency and refactoring transformations to improve legacy code. Graduate/Undergraduate Equivalency: COMP 501. Mutually Exclusive: Cannot register for COMP 402 if student has credit for COMP 501.
 

COMP 403 - REASONING ABOUT SOFTWARE

Long Title: REASONING AND SOFTWARE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 382 AND COMP 215) OR COMP 482 OR COMP 409 OR COMP 509
Description: Our reliance on software of all forms is increasing by the day. As a result, it is more important than ever to ensure that programs function correctly and cannot be exploited by hostile adversaries. The field of formal methods takes on this challenge, developing algorithms and programming methodologies that can be used to formally reason about what happens when software executes on arbitrary inputs, often without actually executing the program. Such reasoning can be used, for example, to identify subtle bugs and vulnerabilities in programs, or to give mathematical proofs of program correctness. This is a hands-on introduction to the field of formal methods. In this class, you will learn the theoretical foundations of these systems; you will also implement a series of systems that can be used to reason about the correctness of C programs. Graduate/Undergraduate Equivalency: COMP 503. Mutually Exclusive: Cannot register for COMP 403 if student has credit for COMP 503.
 

COMP 405 - ADV TOP OBJECT/ORIENTED DESIGN

Long Title: ADVANCED TOPICS IN OBJECT-ORIENTED DESIGN
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310
Description: A topics-driven exploration of cutting-edge object oriented design issues and concepts including mutable recursive data frameworks, design patterns for sorting, parsing and games, service-oriented architectures and cloud computing. Detailed knowledge and practice in abstract structure and behavioral representations, delegation model programming, design patterns and Java are required. Graduate/Undergraduate Equivalency: COMP 505. Mutually Exclusive: Cannot register for COMP 405 if student has credit for COMP 505.
 

COMP 409 - ADV LOGIC IN COMPUTER SCIENCE

Long Title: ADVANCED LOGIC IN COMPUTER SCIENCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 211 OR COMP 215) AND (COMP 182 OR COMP 280)
Description: Set theoretical concepts. Propositional and first-order logic. Soundness and completeness, incompleteness, undecidability. Logical issues in computer science. Graduate/Undergraduate Equivalency: COMP 509. Mutually Exclusive: Cannot register for COMP 409 if student has credit for COMP 509.
Course URL: http://www.cs.rice.edu/~vardi/comp409/
 

COMP 410 - SOFTWARE ENGINEER METHODOLOGY

Long Title: SOFTWARE ENGINEERING METHODOLOGY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310 OR COMP 314
Description: COMP 410 is a pure discovery-based learning course designed to give students real-life, hands-on training in a wide variety of software engineering issues that arise in creating large-scale, state-of-the-art software systems. The class forms a small software development "company" that works to deliver a product to a customer. The topics encountered include and are not limited to, dealing with new technologies (e.g. C#, .NET, distributed computing), advanced object-oriented programming and design, interacting with customers, problem specification and tasking, individual and group communications, human resource management, group leadership, testing, integration and documentation. Traditional development cycle methodologies will be compared to recent, "agile" techniques. Graduate/Undergraduate Equivalency: COMP 539. Mutually Exclusive: Cannot register for COMP 410 if student has credit for COMP 539.
Course URL: http://www.bandgap.cs.rice.edu/classes/comp410
 

COMP 411 - PRINCIPLES OF PROG LANGUAGES

Long Title: PRINCIPLES OF PROGRAMMING LANGUAGES
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 211 OR COMP 310
Description: The design, definition and abstract implementation of programming languages including methods for precisely specifying syntax and semantics. Graduate/Undergraduate Equivalency: COMP 511. Mutually Exclusive: Cannot register for COMP 411 if student has credit for COMP 511.
 

COMP 412 - COMPILER CONSTRUCTION - UG

Long Title: COMPILER CONSTRUCTION FOR UNDERGRADUATE STUDENTS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 314 OR ELEC 322 OR COMP 310 OR COMP 215) AND (COMP 221 OR COMP 321)
Description: Topics in the design of programming language translators, including parsing, run-time storage management, error recovery, code generation and optimization. Graduate/Undergraduate Equivalency: COMP 506. Recommended Prerequisite(s): COMP 412 or COMP 506. Mutually Exclusive: Cannot register for COMP 412 if student has credit for COMP 506.
Course URL: http://www.clear.rice.edu/comp412
 

COMP 413 - DISTRIB PROGRAM CONSTRUCTION

Long Title: DISTRIBUTED PROGRAM CONSTRUCTION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310
Description: This course focuses on modern principles for the construction of distributed programs, with an emphasis on design patterns, modern programming tools, and distributed object systems. The material will be applied in a substantial software design/construction project.
 

COMP 415 - REAL-WORLD SOFTWARE DEVELOPMNT

Long Title: REAL-WORLD SOFTWARE DEVELOPMENT
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 410
Description: Experience real customers, software, and situations. The class will be contracted by an industrial customer to design build, and deliver a product. Negotiate to finalize specifications, updates, and delivery schedules Encounter real-life issues such as team management, intellectual property, and vagueness and specification changes while developing a state-of-the-art software application.
 

COMP 420 - INTRO TO DISTRIBUTED COMP SYS

Long Title: INTRODUCTION TO DISTRIBUTED COMPUTER SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 421
Description: Introduction to distributed computer systems. The course covers concepts, architecture, algorithms, protocols, and implementation, focusing on distribution, scale, robustness in the face of failure, and security. Graduate/Undergraduate Equivalency: COMP 532. Mutually Exclusive: Cannot register for COMP 420 if student has credit for COMP 532.
Course URL: http://www.clear.rice.edu/comp420
 

COMP 421 - OP SYS/CONCURRENT PROGRAMMING

Long Title: OPERATING SYSTEMS AND CONCURRENT PROGRAMMING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 215 AND (COMP 221 OR COMP 321)
Description: Introduction to the design, construction, and analysis of concurrent programs with an emphasis on operating systems, including filing systems, schedulers, and memory allocators. Specific attention is devoted to process synchronization and communication within concurrent programs. Cross-list: ELEC 421, Graduate/Undergraduate Equivalency: COMP 521. Mutually Exclusive: Cannot register for COMP 421 if student has credit for COMP 521.
Course URL: http://www.clear.rice.edu/comp421/
 

COMP 422 - PARALLEL COMPUTING

Long Title: PARALLEL COMPUTING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 211 AND (COMP 221 OR COMP 321)
Description: COMP 422 is an undergraduate version of this course. COMP 422 students will have four programming assignments. COMP 534 students will have five. As part of their assignments, both COMP 422 and COMP 534 students will analyze the scalability and parallel efficiency of parallel programs they write. COMP 534 students will additionally use tools to qualify the root causes of scaling losses in their programs and document their findings. Graduate/Undergraduate Equivalency: COMP 534. Mutually Exclusive: Cannot register for COMP 422 if student has credit for COMP 534.
Course URL: http://www.owlnet.rice.edu/~comp422/
 

COMP 424 - MOBILE & EMBEDDED SYSTEM

Long Title: MOBILE AND EMBEDDED SYSTEM DESIGN AND APPLICATION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): ELEC 220
Description: ELEC 424 introduces mobile and embedded system design and applications to undergraduate students and provides them hands-on design experience. It consists of three interlearning parts: lectures, student project, and student presentations. Cross-list: ELEC 424.
Course URL: http://www.ruf.rice.edu/~mobile/elec424/
 

COMP 425 - COMPUTER SYSTEMS ARCHITECTURE

Long Title: COMPUTER SYSTEMS ARCHITECTURE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): ELEC 326 OR COMP 326
Description: Evolution of key architecture concepts found in advanced uniprocessor systems. Fundamental and advanced pipelining techniques and associated issues for improving processor performance. Illustrated with RISC processors such as the ARM processor. Examine several metrics for processor performance, such as Amdahl’s law. Key concepts of data and program memory systems found in modern systems with memory hierarchies and cashes. Perform experiments in cache performance analysis. Influence of technology trends, such as Moore’s law, on processor implementation Approaches for exploiting instruction level parallelism, such as VLIW. Introduction to parallel and multicore architectures. Introduction to processor architectures targeted for imbedded applications. Cross-list: ELEC 425, Graduate/Undergraduate Equivalency: COMP 554. Mutually Exclusive: Cannot register for COMP 425 if student has credit for COMP 554.
 

COMP 427 - INTRO TO COMPUTER SECURITY

Long Title: INTRODUCTION TO COMPUTER SECURITY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310 AND COMP 321
Description: This elective course covers a wide variety of topics in computer security, including hands-on experience w/breaking software & engineering software to be harder to break. For example, students will perform buffer overflow attacks & exploit web application vulnerabilities, while also learning how to defend against them. Graduate/Undergraduate Equivalency: COMP 327, COMP 541. Mutually Exclusive: Cannot register for COMP 427 if student has credit for COMP 327/COMP 541.
 

COMP 429 - INTRO TO COMPUTER NETWORKS

Long Title: INTRODUCTION TO COMPUTER NETWORKS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 221 OR COMP 321
Description: Network architectures, algorithms, and protocols. Local- and Wide-area networking. Intra- and inter-domain routing. Transmission reliability. Flow and congestion control. TCP/IP. Multicast. Quality of Service. Network Security - Networked applications. Cross-list: ELEC 429, Graduate/Undergraduate Equivalency: COMP 556. Mutually Exclusive: Cannot register for COMP 429 if student has credit for COMP 556.
Course URL: http://www.clear.rice.edu/comp429/
 

COMP 430 - INTRO TO DATABASE SYSTEMS

Long Title: INTRODUCTION TO DATABASE SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 211 OR COMP 215) AND (COMP 182 OR COMP 280)
Description: Introduction to relational and other database systems, SQL programming, Database application programming, and Database design. Graduate/Undergraduate Equivalency: COMP 533. Mutually Exclusive: Cannot register for COMP 430 if student has credit for COMP 533.
 

COMP 431 - WEB DEVELOPMENT

Long Title: WEB DEVELOPMENT
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: In this project-based course, students create multi-user Web applications involving all aspects of application development from front-end and back-end programming to interfacing client-server communications technologies. Class time includes discussions of topics in Web development, structural frameworks, test driven development, and time for students to develop their Web applications. Graduate/Undergraduate Equivalency: COMP 531. Recommended Prerequisite(s): COMP 310 or COMP 321 Mutually Exclusive: Cannot register for COMP 431 if student has credit for COMP 531.
 

COMP 435 - ELECTION SYSTEMS

Long Title: ELECTION SYSTEMS, TECHNOLOGIES, AND ADMINISTRATION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Distribution Group: Distribution Group III
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: This multidisciplinary course will consider how elections are conducted to enhance participation, to accurately measure the will of the electorate, and to be sufficiently rigorous to convince all parties that the results are legitimate. This course will consider the design and evaluation of election technologies, ranging from voter registration through the polling booth and vote tabulation. This course will consider three questions: how do individual voters interact with the voting technology, how are voting technologies engineered to be accurate and secure, and how do the social aspects of voting fulfill democratic goals for elections? A central requirement for this course will be group research projects, many operating in our community, built around the November election. Cross-list: POLI 420, PSYC 420.
 

COMP 440 - ARTIFICIAL INTELLIGENCE

Long Title: ARTIFICIAL INTELLIGENCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310 AND (STAT 310 OR ECON 307 OR ECON 382 OR STAT 312 OR STAT 331 OR ELEC 331 OR ELEC 303) AND (MATH 354 OR MATH 355 OR CAAM 335)
Description: This is a foundational course in artificial intelligence, the discipline of designing intelligent agents. The course will cover the design and analysis of agents that do the right thing in the face of limited information and computational resources. The course revolves around two main questions: how agents decide what to do, and how they learn from experience. Tools from computer science, probability theory, and game theory will be used. Interesting examples of intelligent agents will be covered, including poker playing programs, bots for various games (e.g. WoW), DS1 -- the spacecraft that performed an autonomous flyby of Comet Borrely in 2001, Stanley -- the Stanford robot car that won the Darpa Grand Challenge, Google Maps and how it calculates driving directions, face and handwriting recognizers, Fedex package delivery planners, airline fare prediction sites, and fraud detectors in financial transactions. Cross-list: ELEC 440, Graduate/Undergraduate Equivalency: COMP 557. Mutually Exclusive: Cannot register for COMP 440 if student has credit for COMP 557.
Course URL: http://www.owlnet.rice.edu/~comp440
 

COMP 441 - LARGE-SCALE MACHINE LEARNING

Long Title: LARGE-SCALE MACHINE LEARNING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 440 OR ELEC 440
Description: Learning from large dataset is becoming a ubiquitous phenomena in all applications spanning robotics, medical decisions, internet, communication, biology, etc. Designed to give senior UG students a thorough grounding in the theory and algorithms needed for research and practical applications in machine learning for modern massive datasets. Topics draw from machine learning, classical statistics, algorithms and information theory. Graduate/Undergraduate Equivalency: COMP 542. Mutually Exclusive: Cannot register for COMP 441 if student has credit for COMP 542.
 

COMP 446 - MOBILE DEVICE APPLICATIONS

Long Title: MOBILE DEVICE APPLICATIONS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Connected mobile devices require updated programming models and design concepts to take advantage of their capabilities. We will explore applications primarily on the Apple iPhone and iPad but will also cover smart watches, Google Android and intelligent voice assistants like Amazon Echo and Google Home. We will briefly touch on the development of web services to support mobile applications. The course culminates with a large project taking up most of the second half of the semester. Although the curriculum centers around and teaches iOS and Xcode, final projects may be completed in any major mobile system including Android and Alexa, etc. Cross-list: ELEC 446. Recommended Prerequisite(s): COMP 310 or prior Object Oriented Programming experience highly recommended.
 

COMP 447 - INTRO TO COMPUTER VISION

Long Title: INTRODUCTION TO COMPUTER VISION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): ELEC 301 OR ELEC 475 OR COMP 314 OR ELEC 322 OR COMP 330
Description: An introduction to the basic concepts, algorithms and applications in computer vision. Topics include: cameras, camera models and imaging pipeline, low-level vision/image processing methods such as filtering and edge detection; mid-level vision topics such as segmentation and clustering; shape reconstruction from stereo, introduction to high-level vision tasks such as object recognition and face recognition. The course will involve programming and implementing basic computer vision algorithms in Matlab. Cross-list: ELEC 447, Graduate/Undergraduate Equivalency: COMP 546. Mutually Exclusive: Cannot register for COMP 447 if student has credit for COMP 345/COMP 546.
 

COMP 450 - ALGORITHMIC ROBOTICS

Long Title: ALGORITHMIC ROBOTICS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 221 OR COMP 321) AND COMP 215
Description: Robots have fascinated people for generations. Today, robots are built for applications as diverse as exploring remote planets, de-mining war zones, cleaning toxic waste, assembling cars, inspecting pipes in industrial plants and mowing lawns. Robots are also interacting with humans in a variety of ways: robots are museum guides, robots assist surgeon sin life threatening operations, and robotic cars can drive us around. The field of robotics studies not only the design of new mechanisms but also the development of artificial intelligence frameworks to make these mechanism useful in the physical world, integrating computer science, engineering, mathematics and more recently biology and sociology, in a unique way. This class will present fundamental algorithmic advances that enable today’s robots to move in real environments and plan their actions. It will also explore fundamentals of the field of Artificial Intelligence through the prism of robotics. The class involves a significant programming project. Cross-list: ELEC 450, MECH 450, Graduate/Undergraduate Equivalency: COMP 550. Mutually Exclusive: Cannot register for COMP 450 if student has credit for COMP 550.
 

COMP 451 - DESIGN&ANALYSIS CYBER/PHYSICAL

Long Title: DESIGN AND ANALYSIS OF CYBER-PHYSICAL SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: This course is an introduction to cyber-physical systems, engineering artifacts in which computational components interact with and typically control physical components. Some common examples of cyber-physical systems include robots, Segways and lane-departure warning, LDW, systems in automobiles. Graduate/Undergraduate Equivalency: COMP 555. Mutually Exclusive: Cannot register for COMP 451 if student has credit for COMP 555.
 

COMP 460 - ADV COMPUTER GRAPHICS

Long Title: ADVANCED COMPUTER GAME CREATION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: This project-based class involves teams of 2-4 CS and Visual Arts students designing and building computer games suitable for Xbox Live Arcade using C# and XNA. For CS students, Comp 160 or Comp 360 is recommended as a prerequisite. For Visual Arts students, previous experience in drawing using Photoshop is suggested. Instructor Permission Required.Cross-list: ARTS 460. Repeatable for Credit.
Course URL: http://www.owlnet.rice.edu/~comp460
 

COMP 470 - FROM SEQUENCE TO STRUCTURE

Long Title: FROM SEQUENCE TO STRUCTURE: AN INTRODUCTION TO COMPUTATIONAL BIOLOGY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Contemporary introduction to problems in computational biology spanning sequence to structure. The course has three modules: the first introduces students to the design and statistical analysis of gene expression studies; the second covers statistical machine learning techniques for understanding experimental data generated in computational biology; and the third introduces problems in the modeling of protein structure using computational methods from robotics. The course is project oriented with an emphasis on computation and problem-solving. Cross-list: BIOE 470, STAT 470. Recommended Prerequisite(s): COMP 280 and (STAT 310 or STAT 331).
 

COMP 477 - SPECIAL TOPICS

Long Title: SPECIAL TOPICS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Internship/Practicum, Laboratory, Lecture, Seminar
Credit Hours: 1 TO 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Topics/requirements/credit hours may vary each semester. Contact Department for curent semester's topic(s). Repeatable for Credit.
 

COMP 481 - AUTOMATA/FORMAL LANG/COMPUTING

Long Title: AUTOMATA, FORMAL LANGUAGES, AND COMPUTABILITY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Finite automata, regular expressions, regular languages, pushdown automata, context-free languages, Turing machines, recursive languages, computability, and solvability. It is strongly recommended that students complete three semesters of Mathematics before enrolling in this course. Graduate/Undergraduate Equivalency: COMP 581. Mutually Exclusive: Cannot register for COMP 481 if student has credit for COMP 581.
 

COMP 485 - FUND MEDICAL IMAGING I

Long Title: FUNDAMENTALS OF MEDICAL IMAGING I
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: This course will introduce basic principles of image acquisition, formation and processing of several medical imaging modalities such as X-Ray, CT, MRI, and US that are used to evaluate the human anatomy. The course also includes visits to a clinical site to gain experience with the various imaging modalities covered in class. Cross-list: BIOE 485, ELEC 485. Recommended Prerequisite(s): MATH 211 and MATH 212.
 

COMP 486 - FUND MEDICAL IMAGING II

Long Title: FUNDAMENTALS OF MEDICAL IMAGING II
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): ELEC 485 OR BIOE 485 OR COMP 485
Description: This course focuses on functional imaging modalities used specifically in nuclear medicine such as Gamma cameras, SPECT, and PET imaging. The course will introduce the basic principles of image acquisition, formation, processing and the clinical applications of these imaging modalities and lays the foundations for understanding the principles of radiotracer kinetic modeling. A trip to a clinical site in also planned to gain experience with nuclear medicine imaging. Cross-list: BIOE 486, ELEC 486.
 

COMP 487 - COMPUTATIONAL COMPLEXITY

Long Title: COMPUTATIONAL COMPLEXITY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 382 OR COMP 409 OR COMP 509 OR COMP 481 OR COMP 581
Description: In Computational Complexity we study the computational resources (time, space, communication, etc.) that are required to solve computational problems via various computational needs. Specifically, we are interested in classifying computational problems with classes of other problems that require similar amount of resources to solve. Graduate/Undergraduate Equivalency: COMP 587. Mutually Exclusive: Cannot register for COMP 487 if student has credit for COMP 587.
 

COMP 490 - COMPUTER SCIENCE PROJECTS

Long Title: COMPUTER SCIENCE PROJECTS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Research
Credit Hours: 1 TO 4
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: Theoretical and experimental investigation under staff direction. Instructor Permission Required. Repeatable for Credit.
 

COMP 491 - COMPUTER SCIENCE TEACHING

Long Title: COMPUTER SCIENCE TEACHING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Independent Study
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Description: A combination of in-service teaching and a seminar. Department Permission Required. Repeatable for Credit.
 

COMP 496 - RTG CROSS-TRAINING IN DATA SCI

Long Title: RTG CROSS-TRAINING IN DATA SCIENCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Must be enrolled in one of the following Major(s):
Statistics
Computer Science
Description: A seminar course to introduce students to topics in Data Science at the interface between Statistics and Computer Science. Students participate in the process of preparing, delivering and critiquing talks. Topics change each semester. Instructor Permission Required.Cross-list: STAT 496, Graduate/Undergraduate Equivalency: COMP 696. Mutually Exclusive: Cannot register for COMP 496 if student has credit for COMP 696. Repeatable for Credit.
 

COMP 498 - INTRODUCTION TO ROBOTICS

Long Title: INTRODUCTION TO ROBOTICS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 3
Restrictions:
May not be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): MATH 354 OR MATH 355 OR CAAM 335
Description: Introduction to the kinematics, dynamics, and control of robot manipulators and to applications of artificial intelligence and computer vision in robotics. Cross-list: ELEC 498, MECH 498, Graduate/Undergraduate Equivalency: COMP 598. Mutually Exclusive: Cannot register for COMP 498 if student has credit for COMP 598.
 

COMP 501 - PRODUCTION PROGRAMMING

Long Title: PRODUCTION PROGRAMMING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310 OR COMP 411 OR COMP 510 OR COMP 511
Description: This course focuses on the principles and practices of test-driven software development, which have been popularized under the banner of "Extreme Programming." To provide students with practical experience, the course engages students in the development of open source production programs written in JAVA or C#. The DRJAVA programming courses was developed by students in this course. Some of the major topics covered in course lectures include design patterns for controlling concurrency and refactoring transformations to improve legacy code. Graduate/Undergraduate Equivalency: COMP 402. Mutually Exclusive: Cannot register for COMP 501 if student has credit for COMP 402.
 

COMP 502 - NEURAL MACHINE LEARNING I

Long Title: NEURAL MACHINE LEARNING I
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Review of major neural machine learning (Artificial Neural Network) paradigms. Analytical discussion of supervised and unsupervised neural learning algorithms and their relation to information theoretical methods. Practical applications to data analysis such as pattern recognition, clustering, classification, function approximation/regression, non-linear PCA, projection pursuit, independent component analysis, with lots of examples from image and digital processings. Details are posted at www.ece.rice.edu/~erzsebet/ANNcourse.html. Cross-list: ELEC 502, STAT 502. Recommended Prerequisite(s): ELEC 430 and ELEC 431 or equivalent or permission of instructor.
Course URL: http://www.ece.rice.edu/~erzsebet/ANNcourse.html
 

COMP 503 - REASONING ABOUT SOFTWARE

Long Title: REASONING AND SOFTWARE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 382 AND COMP 215) OR COMP 482 OR COMP 409 OR COMP 509
Description: Our reliance on software of all forms is increasing by the day. As a result, it is more important than ever to ensure that programs function correctly and cannot be exploited by hostile adversaries. The field of formal methods takes on this challenge, developing algorithms and programming methodologies that can be used to formally reason about what happens when software executes on arbitrary inputs, often without actually executing the program. Such reasoning can be used, for example, to identify subtle bugs and vulnerabilities in programs, or to give mathematical proofs of program correctness. This is a hands-on introduction to the field of formal methods. In this class, you will learn the theoretical foundations of these systems; you will also implement a series of systems that can be used to reason about the correctness of C programs. Graduate/Undergraduate Equivalency: COMP 403. Mutually Exclusive: Cannot register for COMP 503 if student has credit for COMP 403.
 

COMP 504 - GR OBJ-ORIENTED PROG & DESIGN

Long Title: GRADUATE OBJECT-ORIENTED PROGRAMMING AND DESIGN
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Discover how stat-of-the-art object-orient programming and design techniques can create globe-spanning software systems that are both flexible and scalable. Learn how software design patterns are used in multiple programming paradigms. Explore highly decoupled systems with dynamically configurable behaviors. Highly recommended for anyone interested in building large systems and software engineering. Basic proficiency in Java is required. Students may not receive credit for both COMP 310/510 and COMP 404/504. Mutually Exclusive: Cannot register for COMP 504 if student has credit for COMP 310/COMP 404/COMP 510.
 

COMP 505 - ADV TOP OBJECT/ORIENTED DESIGN

Long Title: ADVANCED TOPICS IN OBJECT-ORIENTED DESIGN
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 404 OR COMP 504 OR COMP 310
Description: A topics-driven exploration of cutting-edge object oriented design issues and concepts including mutable recursive data frameworks, design patterns for sorting, parsing and games, service-oriented architectures and cloud computing. Detailed knowledge and practice in abstract structure and behavioral representations, delegation model programming, design patterns and Java are required. Graduate/Undergraduate Equivalency: COMP 405. Mutually Exclusive: Cannot register for COMP 505 if student has credit for COMP 405.
 

COMP 506 - COMPILER CONSTRUCTION - GR

Long Title: COMPILER CONSTRUCTION FOR GRADUATE STUDENTS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Topics in the design of programming language translators, including parsing, run-time storage management, error recovery, code generation and optimization. Graduate/Undergraduate Equivalency: COMP 412. Mutually Exclusive: Cannot register for COMP 506 if student has credit for COMP 412.
 

COMP 507 - COMPUTER-AIDED PROGRAM DESIGN

Long Title: COMPUTER-AIDED PROGRAM DESIGN
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 482 OR ELEC 420) OR COMP 481
Description: This course is a graduate-level introduction to computer-aided program design, a field that studies logical and algorithmic techniques for formally verifying programs, and mechanized derivation of programs that are correct by construction. Topics covered will include classical automated program verification in particular abstract interpretation and model checking - as well as recent developments in algorithmic program synthesis.
 

COMP 508 - SECURE EMBEDDED SYS FOR IoT

Long Title: DESIGN AND ANALYSIS OF SECURE EMBEDDED SYSTEMS FOR IoT ERA
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: The course emphasizes the security of small embedded devices that are central to the Internet of Things (IoT) Era. We discuss the practical security attacks, challenges, constraints, and opportunities that arise in the IoT domain. Covered topics include security engineering, real world attacks, practical and side channel attacks, and hands-on lab/projects. Cross-list: ELEC 511. Repeatable for Credit.
 

COMP 509 - ADV LOGIC IN COMPUTER SCIENCE

Long Title: ADVANCED LOGIC IN COMPUTER SCIENCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Set theoretical concepts. Propositional and first-order logic. Soundness and completeness, incompleteness, undecidability. Logical issues in computer science. A final project is required. Graduate/Undergraduate Equivalency: COMP 409. Mutually Exclusive: Cannot register for COMP 509 if student has credit for COMP 409.
 

COMP 511 - PRINCIPLES OF PROG LANGUAGES

Long Title: PRINCIPLES OF PROGRAMMING LANGUAGES
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 211 OR COMP 310
Description: The design, definition and abstract implementation of programming languages including methods for precisely specifying syntax and semantics. Graduate/Undergraduate Equivalency: COMP 411. Mutually Exclusive: Cannot register for COMP 511 if student has credit for COMP 411.
 

COMP 512 - ADVANCED COMPILER CONSTRUCTION

Long Title: ADVANCED COMPILER CONSTRUCTION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Advanced topics in the design of an optimizing compiler. This course will focus on analysis and optimization of programs for uniprocessor machines, including program analysis (data-flow analysis, construction of static single-assignment form) and program transformation (redundancies, constant values, strength reduction, etc.). The course uses a variety of readings from the literature and includes an implementation project. Recommended Prerequisite(s): COMP 412 or COMP 506.
Course URL: http://www.cs.rice.edu/~keith/512
 

COMP 513 - COMPLEXITY IN MODERN SYSTEMS

Long Title: COMPLEXITY IN MODERN SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: A modern computer is a system with enormous complexity in both software and hardware. The course presents the principles for managing such complexity using examples from modern computing systems. It covers emergent issues from system complexity such as energy efficiency, bug finding, and heterogeneous hardware. It also covers designing experiments and writing systems papers. The course consists of lectures, student presentation of classic papers, and a final project. Cross-list: ELEC 513.
 

COMP 514 - SUSTAINABILITY & ENERGY

Long Title: SUSTAINABILITY, ENERGY, AND INFORMATION TECHNOLOGY: AN INTERDISCIPLINARY APPROACH
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Class(es):
Graduate
Description: An interdisciplinary course addressing the energy issues facing computing in the coming decade and beyond. In a student research-driven format we will ask how IT may address its power consumption problem and serve as a vehicle for energy efficiency, sustainability, and reduced carbon emissions across all human activity. Cross-list: ELEC 514.
Course URL: http://www.cs.rice.edu/~kvp1/spring2008/comp514.htm
 

COMP 515 - ADV COMPILATION VECTOR PARALEL

Long Title: ADVANCED COMPILATION FOR VECTOR PARALLEL PROCESSORS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 412
Description: Advanced compilation techniques for vector and parallel computer systems, including the analysis of program dependence, program transformations to enhance parallelism, compiler management of the memory hierarchy, interprocedural data flow analysis, and parallel debugging. Recommended Prerequisite(s): COMP 412.
 

COMP 516 - CLOUD COMPUTING PRACTICUM

Long Title: CLOUD COMPUTING PRACTICUM
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 413 OR COMP 420 OR (COMP 520 OR ELEC 520)
Description: This is a project-based class that provides students with the opportunity to apply their knowledge of distributed computing principles to designed and develop a single, large distributed application that utilizes the public cloud. Students will learn about the basic services for computing, storage, and commination that are supported by the new generation of "public utilities" that provide the infrastructure for the public cloud, and how to utilize these services to engineer a robust, scalable application.
 

COMP 518 - ENERGY EFFICIENCY MODERN SYS

Long Title: ENERGY EFFICIENCY IN MODERN SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Energy efficiency has become critically important for modern computing systems, from battery-powered mobile devices to wall-powered high-performance servers. The course presents the fundamentals of energy characteristics of modern systems, and introduces basic energy-saving mechanisms and methodologies for system energy characterization. It also covers emerging technologies in energy-efficient design. Instructor Permission Required.Cross-list: ELEC 518.
Course URL: http://www.ruf.rice.edu/~mobile/elec518/
 

COMP 519 - NETWORK SYSTEMS ARCHITECTURE

Long Title: NETWORK SYSTEMS ARCHITECTURE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Design and Implementation of network systems, including hardware and software architectures of network routers and servers. Students will design and implement wither the hardware or software components of a network system, depending on their experience and preferences. This course is suitable for students with expertise in either software or hardware. Cross-list: ELEC 519. Recommended Prerequisite(s): COMP 221
 

COMP 520 - DISTRIBUTED SYSTEMS

Long Title: DISTRIBUTED SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Distributed systems: workstations, local area networks, server machines. Multiprocess structuring and interprocess communication. File access and memory management. User interfaces: window systems and command interpreters. Case studies of selected distributed systems. Emphasis on performance aspects of system software design. Cross-list: ELEC 520.
Course URL: http://www.cs.rice.edu/~alc/comp520/
 

COMP 521 - OP SYS/CONCURRENT PROGRAMMING

Long Title: OPERATING SYSTEMS AND CONCURRENT PROGRAMMING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 215 AND (COMP 221 OR COMP 321)
Description: Introduction to the design, construction, and analysis of concurrent programs with an emphasis on operating systems, including filing systems, schedulers, and memory allocators. Specific attention is devoted to process synchronization and communication within concurrent programs. Additional coursework required beyond the undergraduate course requirements. Cross-list: ELEC 552, Graduate/Undergraduate Equivalency: COMP 421. Mutually Exclusive: Cannot register for COMP 521 if student has credit for COMP 421.
 

COMP 522 - MULTI-CORE COMPUTING

Long Title: MULTI-CORE COMPUTING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 221 OR COMP 321) AND COMP 425 or permission of instructor
Description: Multi-core microprocessors are becoming the norm. The course will focus on emerging multi-core processor architectures and challenges to using them effectively. Topics include multi-core microprocessors, memory hierarchy, synchronization, programming systems, scheduling, and transactional memory.
Course URL: http://www.cs.rice.edu/~johnmc/comp522/
 

COMP 523 - COMPUTER-AIDED DESIGN FOR VLSI

Long Title: COMPUTER-AIDED DESIGN FOR VLSI
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Fundamental topics in computer-aided design for VLSI: logic synthesis and formal verification, timing analysis and optimization, technology mapping, logic and fault simulation, testing, and physical design will be covered. Relevant topics in algorithms and data structures, generic programming, and the C++ standard template library will also be covered. Cross-list: ELEC 523.
 

COMP 524 - MOBILE AND WIRELESS NETWORKING

Long Title: MOBILE AND WIRELESS NETWORKING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 429 OR ELEC 429
Description: Study of network protocols for mobile and wireless networking, particularly at the media access control, network, and transport protocol layers. Focus is on the unique problems and challenges presented by the properties of wireless transmission and host or router mobility. Cross-list: ELEC 524. Recommended Prerequisite(s): COMP 421 OR ELEC 421.
 

COMP 525 - VIRTUAL & CLOUD RESOURCE MGMT

Long Title: VIRTUALIZATION AND CLOUD RESOURCE MANAGEMENT
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (ELEC 425 OR COMP 425)
Description: Virtualized computer architectures. Processor, memory and storage virtualization techniques. Resource allocation and scheduling of virtual machines. Cloud architectures and infrastructure. Utility computing. Cross-list: ELEC 525.
 

COMP 526 - HIGH PERFORM COMPUTER ARCH

Long Title: HIGH PERFORMANCE COMPUTER ARCHITECTURE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 425 OR ELEC 425
Description: Design of high performance computer systems, including shared-memory and message-passing multiprocessors and vector systems. Hardware and software techniques to tolerate and reduce memory and communication latency. Case studies and performance simulation of high-performance systems. Cross-list: ELEC 526.
 

COMP 527 - COMPUTER SYSTEMS SECURITY

Long Title: COMPUTER SYSTEMS SECURITY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: This class will focus on computer security in real systems. We will cover theory and practice for the design of secure systems (formal modeling, hardware and compiler-enforced safety, software engineering processes, tamper-resistant and tamper-reactive hardware, firewalls, cryptography, and more). Recommended Prerequisite(s): (COMP 311 or COMP 412) and (COMP 421 or COMP 429).
 

COMP 528 - INTRODUCTION TO VIRTUALIZATION

Long Title: INTRODUCTION TO VIRTUALIZATION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 421 OR COMP 521
Description: System-level virtualization is an integral part of modern computer systems, spanning both hardware and software. This course will explore the various types of system-level virtualization and the hardware and software mechanisms that support them. The course will explore the interplay among hypervisors, operating systems, processors, memory, and I/O devices in modern virtualized systems.
 

COMP 529 - ADVANCED COMPUTER NETWORKS

Long Title: ADVANCED COMPUTER NETWORKS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 429 OR ELEC 429
Description: This course explores advanced solutions in computer networks that are driven by the need to go beyond the best-effort capabilities of the Internet. Topics include network fault tolerance, traffic engineering, scalable data center network architectures, network support for big data processing, network support for cloud computing, extensible network control via software defined networking, denial-of-service-attack defense mechanisms. Readings from original research papers. Also include design project and oral presentation components. This course assumes students already have a good understanding of the best-effort Internet. Cross-list: ELEC 529.
Course URL: http://www.clear.rice.edu/comp529/
 

COMP 530 - DATABASE SYSTEM IMPLEMENTATION

Long Title: DATABASE SYSTEM IMPLEMENTATION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3 TO 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 321 AND COMP 430
Description: This course covers database management system architecture, query processing and optimization, transaction processing, concurrent control and recover, storage, indexing structures and related topics. Students will build a database system from the ground up. Graduate students who have not had an introductory database course should enroll for 4 credits: all others should enroll for 3 credits.
 

COMP 531 - WEB DEVELOPMENT AND DESIGN

Long Title: WEB DEVELOPMENT AND DESIGN
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: This project-based course explores Web application creation and design. Students are involved in the development of front-end and back-end systems while interfacting client-server communications technologies. Students will evaluate Web structural frameworks, Web development technologies, apply test driven development, and create multi-user Web applications. Graduate/Undergraduate Equivalency: COMP 431. Recommended Prerequisite(s): COMP 310 or COMP 321 Mutually Exclusive: Cannot register for COMP 531 if student has credit for COMP 431.
 

COMP 532 - INTRO TO DISTRIBUTED COMP SYS

Long Title: INTRODUCTION TO DISTRIBUTED COMPUTER SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 421 OR COMP 521
Description: Introduction to distributed computer systems. The course covers concepts, architecture, algorithms, protocols, and implementation, focusing on distribution, scale, robustness in the face of failure, and security. Additional coursework required beyond the UG course requirements. Graduate/Undergraduate Equivalency: COMP 420. Mutually Exclusive: Cannot register for COMP 532 if student has credit for COMP 420.
Course URL: http://www.clear.rice.edu/comp420
 

COMP 533 - INTRO TO DATABASE SYSTEMS

Long Title: INTRODUCTION TO DATABASE SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Introduction to relational and other database systems, SQL programming, Database application programming, and Database design. Graduate/Undergraduate Equivalency: COMP 430. Mutually Exclusive: Cannot register for COMP 533 if student has credit for COMP 430.
 

COMP 534 - PARALLEL COMPUTING

Long Title: PARALLEL COMPUTING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 211 AND (COMP 221 OR COMP 321)
Description: COMP 422 is an undergraduate version of this course. COMP 422 students will have four programming assignments. COMP 534 students will have five. As part of their assignments, both COMP 422 and COMP 534 students will analyze the scalability and parallel efficiency of parallel programs they write. COMP 534 students will additionally use tools to qualify the root causes of scaling losses in their programs and document their findings. Graduate/Undergraduate Equivalency: COMP 422. Mutually Exclusive: Cannot register for COMP 534 if student has credit for COMP 422.
 

COMP 535 - APPROX COMP SYS FOR BIG DATA

Long Title: APPROXIMATE COMPUTING SYSTEM FOR BIG DATA, SUPERCOMPUTING AND EMBEDDED SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Survey this radical concept of approximate (or inexact) computing with the goal of understanding both of the challenges and opportunities at all layers of the computing system ranging over programming languages, compilers and run-time, and architecture.
 

COMP 538 - EMBEDDED HW SYSTEMS SECURITY

Long Title: SECURITY OF HW EMBEDDED SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: The course covers wide range of topics pertaining to security of Hardware Embedded system, including cryptographic processors, secure memory access, hardware IT protection by monitoring and watermarking FPGA security, physical and side-charmed attacks, Trojan horses. Cross-list: ELEC 528. Repeatable for Credit.
 

COMP 539 - SOFTWARE ENGINEER METHODOLOGY

Long Title: SOFTWARE ENGINEERING METHODOLOGY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 404 OR COMP 504
Description: COMP 539 is a pure discovery-based learning course designed to give students real-life, hands-on training in a wide variety of software engineering issues that arise in creating large-scale, state-of-the-art software systems. The class forms a small software development "company" that works to deliver a product to a customer. The topics encountered include and are not limited to, dealing with new technologies (e.g. C#, .NET, distributed computing), advanced object-oriented programming and design, interacting with customers, problem specification and tasking, individual and group communications, human resource management, group leadership, testing, integration and documentation. Traditional development cycle methodologies will be compared to recent, "agile" techniques. Graduate/Undergraduate Equivalency: COMP 410. Recommended Prerequisite(s): COMP 505 Mutually Exclusive: Cannot register for COMP 539 if student has credit for COMP 410.
 

COMP 540 - STATISTICAL MACHINE LEARNING

Long Title: STATISTICAL MACHINE LEARNING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (STAT 331 OR STAT 310) AND (MATH 355 OR CAAM 335) or permission of instructor
Description: COMP 540 is about learning models from data. The course is designed to give students a foundational understanding of modern algorithms in learning and data mining, as well as hands-on experience with its applications in science and engineering.
 

COMP 541 - INTRO TO COMPUTER SECURITY

Long Title: INTRODUCTION TO COMPUTER SECURITY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310
Description: This elective course covers a wide variety of topics in computer security, including hands-on experience w/breaking software & engineering software to be harder to break. For example, students will perform buffer overflow attacks & exploit web application vulnerabilities, while also learning how to defend against them. Graduate/Undergraduate Equivalency: COMP 327, COMP 427. Mutually Exclusive: Cannot register for COMP 541 if student has credit for COMP 327/COMP 427.
 

COMP 542 - LARGE-SCALE MACHINE LEARNING

Long Title: LARGE-SCALE MACHINE LEARNING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Learning from large dataset is becoming a ubiquitous phenomena in all applications spanning robotics, medical decisions, internet, communication, biology, etc. Designed to give senior UG students a thorough grounding in the theory and algorithms needed for research and practical applications in machine learning for modern massive datasets. Topics draw from machine learning, classical statistics, algorithms and information theory. Graduate/Undergraduate Equivalency: COMP 441. Mutually Exclusive: Cannot register for COMP 542 if student has credit for COMP 441.
 

COMP 543 - GR TOOLS & MODELS - DATA SCI

Long Title: GRADUATE TOOLS AND MODELS - DATA SCIENCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: This course is an introduction to modern data science. Data science is the study of how to extract actionable, non-trivial knowledge from data. The course will focus on the software tools used by practitioners of modern data science, the mathematical and statistical models that are employed in conjunction with such software tools and the applications of these tools and systems to different problems and domains. On the tools side, we will cover the basics of relational database systems, as well as modern systems for manipulating large data sets such as Hadoop MapReduce, Apache Spark, and Google’s TensorFlow. On the model side, the course will cover standard supervised and unsupervised models for data analysis and pattern discovery. Mathematical sophistication (calculus, statistics) and programming skills that would be acquired in an undergraduate computer science program are expected. Most programming will be in Python and SQL. (SQL is covered in the course) with some Java. Instructor Permission Required.Graduate/Undergraduate Equivalency: COMP 330. Mutually Exclusive: Cannot register for COMP 543 if student has credit for COMP 330.
 

COMP 546 - INTRO TO COMPUTER VISION

Long Title: INTRODUCTION TO COMPUTER VISION
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: An introduction to the basic concepts, algorithms and applications in computer vision. Topics include: cameras, camera models and imaging pipeline, low-level vision/image processing methods such as filtering and edge detection; mid-level vision topics such as segmentation and clustering; shape reconstruction from stereo, introduction to high-level vision tasks such as object recognition and face recognition. The course will involve programming and implementing basic computer vision algorithms in Matlab. Additional coursework required beyond the undergraduate course requirements. Cross-list: ELEC 546, Graduate/Undergraduate Equivalency: COMP 447. Mutually Exclusive: Cannot register for COMP 546 if student has credit for COMP 345/COMP 447.
 

COMP 550 - ALGORITHMIC ROBOTICS

Long Title: ALGORITHMIC ROBOTICS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): (COMP 221 OR COMP 321) AND COMP 215
Description: Robots have fascinated people for generations. Today, robots are built for applications as diverse as exploring remote planets, de-mining war zones, cleaning toxic waste, assembling cars, inspecting pipes in industrial plants and mowing lawns. Robots are also interacting with humans in a variety of ways: robots are museum guides, robots assist surgeon sin life threatening operations, and robotic cars can drive us around. The field of robotics studies not only the design of new mechanisms but also the development of artificial intelligence frameworks to make these mechanism useful in the physical world, integrating computer science, engineering, mathematics and more recently biology and sociology, in a unique way. This class will present fundamental algorithmic advances that enable today’s robots to move in real environments and plan their actions. It will also explore fundamentals of the field of Artificial Intelligence through the prism of robotics. The class involves a significant programming project. Cross-list: ELEC 550, MECH 550, Graduate/Undergraduate Equivalency: COMP 450. Mutually Exclusive: Cannot register for COMP 550 if student has credit for COMP 450.
 

COMP 552 - DESIGN&ANALYSIS CYBER-PHYS SYS

Long Title: DESIGN AND ANALYSIS OF CYBER-PHYSICAL SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: This course is an introduction to cyber-physical systems, engineering artifacts in which computational components interact with and typically control physical components. Some common examples of cyber-physical systems include robots, Segways and lane-departure warning, LDW, systems in automobiles.
 

COMP 554 - COMPUTER SYSTEMS ARCHITECTURE

Long Title: COMPUTER SYSTEMS ARCHITECTURE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Evolution of key architecture concepts found in advanced uniprocessor systems. Fundamental and advanced pipelining techniques and associated issues for improving processor performance. Illustrated with RISC processors such as the ARM processor. Examine several metrics for processor performance, such as Amdahl’s law. Key concepts of data and program memory systems found in modern systems with memory hierarchies and cashes. Perform experiments in cache performance analysis. Influence of technology trends, such as Moore’s law, on processor implementation Approaches for exploiting instruction level parallelism, such as VLIW. Introduction to parallel and multicore architectures. Introduction to processor architectures targeted for imbedded applications. Additional coursework required beyond the undergraduate course requirements. Cross-list: ELEC 554, Graduate/Undergraduate Equivalency: COMP 425. Mutually Exclusive: Cannot register for COMP 554 if student has credit for COMP 425.
 

COMP 555 - DESIGN&ANALYSIS CYBER/PHYSICAL

Long Title: DESIGN AND ANALYSIS OF CYBER-PHYSICAL SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: This course is an introduction to cyber-physical systems, engineering artifacts in which computational components interact with and typically control physical components. Some common examples of cyber-physical systems include robots, Segways and lane-departure warning, LDW, systems in automobiles. Graduate/Undergraduate Equivalency: COMP 451. Mutually Exclusive: Cannot register for COMP 555 if student has credit for COMP 451.
 

COMP 556 - INTRO TO COMPUTER NETWORKS

Long Title: INTRODUCTION TO COMPUTER NETWORKS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 221 OR COMP 321
Description: Network architectures, algorithms, and protocols. Local- and Wide-area networking. Intra- and inter-domain routing. Transmission reliability. Flow and congestion control. TCP/IP. Multicast. Quality of Service. Network Security - Networked applications. Additional coursework required beyond the undergraduate course requirements. Cross-list: ELEC 556, Graduate/Undergraduate Equivalency: COMP 429. Mutually Exclusive: Cannot register for COMP 556 if student has credit for COMP 429.
 

COMP 557 - ARTIFICIAL INTELLIGENCE

Long Title: ARTIFICIAL INTELLIGENCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 310 AND (STAT 310 OR ECON 307 OR ECON 382 OR STAT 312 OR STAT 331 OR ELEC 331 OR ELEC 303) AND (MATH 354 OR MATH 355 OR CAAM 335)
Description: This is a foundational course in artificial intelligence, the discipline of designing intelligent agents. The course will cover the design and analysis of agents that do the right thing in the face of limited information and computational resources. The course revolves around two main questions: how agents decide what to do, and how they learn from experience. Tools from computer science, probability theory, and game theory will be used. Interesting examples of intelligent agents will be covered, including poker playing programs, bots for various games (e.g. WoW), DS1 -- the spacecraft that performed an autonomous flyby of Comet Borrely in 2001, Stanley -- the Stanford robot car that won the Darpa Grand Challenge, Google Maps and how it calculates driving directions, face and handwriting recognizers, Fedex package delivery planners, airline fare prediction sites, and fraud detectors in financial transactions. Additional coursework required beyond the undergraduate course requirements. Cross-list: ELEC 557, Graduate/Undergraduate Equivalency: COMP 440. Mutually Exclusive: Cannot register for COMP 557 if student has credit for COMP 440.
Course URL: http://www.owlnet.rice.edu/~comp440
 

COMP 560 - COMPUTER GRAPHICS

Long Title: COMPUTER GRAPHICS AND GEOMETRIC MODELING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: A survey of core topics in Computer Graphics and Geometric Modeling, including fractals, ray tracing, hidden surface Algorithmic, Bezier, B-spline, blossoming techniques and subdivision procedures. Graduate/Undergraduate Equivalency: COMP 360. Mutually Exclusive: Cannot register for COMP 560 if student has credit for COMP 360.
 

COMP 561 - GEOMETRIC MODELING

Long Title: GEOMETRIC MODELING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Exploration of curves and surfaces (e.g. parametric form, implicit form, and conversion between forms), the representation of solid (e.g., wireframes, octrees, boundary representations, and constructive solid geometry), and applications (e.g., graphics, motion planning, simulation, and finite element mesh generation. Graduate/Undergraduate Equivalency: COMP 361. Repeatable for Credit.
 

COMP 571 - BIOINFORMATICS: SEQUENCE

Long Title: BIOINFORMATICS: SEQUENCE ANALYSIS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Pairwise and multiple sequence alignment, Markov chains and HMMs, Phylogenetic reconstruction, Haplotype inference, Computational models of RNA structure, Gene finding, Genome rearrangements, and comparative genomics. Cross-list: BIOC 571.
Course URL: http://www.cs.rice.edu/~nakhleh/COMP571/
 

COMP 572 - BIOINFORMATICS: NETWORKS

Long Title: BIOINFORMATICS: NETWORK ANALYSIS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: This course covers computational aspects of biological network analysis, a major theme in the area of systems biology. The course addresses protein-protein interaction networks, signaling, and metabolic networks, and covers issues related to reconstructing, analyzing, and integrating various types of networks. Cross-list: BIOC 572, BIOE 564.
Course URL: http://www.cs.rice.edu/~nakhleh/COMP572/
 

COMP 573 - BIOMEDICAL INFORMATICS

Long Title: PROFESSIONAL DEVELOPMENT FOR BIOMEDICAL INFORMATICS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 1 TO 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: This seminar introduces pre- and postdoctoral students in biomedical informatics to topics relevant to professional development in the discipline, which is no longer concentrated in labs as it was in its early days, but is now important in hospitals, outpatient clinics, companies and even the community. In these settings, researchers and practitioners are likely to encounter not only difficult technical challenges, but vexing problems of organizational change and development as well. We will consider some of these challenges, drawing on the insights of experts in psychology, organizational change, management and communications along with industry representatives and entrepreneurs. The seminar mixes lectures and readings with group and individual exercises. Instructor Permission Required. Repeatable for Credit.
 

COMP 576 - INTRODUCTION TO DEEP LEARNING

Long Title: A PRACTICAL INTRODUCTION TO DEEP MACHINE LEARNING
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Deep Machine Learning has recently made many advances in difficult perceptual tasks, including object and phoneme recognition, and natural language processing. However, the field has a steep learning curve, both conceptually and practically. The point of this course is to engage students by jumping into the deep end, and building their own architectures and algorithms. Cross-list: ELEC 576.
 

COMP 581 - AUTOMATA/FORMAL LANG/COMPUTING

Long Title: AUTOMATA, FORMAL LANGUAGES, AND COMPUTABILITY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Finite automata, regular expressions, regular languages, pushdown automata, context-free languages, Turing machines, recursive languages, computability, and solvability. It is strongly recommended that students complete three semesters of Mathematics before enrolling in this course. Graduate/Undergraduate Equivalency: COMP 481. Mutually Exclusive: Cannot register for COMP 581 if student has credit for COMP 481.
 

COMP 582 - GR DESGN ANALY OF ALGORITHMS

Long Title: GRADUATE DESIGN AND ANALYSIS OF ALGORITHMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): STAT 310 OR ECON 307 OR STAT 331 OR ELEC 331 OR ELEC 303 OR STAT 312
Description: Methods for designing and analyzing computer algorithms and data structures. The focus of this course will be on the theoretical and mathematical aspects of algorithms and data structures. Cross-list: ELEC 512.
 

COMP 587 - COMPUTATIONAL COMPLEXITY

Long Title: COMPUTATIONAL COMPLEXITY
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): COMP 382 OR COMP 409 OR COMP 509 OR COMP 481 OR COMP 581
Description: In Computational Complexity we study the computational resources (time, space, communication, etc.) that are required to solve computational problems via various computational needs. Specifically, we are interested in classifying computational problems with classes of other problems that require similar amount of resources to solve. Graduate/Undergraduate Equivalency: COMP 487. Mutually Exclusive: Cannot register for COMP 587 if student has credit for COMP 487.
 

COMP 590 - COMPUTER SCIENCE PROJECTS

Long Title: COMPUTER SCIENCE PROJECTS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Research
Credit Hours: 1 TO 4
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Advanced theoretical and experimental investigations under staff direction. Instructor Permission Required. Repeatable for Credit.
 

COMP 591 - GRAD COMPUTER SCIENCE TEACHING

Long Title: GRADUATE COMPUTER SCIENCE TEACHING
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Independent Study
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: A combination of in-service teaching and a seminar. Instructor Permission Required. Repeatable for Credit.
 

COMP 598 - INTRODUCTION TO ROBOTICS

Long Title: INTRODUCTION TO ROBOTICS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture/Laboratory
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Introduction to the kinematics, dynamics, and control of robot manipulators and to applications of artificial intelligence and computer vision in robotics. Additional work requied for Graduate course. Cross-list: ELEC 598, MECH 598, Graduate/Undergraduate Equivalency: COMP 498. Mutually Exclusive: Cannot register for COMP 598 if student has credit for COMP 498.
 

COMP 600 - GRADUATE SEMINAR

Long Title: GRADUATE SEMINAR IN COMPUTER SCIENCE
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Must be enrolled in one of the following Degree(s):
Doctor of Philosophy
Master of Science
Description: The seminar course meets weekly to discuss current research results by graduate students in the Computer Science Department. Senior Ph.D. Students are expected to present their research results. This course is open ONLY to MS and Ph.D. Students. MCS students may NOT take this course for credit without the consent of the instructor. Repeatable for Credit.
Course URL: http://www.clear.rice.edu/comp600/
 

COMP 601 - WRITING & EDITING CONF PAPERS

Long Title: WRITING AND EDITING CONFERENCE PAPERS
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: This is a seminar on technical writing and preparing publications for peer review. The focus is on conference papers, around 6-10 pages in length. The main topics are: 1) The structure of a conference publication, with guest lectures from the faculty. 2) Good daily writing habits with a group accountability system. 3) Editing techniques and the development a departmental "writing community" with interactive editing sessions. This course will cover a few topics from ENGI 600, but the main focus will be on short computer science conference documents and interactive peer editing. ENGI 600 is still the correct course to take for writing in general, thesis preparation, or journal publications. This course will complement COMP 600, and to develop the same community for writing as this class does for presentations. Repeatable for Credit.
 

COMP 602 - NEURAL MACHINE LEARNING II

Long Title: NEURAL MACHINE LEARNING AND DATA MINING II
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Lecture
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Prerequisite(s): ELEC 502 OR COMP 502 OR STAT 502 or permission of instructor
Description: Advanced topics in ANN theories, with a focus on learning high-dimensional complex manifolds with neural maps (Self-Organizing Maps, Learning Vector Quantizers and variants). Application to data mining, clustering, classification, dimension reduction, sparse representation. The course will be a mix of lectures and seminar discussions with active student participation, based on most recent research publications. Students will have access to professional software environment to implement theories. Cross-list: ELEC 602, STAT 602. Repeatable for Credit.
Course URL: http://www.ece.rice.edu/~erzsebet/NMLcourseII.html
 

COMP 607 - AUTOMATED PROGRAM VERIFICATION

Long Title: AUTOMATED PROGRAM VERIFICATION
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Methods, tools and theories for the computer-aided verification of concurrent systems. Repeatable for Credit.
Course URL: http://www.cs.rice.edu/~vardi/comp607/
 

COMP 620 - GRAD SEMINAR DIST COMPUTING

Long Title: GRADUATE SEMINAR IN DISTRIBUTED COMPUTING
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Content varies at discretion of instructor. Repeatable for Credit.
 

COMP 640 - GR SEM IN MACHINE LEARNING

Long Title: GRADUATE SEMINAR IN MACHINE LEARNING
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1 TO 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: A reading course covering the latest developments in statistical machine learning and pattern recognition. Recommended Prerequisite(s): COMP 440. Repeatable for Credit.
 

COMP 645 - ADV TOPICS IN DISTRIBUTED SYST

Long Title: ADVANCED TOPICS IN DISTRIBUTED SYSTEMS
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1 TO 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: We will learn about and discuss recent advances in various areas in computer systems, including topics on security, distributed systems, networking, operating systems, and databases. The seminar will be divided into several sections, with each section focusing on one research trend. In each class, students will read one classic paper on the topic, and present two recent papers that describe the stat of the art. Students can also team up and do a semester-long research project on any relevant topics. All students will need to make a final presentation at the end of the class on a potential project idea; for students that choose to do a semester-long project, they will also submit a six-page report on their project, in addition to giving a final presentation. Instructor Permission Required.Cross-list: ELEC 692. Repeatable for Credit.
 

COMP 650 - PHYSICAL COMPUTING

Long Title: PHYSICAL COMPUTING
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1 TO 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Methods, tools and theories for reasoning about problems with physical constraints. The student may elect to perform a project to receive more than 1 credit hour. Instructor Permission Required. Repeatable for Credit.
 

COMP 690 - RESEARCH AND THESIS

Long Title: RESEARCH AND THESIS
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Research
Credit Hours: 1 TO 12
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description:  Repeatable for Credit.
 

COMP 693 - ADV TOPICS - COMPUTER SYSTEMS

Long Title: ADVANCED TOPICS-COMPUTER SYSTEMS
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1 TO 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: This course is a discussion based seminar about state of the art embedded and digital signal processing systems, with emphasis on both hardware architectures as well as software tools, programming models, and compilers. The seminar focuses on state of the art academic and commercial offerings in these areas. Cross-list: ELEC 693. Repeatable for Credit.
 

COMP 694 - HOW TO BE A CTO

Long Title: HOW TO BE A CHIEF TECHNOLOGY OFFICER
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 3
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description: Survey of the component and standards trends that are the basis of personal computers and digital appliances with the aim of predicting technologies, solutions, and new products five years into the future. Examples of these technologies are dual Core processors, iPods and their evolution, mobile wireless data devices, and even Google vs. Microsoft. Students will each pick a topic important to the digital lifestyle and through a series of one-on-one sessions develop a depth of understanding that is presented to the class. Formerly "Future Personal Computing Technologies." Cross-list: ELEC 694.
Course URL: http://www.ece.rice.edu/Courses/694.html/
 

COMP 696 - RTG CROSS-TRAINING IN DATA SCI

Long Title: RTG CROSS-TRAINING IN DATA SCIENCE
Department: Computer Science
Grade Mode: Standard Letter
Language of Instruction: Taught in English
Course Type: Seminar
Credit Hours: 1
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Must be enrolled in one of the following Major(s):
Statistics
Computer Science
Description: A seminar course to introduce students to topics in Data Science at the interface between Statistics and Computer Science. Students participate in the process of preparing, delivering and critiquing talks. Topics change each semester. Instructor Permission Required.Cross-list: STAT 696, Graduate/Undergraduate Equivalency: COMP 496. Mutually Exclusive: Cannot register for COMP 696 if student has credit for COMP 496. Repeatable for Credit.
 

COMP 800 - GRADUATE RESEARCH

Long Title: GRADUATE RESEARCH
Department: Computer Science
Grade Mode: Satisfactory/Unsatisfactory
Language of Instruction: Taught in English
Course Type: Research
Credit Hours: 1 TO 15
Restrictions:
Must be enrolled in one of the following Level(s):
Graduate
Description:  Repeatable for Credit.