## 6.1 Taking Courses as a CS Graduate Student

The following pages contain descriptions of the courses that are available in the Graduate Program in Computer Science. For each course, it is indicated in which term (Fall and/orSpring) the course is usually given, and the number of credits provided. Note that more advanced graduate courses are usually not given every year.

The first courses listed are 300 and 400 level courses and are, strictly speaking, undergraduate courses. However, the Graduate Program in Computer Science has approved of them (and only them) for credit toward a graduate degree; at most two undergraduate courses can be taken for credit towards a graduate degree in computer science. Some of these courses are recommended to students whose background in computer science is weak.

Any 300 and 400 level courses for which the student wishes to have graduate credit must be registered with a G-prefix; write `G' under `credit hour prefix' on the registration card. A student registering for an undergraduate course other than from the approved list must register with an E-prefix: write `E' under `credit hour prefix' on the registration card; this means that the student does not receive graduate credit.

**Other special credit registrations**: A student who is a Teaching Assistant registers for 6 credits of 198:877 with an E-prefix. A student who is a Graduate Assistant registers for 6 credits of 198:866 with an E-prefix. A student registering for Matriculation Continued registers for 198:800 and no special prefix. The N-prefix means that the course is taken `not for credit' and no exam or grades are given.

**Important!** Whether or not it is expressly stated in the prerequisites of each 500 level course, it is assumed that the student has had the background required for admission as discussed in Section 3.1 of this brochure. These will be referred to as `entrance requirements'. Prerequisites are to be taken as strong guidelines that should help a student to decide whether to register in a specific course at a given time in the course of his studies. Normally, students taking a course should satisfy the course prerequisites. However, if a student is unclear about the prerequisites of a course or if he has doubts about his qualifications for the course, he should consult the instructor in charge. Although special cases will be considered individually by the instructor, **students who have not had the prerequisites should not expect to be allowed to take the course.**

**Another important** point is about the maximum number of credits for which you are allowed to register. See the sections on Course Load for those constraints. The total number of credits for which you register includes all courses. Thus, your TAship or GAship credits, your PALS credits and your regular courses are all counted.

## 6.2 List of courses available for Graduate Credit

The description of all courses available for graduate credit can be found at https://www.cs.rutgers.edu/graduate/courses/.

## 6.3 Some Relevant Courses in Other Departments

**Before taking a course outside the Department of Computer Science, the student needs to consult with his advisor and receive his approval.**

Normally an M.Sc. student may take no more than 6 credits outside the department. (Please note that the courses listed here may have prerequisites that are not listed here.)

** Applied Mathematics **

642:516 Applied Partial Differential Equations

642:527,8 Methods of Applied Mathematics

642:550 Linear Algebra and Applications

642:551 Applied Algebra

642:575 Numerical Solutions of Partial Differential Equations

642:577,8 Selected Topics in Systems Theory

642:581 Applied Graph Theory

642:582,3 Combinatorics I, II

642:587 Selected Topics in Discrete Mathematics

642:588 Introduction to Mathematical Techniques in Operations Research

642:589 Topics in Mathematical Techniques in Operations Research

642:591,2 Topics in Probability and Ergodic Theory

642:611 Special Topics in Applied Mathematics

** Biomedical Engineering**

526:520 Neuroelectric Sytems

125:526 Brain Dynamics

125:610 Advanced Topcs in Computers in Biomedical Engineering

125:620 Neural Networks and Neurocomputing

** Cognitive Science**

185:500 Cognitive Science Proseminar

** Electrical and Computer Engineering**

332:505,6 Control Systems Theory I,II

332:526 Robotics Systems Engineering

332:527 Digital Speech Processing

332:529 Image Coding and Processing

332:539 Advanced Topics in Digital Signal Processing: Introduction to Functional Neuroimaging, Methods and Data Analysis

332:542 Information Theory and Coding

332:543,4 Communication Networks I,II

332:553 Wireless Access to Information Networks

332:560 Computer Graphics

332:561 Machine Vision

332:562 Visualization and Advanced Computer Graphics

332:563,4 Computer Architecture I,II

332:565 Neurocomputer System Design

332:566 Parallel and Distributed Computing

332:568 Software Engineering Web Applications (3)

332:570 Robust Computer Vision

332:571 Virtual Reality Technology

332:574 Computer Aided Digital VLSI Design

332:575 VLSI Array Processors

332:576 Testing of Ultra Large Scale Circuits

332:588 Integrated Transistor-Circuit Design

** Industrial Engineering**

540:515 Stochastic Models

540:525 Applied Queuing Theory

540:540 Computational Methods

540:575 Advanced Engineering Economics

540:585,685 Systems Reliability Engineering I, II

** Linguistics**

615:510/1/4 Syntax I,II and Topics

615:520/1/4 Phonology I,II and Topics

615:530/1/4 Semantics I,II and Topics.

** Mathematics**

640:551 Abstract Algebra

640:561 Mathematical Logic

640:566 Axiomatic Set Theory

640:567 Model Theory

640:569 Selected Topics in Logic

** Operations Research**

711:513 Discrete Optimization

711:553 Boolean and Pseudo-Boolean Functions

711:556 Queueing Theory

711:558 Convex Analysis and Optimization

** Philosophy**

730:513 Logic and Natural Language

730:550 Seminar in Epistomology

730:570 Seminar in the Phil. of Language

730:575 Seminar in the Phil. of Mind

730:650 Advanced Topics in Epistomology

730:670 Advanced Topics in the Phil. of Language

730:675 Advanced Topics in the Phil. of Mind

730:676 Advanced Topics in the Phil. of Psychology

730:678 Advanced Topics in Decision Theory

730:679 Topics in Logic

** Psychology**

830:514 Sensation and Perception

830:515 Computational Vision

830:535 Language and Communication

830:540 Mathematical Models of Learning, Perception, and Cognition

830:546 Memory and Attention

830:547 Computational Models of Cognition

830:550 Language Development

830:602 Psycholinguistics

830:611 Seminar in Perception

830:635 Selected Topics in Learning

830:637 Seminar: Cognition

830:641 Seminar: Thinking

** Statistics**

960:553 Categorical Data Analysis

960:554 Applied Stochastic Processes

960:555 Nonparametric Statistics

960:563 Regression Analysis

960:565 Applied Time Series Analysis

960:576 Survey Sampling

960:580 Basic Probability

960:582 Introduction to the Methods and Theory of Probability

960:583 Methods of Statistical Inference

960:586 Interpretation of Data I

960:587 Interpretation of Data II

960:588 Data Mining

960:590 Design of Experiments

960:591 Advanced Design of Experiments

960:592 Theory of Probability

960:593 Theory of Statistics

960:595 Intermediate Probability

960:652/3 Advanced Theory of Statistics

960:654 Stochastic Processes

960:681/2 Advanced Probability Theory

960:690 Bayesian Analysis

960:668 Bayesian Data Analysis

** Analytics and Information Management (MBA Curriculum) **

960:641 Analytics for Business Intelligence

## 6.4 Short Descriptions of Other Undergraduate Courses

A more complete and up-to-date version is available from the Undergraduate Secretary in Room Hill 390.

**01:198:110**- Introduction to Computers and Their Applications (3)

Not for major credit. Students planning further study in CS should take 01:198:111.A general survey about what computers are and how they are used, including an introduction to computer programming.

**01:198:111**- Introduction to Computer Science (4)
An intensive introduction to computer science. Writing, debugging, and analyzing programs. Algorithms for sorting and searching. Introduction to data structures. For students in science, mathematics, and engineering.

**01:198:112**- Data Structures (4)

Prerequisite: 01:198:111.Queues, stacks, trees, lists, graphs, and recursion; sorting and searching; comparison of algorithms.

**01:198:205**- Introduction to Discrete Structures I (4)

Prerequisites: 01:198:111 and CALC.Sets, propositional and predicate logic, relations and their properties, and definitions and proofs by induction with applications to the analysis of loops of programs.

**01:198:206**- Introduction to Discrete Structures II (4)

Prerequisites: 01:198:205.

Credit will not be given for both 01:198:206 and 01:640:477.Counting (binomial coefficients, combinations), methods of finding and solving recurrence relations, discrete probability, regular expressions and finite automata, basic graph theory.

**01:198:211**- Computer Architecture and Assembly Language (4)

Prerequisite: 01:198:112. Credit not given for both this course and 14:330:337.The levels of organization in digital computer systems; assembly language programming techniques; comparative machine architectures; assemblers, loaders, and operating systems. Programming assignments in assembly language.

**01:198:221**- Numerical Problems and Computer Programming (4)

Prerequisites: CALC2 or the equivalent.An introductory numerical analysis course similar to 01:198:323, but designed for nonmajors. FORTRAN taught in recitation.

**01:198:230**- Introduction to Information Systems (4)

Prerequisite: 01:198:110 or 111.Not for Major credit. Introduction to databases and file structures, and to network access tools for information storage and retrieva.

**01:198:314**- Principles of Programming Languages (4)

Prerequisites: 01:198:112, 205.Syntax, semantics, names and values, control structures, data types, procedures and parameters, scope rules; procedural, functional, pnkect-oriented and logic-programming paradigms.

**01:198:323**- Numerical Analysis and Computing (4)

Prerequisites: 01:198:111, CALC2, and 01:640:250.

Credit will not be given for both 01:198:323 and 01:640:373.Approximation, interpolation, numerical differentiation, integration; numerical solution of nonlinear equations, linear algebraic systems, and ordinary differential equations.

**01:198:324**- Numerical Methods (4)

Prerequisites: 01:198:323 or 01:640:373.

Credit will not be given for both 01:198:324 and 01:640:374.Computational methods for linear algebraic systems, eigenvalues and eigenvectors, approximation of functions, splines; numerical solution of initial and boundary value problems for differential equations.

**01:198:336**- Principles of Database Management Systems (4)

Prerequisites: 01:198:112 and 01:640:205Provides an introduction to the concepts and design principles used in database management systems.

**01:198:344**- Design and Analysis of Computer Algorithms (4)

Prerequisites: 01:198:112 and 01:198:206.Study of algorithms. Techniques for efficiency improvement. Analysis of complexity and validity for sorting (internal, external), shortest path, spanning tree, cut points, connected components, and pattern matching. NP completeness.

**01:198:352**- Internet Technology (4)

Prerequisites: 01:198:211Provides a practical understanding of computer networks with respect to system architectures, protocols, and client-server interaction. These objectives are accomplished through extensive laboratory exercises.

**01:198:405**- Seminar in Computers and Society (3)

Prerequisites: At least one computer science course and one course in sociology, political science, anthropology, or philosophy.Study and discussion of the impact of computers on man and society. For all students interested in exploring the social consequence of computer developments.

** Applied Mathematics **

642:516 Applied Partial Differential Equations

** Analytics and Information Management (MBA Curriculum) **

960:641 Analytics for Business Intelligence