01:198:110Introduction to Computers and Their Application (3) General survey about what computers are and how they are used, including an introduction to computer programming and contemporary application packages. Lec. 2 hrs., rec. 1 hr. Students planning further study in computer science should take 01:198:111. Credit not given for both this course and 01:198:170. Not open to students with a declared major in computer science or a prebusiness major. |
01:198:111Introduction to Computer Science (4) Intensive introduction to computer science. Problem solving through decomposition. Writing, debugging, and analyzing programs in Java. Algorithms for sorting and searching. Introduction to data structures, recursion. Prerequisite: 01:640:115 or placement in CALC1. For students in science, mathematics, and engineering. Credit not given for both this course and 14:330:252. |
01:198:112Data Structures (4) Queues, stacks, trees, lists, and recursion; sorting and searching; hashing; complexity of algorithms; graph representations and algorithms. Prerequisites: 01:198:111 and CALC1, both with grades of C or better. |
01:198:170Computer Applications for Business (3) Introduction to business applications of spreadsheet software, computer technology, data communications, network applications, and structured programming. Lec. 2 hrs., rec. 1 hr. This course is for students seeking admission to Rutgers Business School: Undergraduate-New Brunswick. Limited to prebusiness and business majors. Credit not given for both this course and 01:198:110. Not open to students with a declared major in computer science. |
01:198:205Introduction to Discrete Structures (4) Sets, propositional and predicate logic, logic design, relations and their properties, and definitions and proofs by induction with applications to the analysis of loops of programs. Prerequisites: 01:198:111 and 01:640:152, both with grades of C or better. |
01:198:206Introduction to Discrete Structures II (4) Counting (binomial coefficients, combinations), methods of finding and solving recurrence relations, discrete probability, regular expressions and finite automata, basic graph theory. Prerequisites: 01:198:205 and 01:640:152, both with grades of C or better. Credit not given for both this course and 01:640:477. |
01:198:211Computer Architecture (4) Levels of organization in digital computer systems; assembly language programming techniques; comparative machine architectures; assemblers, loaders, and operating systems. Programming assignments in assembly language. Prerequisite: 01:198:112 with a grade of C or better. Credit not given for both this course and 14:332:331. |
01:198:314Principles of Programming Languages (4) Syntax, semantics, names and values, control structures, data types, procedures and parameters, scope rules, applicative languages, recursion, very high-level languages, dynamic structures, and object-oriented languages. Prerequisites: 01:198:112 and 205, both with grades of C or better. |
01:198:323Numerical Analysis and Computing (4) Approximation, interpolation, numerical differentiation, integration; numerical solution of nonlinear equations, linear algebraic systems, and ordinary differential equations. Prerequisites: 01:640:152 and 01:640:250, both with grades of C or better. Credit not given for both this course and 01:640:373. |
01:198:324Numerical Methods (4) Computational methods for linear algebraic systems, eigen- values and eigenvectors, approximation of functions, splines; numerical solution of initial and boundary value problems for differential equations. Prerequisite: 01:198:323 with a grade of C or better or 01:640:373 with a grade of C or better. Credit not given for both this course and 01:640:374. |
01:198:336Principles of Database Management Systems (4) Introduction to the concepts and design principles used in database management systems. Principles of physical and logical database design, query languages, transaction management, reliability and security, and relational and object-oriented models. Prerequisites: 01:198:112 and 205, both with grades of C or better. |
01:198:344Design and Analysis of Computer Algorithms (4) Study of algorithms. Techniques for efficiency improvement. Analysis of complexity and validity for sorting (internal, external), shortest path, spanning tree, connected and biconnected components, and string matching. Introduction to NP-completeness. Prerequisites: 01:198:112 and 206, both with grades of C or better. |
01:198:352Internet Technology (4) TCP/IP protocols, media access protocols, socket programming in C/UNIX, multicasting, wireless and mobile communication, multimedia over the Internet, ATM, switching theory, and network architectures. Prerequisite: 01:198:211, with a grade of C or better. |
01:198:405Seminar in Computers and Society (3) Study and discussion of the impact of computers on man and society. For all students interested in exploring the social consequences of computer developments. Prerequisites: At least one computer science course and one course in sociology, political science, anthropology, or philosophy; senior standing. May not be used for major credit. |
01:198:415Compilers (4) Study of compilers and interpreters. Parsing, lexical analysis, semantic analysis, code generation, and optimization. Prerequisites: 01:198:211 with a grade of C or better or 14:332:331 with a grade of C or better and 01:198:314, with a grade of C or better. |
01:198:416Operating Systems Design (4) Batch processing, multiprogramming, timesharing, job scheduling, synchronization, resource management, protection, hierarchical design, and virtual concepts. Complete design of a simple operating system to be implemented and tested under program load as a project. Prerequisites: 01:198:205 and 211, both with grades of C or better. |
01:198:417Distributed Systems: Concepts and Design (4) Introduction to the concepts and design principles used in distributed computer systems. Communication methods, concepts and strategies used in distributed services such as file systems, distributed shared memory, and distributed operating systems. Prerequisite: 01:198:416, with a grade of C or better. |
01:198:424Modeling and Simulation of Continuous Systems (4) Principles and examples of mathematical models in the physical, economic, and life sciences. Numerical methods for differential equations. Special computers and languages for the simulation of continuous systems. Individual projects. Prerequisite: 01:198:221 with a grade of C or better or 323 with a grade of C or better or 01:640:373 with a grade of C or better or permission of instructor. |
01:198:425Computer Methods in Statistics (4) Computer science in applied and theoretical statistics; exploratory data analysis; algorithms for univariate and multivariate statistical analyses; use of statistical libraries; Monte Carlo and simulation. Prerequisites: 01:198:206 or equivalent, with a grade of C or better; CALC2. Strongly recommended: Numerical methods (01:198: 221, 323, or 01:640:373). |
01:198:428Introduction to Computer Graphics (4) Displays, colors, perception, images, sampling, image processing, geometric transformations, viewing and visibility, modeling hierarchies, curve and surface design, animation, lighting, rendering, rasterization, shading, and ray tracing. Prerequisite: 01:198:323 with a grade of C or better or 01:640:373 with a grade of C or better. Credit not given for both this course and 14:332:484. |
01:198:431Software Engineering (4) Problems and techniques involved in the specification, design, and implementation of large-scale software systems, studied in conjunction with actual group construction of such a system. Prerequisites: 01:198:314 and 344, both with grades of C or better. Recommended: 01:198:415 or 416. |
01:198:440Introduction to Artificial Intelligence   Broad introduction to artificial intelligence, including search, knowledge representation, natural language understanding, and computer vision. Prerequisite: 01:198:314 with a grade of C or better. |
01:198:442Topics in Computer Science (3-4) Advanced topics in computer science. Topics vary from year to year according to the interests of students and faculty. |
01:198:452Formal Languages and Automata (3) Finite automata and regular languages; context free languages, pushdown automata and parsing; language hierarchies; Turing machines; decidability and complexity of languages. Applications emphasized throughout. Prerequisite: 01:198:344 with a grade of C or better. |
01:198:476Advanced Web Applications: Design and Implementation (4) Comprehensive overview of current web technologies, including design and implementation principles for web-based applications. Basic principles of scalability, security, reliability, and performance. State-of-the-art review of currently available technologies. Prerequisites: 01:198:336 and 417, both with grades of C or better. |
01:198:493,494Independent Study in Computer Science (BA,BA) |