01:198:103
Introduction to Computer Infrastructure (1)
Provides students with no computer experience other than basic word processing and spreadsheets the computer skills needed for the introductory computer science courses including effectively use the Rutgers Linux computing environment to iteratively design, build, and debug programming assignments.
Pass/No Credit
|
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
Principles to Computer Science
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 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. Credit not given for both this course and 14:332:351.
|
01:198:142
Data 101 (3)
Topics in data literacy for nonmajors in computer science or statistics.
Prerequisite: 01:640:025 or placement. Credit not given for both this course and 01:198:143 or 01:960:142.
|
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 or 14:332:252. 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 or 14:332:226.
|
01:198:210
Data Management for Data Science (4)
Provides knowledge and skills needed to acquire and curate real word data, to explore the data to discover patterns and distributions, and to manage large datasets with databases.
Prerequisites: 01:198:142, 01:960:142, or 01:198:111.
|
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, with a grade of C or better. Credit not given for both this course and 14:332:331.
|
01:198:213
Software Methodology (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:310
Data Science Capstone Project (1)
Independent empirical project which makes concrete use of all aspects of data science explored in the core and possibly in domain courses, from identifying a data source, cleaning and organizing the data, conducting appropriate statistical analysis, to interpreting and reporting the results of the study in a standard scholarly form. Requires finding an appropriate project and data source with suitable characteristics for a data science-oriented study.
Prerequisites: (01:198:142 or 01:960:142) and 01:960:291 and
(01:198:210 or 01:960:295 or 04:547:221).
|
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:205 and 01:198:211) and (01:640:152) or 01:640:192)] or
[(01:198:205 and 14:332:331 and 01:640:152)] or
[(14:332:312 and 14:332:331) and (01:640:152 or 01:640:192)] or
[(14:332:312 and 01:198:211 and 01:640:152)].
|
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, both with grades of C or better. Credit not given for both this course and 01:640:373.
|
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, with a grade of C or better. 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:205 and 01:198:112 and (01:640:152 or 01:640:192) or
(01:198:205 and 14:332:351 and (01:640:152 or 01:640:192) or (14:332:312 and 01:640:152 and
(01:198:112 or 14:332:351). Linear Algebra is recommended.
|
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: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:205 and either 01:198:211 or 14:332:331, all with grades of C or better.
|
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, all with grades of C or better.
|
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:211 and 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, with a grade of C or better.
|
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 and 01:198:416 and (01:640:152 or 01:640:192)] or [(01:198:205 and 14:332:352
and (01:640:152 or 01:640:192)] or [(14:332:312 and 01:640:152 and (01:198:416 or
01:198:352)].
|
01:198:425
Brain-Inspired Computing (4)
Overview of the fundamental concepts and current trends in neuro-mimetic and neuro-inspired computing with a focus on designing neuromorphic networks for vision and movement.
Prerequisite: 01:198:206 and (01:640:136 or 01:640:152.)
|
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 one of 01:198:314, 336, 352, or 416. Credit not given for both this course and 14:332:452.
|
01:198:437
Database Systems Implementation (4)
Focuses on the
implementation of database management systems (DBMS). 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:439
Introduction to Data Science (4)
Focuses on algorithms and tools for solving data-science problems, including preparation, characterization and presentation, analysis, and applications.
Prerequisites: (01:198:205 or 14:332:202 or 14:332:312) and (01:640:152 or 01:640:192).
|
01:198:440
Introduction to Artificial Intelligence (4)
Broad introduction to artificial intelligence, including search, knowledge representation, natural language understanding, and computer vision.
Prerequisites: (01:198:205 or
14:332:202 or 14:332:312) and (01:640:152 or 01:640:192).
|
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:445
Topics in Computer Science (3)
Advanced topics in computer science. Topics vary from year to year according to the interests of students and faculty.
Prerequisites:
(01:198:111 or 01:198:142). Restricted to Computer Science majors.
|
01:198:446
Topics in Computer Science (3)
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 with a grade of C or better.
|
01:198:460
Introduction to Computational Robotics (4)
General introduction to robotics from a computational perspective with a focus on
mobile robots. Provides hands-on
experience through projects on various robotic platforms including exposure to
industry standard software.
Prerequisite: 01:198:206 or instructor's permission.
|
01:198:461
Machine Learning (4)
Principles Systematic introduction to machine learning, covering theoretical as well as practical aspects of the use of statistical methods. Topics include linear models for classification and regression, support vector machines, regularization and model selection, and introduction to deep learning. Application examples are taken from areas like computer vision, natural language processing, information retrieval and others.
Prerequisites: 01:198:112, 0:198:206, 01:640:250.
|
01:198:462
Introduction to Deep Learning (4)
Introduction to deep learning. Includes theories, principles, and practices of traditional neural networks and modern deep learning. The topics include fundamentals of Machine Learning, neural networks, modern deep learning, and applications and advanced topics.
Prerequisites: 01:198:112, 0:198:206, 01:640:250.
|
01:198:493,494
Independent Study in Computer Science (BA,BA)
|
01:198:495-496
Computer Science Honors Capstone Program (3,3)
Fall and spring semester of year long capstone program for Computer Science undergraduate honors students.
|