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:332: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 or 14:332:252. Credit not given for both this course and 14:332:351. |
01:198:113Introduction to Software Methodology (4) Designing and implementing large software using standard software techniques and tools in JAVA and C. Persistent program objects. Memory management and code maintenance. Prerequisite: 01:198:112 or 14:332:351. |
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 I (4)Sets, propositional and predicticate 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:1552. Credit not give for both this course and 14:332:202. |
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. Prerequisite: 01:198:205 or 14:332:202 ad 01:640:152. 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. 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 or 14:332:202. |
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 250. |
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 or 01:640:373. Credit not given for both this course and 01:640:374. |
01:198:336Principles of Information and Data Management (4) Describing and querying various forms of information such as structured data in relational databases, unstructured text (IR), semistructured data (XML, Web), deductive knowledge. Conceptual modeling and schema design. Basics of database management systems services (transactions, reliability, security, optimization). Advanced topics: finding patterns in data, information mapping, and integration. Prerequisites: 01:198:112 and 205 or 14:332:202. |
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. |
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. |
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:411Computer Architecture II Characteristics of a modern computer. Topics to be covered include pipelining, instruction level parallelism, VLIW and speculative dynamic super scalar architectures, computer arithmetic, assessing performance, memory hierarchy, input-output, and multiprocessors. Prerequisite: 01:198:211 or 14:332:331. |
01:198:415Compilers (4) Study of compilers and interpreters. Parsing, lexical analysis, semantic analysis, code generation, and optimization. Prerequisites: 01:198:211 or better or 14:332:331 and 01:198:314. |
01:198:416Operating Systems Design (4) Batch processing, multiprogramming, time-sharing, 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 or 14:332:202 and 211. |
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. |
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 or 323 or 01:640:373 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; 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 or 01:640:373. Credit not given for both this course and 14:332:474. |
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. |
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. |
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. |
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. |
01:198:493,494Independent Study in Computer Science (BA,BA) |