01:198:105
Great Insights in Computer Science (3)
Fundamental concepts of computer science for nonscience majors. Influential ideas that have shaped the discipline. Example problems drawn from areas such as artificial intelligence (robotics), bioinformatics (DNA analysis), computer graphics (3-D visualization), networking (high-speed communication), and security (cryptography).
Prerequisite: 01:640:026 or higher, or placement. Not for credit toward the computer science major or minor.
|
01:198:107
Computing for Math and the Sciences (3)
Introduction to computers and programming for noncomputer science majors in math and the sciences. Introduces key ideas in computer science, including programming (MATLAB) and symbolic algebra (MAPLE).
Prerequisite: CALC1 (01:640:135 or 151 or 153 or 191). This course is for math and physical science majors. Not for credit toward the computer science major or minor.
|
01:198:110
Introduction 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:111
Introduction 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:112
Data 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. Credit not given for both this course and 14:332:351.
|
01:198:170
Computer 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:195,196
Honors Seminar in Computer Science (1,1)
Discussion of selected topics in computer science.
Prerequisite: Permission of department required. Corequisite: Any course offered by the Department of Computer Science at Rutgers.
|
01:198:205
Introduction to Discrete Structures I (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. Credit not given for both this course and 14:332:312.
|
01:198:206
Introduction 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 or 14:332:312; 01:640:152. Credit not given for both this course and 01:640:477.
|
01:198:211
Computer 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:213
Software Metholodolgy (4)
Principles, techniques,
tools, and methods used to build modern software applications. Object-oriented design and
implementation, graphical user interfaces, portability to the mobile platform,
and collaborative work.
Prerequisite: 01:198:112.
|
01:198:214
Systems Programming (4)
C-level
programming and its accompanying paradigm; mapping of high-level language
programs to underlying computing architecture; tools for effective scaling;
automation using scripts.
Prerequisite: 01:198:112. Corequisite: 01:198:211.
|
01:198:314
Principles of Programming Languages (4)
Syntax: formal languages, parsing. Design: modeling relations, modules, information hiding, abstraction. Compiler versus interpreter; names; binding; memory; pointers; types. Functional, imperative, object oriented, and logic programming; concurrency.
Prerequisites: 01:198:211; 01:198:205 or 14:332:312.
|
01:198:323
Numerical 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:324
Numerical Methods (4)
Computational methods for linear algebraic systems, eigenvalues 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:334
Introduction to Imaging and Multimedia (4)
Introduction
to digital image processing, computer vision, and multimedia computing; image,
video, and audio formation and processing; the basics of multimedia lossless
and lossy compression.
Prerequisites: 01:198:112 or 14:332:351; 01:198:206 or 14:332:226 or 01:640:477; 01:640:250.
|
01:198:336
Principles 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), and deductive knowledge. Conceptual modeling and schema design. Basics of database management systems services (transactions, reliability, security, and optimization). Advanced topics: finding patterns in data, information mapping, and integration.
Prerequisites: 01:198:112; 01:198:205 or 14:332:312.
|
01:198:344
Design 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:352
Internet 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.
Prerequisites: 01:198:211 or 14:332:331; 01:198:206 or 01:640:477 or 14:332:226.
|
01:198:395,396
Internship in Computer Science (3,3)
Internship providing students with the opportunity to apply their academic skills to solving technical problems in the computer science and information technology (CSIT) industry. Placement in a professional environment where students relate their education in computer science to everyday, practical applications in CSIT.
Prerequisites: 01:198:113 and departmental permission. Note: Internships usually take place during the summer between junior and senior year; however advanced students should consider starting earlier.
|
01:198:405
Seminar 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:411
Computer Architecture II (4)
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:415
Compilers (4)
Study of compilers and interpreters. Parsing, lexical analysis, semantic analysis, code generation, and optimization.
Prerequisites: 01:198:211 or 14:332:331; 01:198:314.
|
01:198:416
Operating Systems Design (4)
Computer organization, process and thread management, synchronization, scheduling, memory management, virtual memory, I/O management, file systems, and case studies.
Prerequisites: 01:198:214 or {14:332:331 and 351}.
|
01:198:417
Distributed 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:419
Computer Security (4)
Introduction to computer security. Topics include applied cryptography, authentication, authorization and basic security principles, as well as recent topics such as web security and virtual machine-based security.
Prerequisites: 01:198:205 or 14:332:312; and one of 01:198:416 or 01:198:352.
|
01:198:424
Modeling 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:323 or 01:640:373, or permission of instructor.
|
01:198:425
Computer 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:323 or 01:640:373).
|
01:198:428
Introduction 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.
Prerequisites: CALC2 and 01:640:250; 01:198:112 or 14:332:351. Credit not given for both this course and 14:332:474.
|
01:198:431
Software 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:213 and an approved upper-level computer science course with a substantial programming component--see department webpage for list of qualifying courses.
|
01:198:437
Database Systems Implementation (4)
Focuses on the
implementation of data management systems. Provides students the tools to
understand the internals of a DBMS: transaction management, query processing
and query optimization, implementation of systems handling text data,
and management issues in a web context.
Prerequisites: 01:198:214 and 336.
|
01:198:440
Introduction to Artificial Intelligence (4)
Broad introduction to artificial intelligence, including search, knowledge representation, natural language understanding, and computer vision.
Prerequisite: 01:198:314.
|
01:198:442
Topics 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:452
Formal 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:493,494
Independent Study in Computer Science (BA,BA)
|