Rutgers, The State University of New Jersey
Undergraduate-Newark
 
About the University
Undergraduate Education in Newark
Liberal Arts Colleges
Admission to the Liberal Arts Colleges
Newark College of Arts and Sciences
University College–Newark
Academic Programs and Courses
Availablity of Courses, Majors, and Minor Programs
Course Notation Information
Academic Foundations 003
African American and African Studies 014
American Studies 050
Ancient and Medieval Civilizations 060
Anthropology 070
Arabic 074
Art, Design, and Art History (080, 081, 082, 083, 085)
Asian Studies 098
Biological Sciences 120
Chemistry 160
Chinese 165
Clinical Laboratory Sciences 191
Computer Science 198
Learning Goals
Major Requirements: Computer Science
Major Requirements: Information Systems
Minor Requirements: Computer Science
Courses (Computer Science 198)
Courses (Information Systems 548)
Earth and Environmental Sciences (Geology 460)
Economics 220
English (350 and 352)
English: Composition and Writing 355
Environmental Sciences 375
Film Studies 380
French 420
Geoscience Engineering 465
Global Politics 487
Health Information Management 504
Health Sciences: Aging 499J
Health Sciences: Health Advocacy 499K
History (History 510, American 512)
Honors 525
Honors Living-Learning Community 526
Information Systems 548
International Affairs 551
Italian 560
Japanese 565
Journalism and Media Studies 086
Latin 580
Latin American Studies 590
Legal Studies 603
Linguistics 615
Mathematics 640
Medical Imaging Sciences 658
Middle Eastern and Islamic Studies 686
Music 087
Neuroscience 112
Peace and Conflict Studies 735
Philosophy 730
Physics 750
Political Science 790
Portuguese and Lusophone World Studies 812
Psychiatric Rehabilitation and Psychology 819
Psychology 830
Religious Studies 840
Russian 860
Social Work 910
Sociology 920
Spanish 940
Theater 088
Urban Education 300
Video Production 089
Women's and Gender Studies 988
Writing 989
Administration and Faculty
Consortium with New Jersey Institute of Technology
Rutgers Business School: Undergraduate-Newark
School of Criminal Justice
School of Public Affairs and Administration
Academic Foundations Center
Honors College
Honors Living-Learning Community
Academic Policies and Procedures
Divisions of the University
Camden Newark New Brunswick/Piscataway
Catalogs
  Newark Undergraduate Catalog 2016–2018 Liberal Arts Colleges Academic Programs and Courses Computer Science 198 Courses (Computer Science 198)  

Courses (Computer Science 198)

21:198:100 Introduction to Computers and Information Processing (3) Covers a general knowledge of computer use; history of computers and information processing, survey of modern computer science concepts, practical instruction in the use of a variety of data processing environments, and use of available software packages and databases; introduction to the internet. May not be used for credit by computer science or information systems majors. This course fulfills the technology course requirement in the teacher certification program.
21:198:101 Computers and Programming I (3) The basics of procedural programming in Java. Java primitive data types, loops, control structures, arrays, methods, an introduction to object-oriented programming, using classes and objects, writing classes, encapsulation.
Prerequisite: Fulfillment of mathematics proficiency requirement (21:640:106,107,108, or 109, or by examination). This course fulfills the technology course requirement in the teacher certification program.
21:198:102 Computers and Programming II (3) Recursion and object-oriented programming in Java. Recursion, object-oriented design, inheritance, polymorphism, exception handling, collections.
Prerequisite: 21:198:101 (C or better).
21:198:251 Computer Organization (3) An introduction to computer system structure and organization. Topics include representation of information, circuit analysis and design, register-transfer level, processor architecture, and input/output. Prerequisite: 21:198:102 (C or better).
28:198:280 Programming Language Concepts (3) Conceptual study of programming language syntax, semantics, and implementation. Course covers language definition structure, data types and structures, control structures and data flow, run-time consideration, and interpretative languages. Prerequisite: CS114 or 21:198:335 or equivalent.
28:198:288 Intensive Programming in Linux (3) The course covers Linux programming with Apache Web and MySql database using Php/Python and C as primary languages. It consists of four stages: basic tools such as Bash and C programming; searching trees and matrix computing; end-to-end applications such as one that constantly presents top 100 stocks; and extending the applications to run on multiple machines. The course provides students with hands-on experience for programming relatively large applications. Prerequisite: 21:198:335.
21&28:198:332 Principles of Operating Systems (3) Organization of operating systems covering structure, process management, and scheduling; interaction of concurrent processes; interrupts; I/O, device handling; memory and virtual memory management, and file management. Prerequisite: 21:198:335.
28:198:333 Introduction to UNIX Operating Systems (3) Covers the UNIX system kernel including initialization, scheduling, context switching, process management, memory management, device management, and the file system. Also includes the organization of shells, editors, utilities, and programming tools of the UNIX operating system. Prerequisites: 21&28:198:332 or equivalent, and knowledge of C language.
21:198:335 Data Structures and Algorithm Design (3) Explores trees, paths, linear lists, strings, arrays, stacks, queues, linked structures, and algorithms for searching, sorting, and merging. Prerequisites: 21:198:102 (C or better).
28:198:341 Foundations of Computer Science II (3) Provides an introduction to automata theory, computability theory, and complexity theory. Theoretical models such as finite state machines, push-down stack machines, and Turing machines are developed and related to issues in programming language theory. Also covers undecidability and complexity theory, including the classes P and NP. Prerequisites: 28:198:280 and 21:640:237.
28:198:345 Web Search (3) An introductory course on web searching. The architecture of a search engine. Information vs. data retrieval. Web crawling. Processing text (tokenization, stemming, stopwords, link analysis). The indexing process and inverted indexes. Query processing. Ranking algorithms based on indexes and links (e.g. Kleinberg's HITS, Google's PAGERANK). Retrieval models. Search engine evaluation. Case studies (e.g., Google cluster architecture). Prerequisites: 28:198:280 and (21:640:237 or 21:198:251).
28:198:352 Parallel Computers and Programming (3) Introduction to parallel computers and parallel programming. General structures and design techniques of parallel computers are described. Programming paradigms and algorithm design considerations for parallel processors also are discussed. Prerequisites: 21:198:251 and 21&28:198:332.
28:198:353 Advanced Computer Organization (3) Emphasis on the basic design principles or various components in a computer, as well as how the components are organized to build a computer. Topics include design methodology, arithmetic and logic unit design, control unit design, memory hierarchy, memory system design, input and output devices, peripheral devices, and interfacing computers using software. A software simulation package is used to help the learning process. By the end of the semester, students will have built a simulated computer. Prerequisites: 21&28:198:251 or instructor-approved equivalent.
28:198:356 Introduction to Computer Networks (3) This course provides an introduction to computer networks, with a special focus on the internet architecture and protocols. Topics include layered network architectures, addressing, naming, forwarding, routing, communication reliability, the client-server model, web, and email protocols. Besides the theoretical foundations, students acquire practical experience by programming reduced versions of real internet protocols. Prerequisite: Computer science students should take 28:198:288 before this course.
28:198:357 Fundamentals of Network Security (3) This course offers an in-depth study of network security issues, types of computer and network attacks, and effective defenses. It provides both a theoretical foundation in the area of security and hands-on experience with various attack tools, firewalls, and intrusion detection systems. Topics include: network scanning, TCP/IP stack fingerprinting, system vulnerability analysis, buffer overflows, password cracking, session hijacking, denial of service attacks, intrusion detection. Prerequisite: 28:198:356 or IT 120.
28:198:366 3-D Game Development (3) This course introduces students to the core concepts and skills necessary for the development of games utilizing 3-D graphics. Students will learn how to set up and program their own 3-D graphics-based game engine using OpenGL. Students will learn how to load and display custom 3-D models created using existing 3-D modeling tools. Once complete, students will have created two fully functional 3-D games and tools to work with them.
28:198:370 Introduction to Artificial Intelligence (3) Exploration of concepts, approaches, and techniques of artificial intelligence. Emphasizes both underlying theory and applications. Topics include knowledge representation, parsing language, search, logic, adduction, uncertainty, and learning. LISP and Prolog programming languages used extensively. Students are required to do programming assignments, complete a programming semester project, and review case studies. Prerequisites: 21:198:335 and 21:640:237.
28:198:371 Logic with Applications to Computer Science (3) An introduction to both the syntax and semantics (basic model theory) of first-order logic, covering one set of inference rules, sequent calculus or a tableau system, and prove the completeness theorem for the proof system. Also covers a relatively modern (and simpler) form of incompleteness theorems and relates it to computational issues such as the halting problem, as well as issues related to automating logical reasoning. These will include Herbrand's theorem, resolution, and logic programming. Prerequisites: 21:198:335, 21:640:237, and 21:640:235.
28:198:408 Cryptography and Internet Security (3)

Covers security requirements for telecommunication over the internet and other communication networks, various conventional and public-key encryption protocols, digital encryption standard, RSA and ElGamal cryptographic systems, digital signature algorithm and analysis of its cryptoimmunity, and access sharing schemes.

Prerequisite: 21:640:237.
21&28:198:431 Introduction to Database Systems (4) Database system architecture, including data modeling using the semantic object and entity-relationship model; storage of databases; the hierarchical, network, and relational data models; formal and commercial query languages; functional dependencies and normalization for relational database design; relation decomposition; concurrency control and transactions management. Student projects involve the use of a DBMS package. Prerequisite: 21:198:335.
28:198:432 Advanced Operating Systems (3) A survey of the design and implementation of distributed operating systems, both by introducing basic concepts and considering examples of current systems. Topics include: communication, synchronization, processor allocation, and distributed file systems. Prerequisites: 21:198:251 and 21&28:198:332.
28:198:433 Introduction to Linux Kernel Programming (3) An introductory study of how the Linux operating system is built from scratch. As a hands-on course, students will perform intensive programming using Linux kernel. The contents include booting, segmentation and paging, creating and destroying processes, process switching and scheduling, handling exceptions and interrupts, software interrupts, creating system calls, creating file systems, networking with TCP/IP, device driver writing, and module programming, etc. At the end of the course, students will be able to modify the Linux operating system to create their own.

28:198:434 Advanced Database Systems (3)

Covers the basic concepts of traditional files and file processing, provides a classic introduction to the relational data model and its languages, and discusses database design methodology and application developments. Students are expected to learn the design of database application systems through a small project and to get some practical hands-on experience with commercial database management systems (DBMS) by writing application programs using the commercial DBMS query languages.

Prerequisite: 21&28:198:431.
21&28:198:435 Advanced Data Structures and Algorithm Design (3) Advanced topics in data structures and algorithms, including mathematical induction, analysis and complexity of algorithms, and algorithms involving sequences, sets, and graphs such as searching, sorting, order statistics, sequence comparisons, and graph traversals. Optional topics include geometric, algebraic, and numeric algorithms. Prerequisite: 28:198:288 and 21:640:237.
28:198:438 Interactive Computer Graphics (3) Introduces fundamental concepts of interactive graphics oriented toward computer-aided design systems used in engineering, architecture, and manufacturing. Topics include computer data structures for representation of two- and three-dimensional objects and algorithms for definition, modification, and display of these objects in applications. Discussion of special topics in interactive graphics. Prerequisite: 21:198:101.
28:198:439 Image Processing and Analysis (3) This course is an intensive study of the fundamentals of image processing, analysis, and understanding. Topics to be covered include: a brief review of the necessary mathematical tools, human visual perception, sampling and quantization, image transformation, enhancement, restoration, compression, reconstruction, image geometric transformation, matching, segmentation, feature extraction, representation and description, recognition, and interpretation. Prerequisites: 21:640:335 and 327.
28:198:440 Computer Vision (3) This course introduces basic concepts and methodologies of computer vision, and focuses on material that is fundamental and has a broad scope of applications. Topics include contemporary developments in all mainstream areas of computer vision e.g., image formation, feature representation, classification and recognition, motion analysis, camera calibration, stereo vision, Shape From X (shading, texture, motion, etc.), and typical applications such as biometrics. Prerequisite: 21:640:327.
28:198:441 Database Programming (3) Many technologies have been developed due to the interplay between World Wide Web development and databases on one hand and the growth of database applications in ecommerce on the other hand. Today, practically every ecommerce application has at least a web component and a database component. Many languages have been developed in order to deal with these interactions. This course will focus on accessing databases through the web, but also mention new developments in the field.
28:198:451 Network Technologies (3) This course provides an in-depth study of the different transmission and network technologies that make up the internet infrastructure. Topics include: physical layer technologies, multiplexing and switching, wired and wireless LANS, cellular networks, ATM networks, multimedia formats and protocols, multicasting, traffic characteristics and measurements, and QoS.
28:198:458 Technologies Network Security (3) This course provides both an in-depth theoretical study and a practical exposure to technologies which are critical in providing secure communication over the internet. Topics include: remote access security, web security, wireless security, email security, spam and spam filtering techniques, computer viruses and internet worms, honeypots and honeynets, security liability issues, and compliance. Prerequisite: 28:198:356.
28:198:478 Software Tools for Solving Problems (3) Students interact directly with industry and solve problems using various information-systems software tools. Company representatives present problems they are facing, and the students work in groups to develop a solution, which they present at the end of the semester. Presentation skills, working in groups, and using software tools for problem solving stressed. Prerequisites: Junior or senior standing, permission of instructor.
28:198:482 Data Mining (3)

Covers the concepts and principles of advanced data mining systems design; presents methods for association and dependency analysis; classification, prediction, and clustering analysis.

Prerequisite: 21&28:198:431.
21:198:481,482 Advanced Mathematics in Computer Science (3,3) Covers one or more topics common to mathematics and computer science. Possible topics include applications of abstract algebra to data security problems, digital systems processing, automata theory, asynchronous machines and petri nets, applications of algebra to computer programming, formal language theory, advanced numerical analysis and its theory of errors. Prerequisites: 21:198:102 and 21:640:237 or 238, or permission of instructor.
28:198:485 Special Topics in Computer Science/Information Systems (3) The study of new and/or advanced topics in an area of computer science not regularly covered in any other CIS course. The precise topics to be covered, along with prerequisites, are announced in the semester prior to the offering of the course. A student may register for no more than two semesters of special topics courses. Prerequisites: Junior standing and/or departmental approval.
28:198:486 Topics in Computer Science/Information Systems (3) A continuation of 28:198:485. Prerequisites: Junior standing and/or departmental approval.
28:198:490 Guided Design in Software Engineering (3) This course focuses on the methodology for developing software systems. Methods and techniques for functional requirements analysis and specifications, design, coding, testing and proving, integration, and maintenance are discussed.  Writing intensive.
Prerequisite: Senior standing or department approval.
21&28:198:491 Computer Science Project (3) An opportunity for students to integrate the knowledge and skills gained in previous computer science work into an individual research project. Involves investigation of current literature as well as computer implementation of either a part of a large program or the whole of a small system. Topic should be consonant with the emphasis of direction chosen by the students in their computer science studies. Before registering for this course, students must find a faculty member who agrees to act as their adviser, and students must have a written project proposal approved by their faculty adviser. The proposal must be submitted and approved in the prior semester, usually the third week of November or April. 
Writing intensive. Prerequisites: 28:198:490, senior standing, and project proposal approval.
21:198:493,494 Individual Studies in Computer Science (3,3) Individual study for students interested in specialized study or research in computer sciences. Prerequisite: Permission of instructor. No more than 3 credits may be taken from among 21:198:493,494, 495,496.
21:198:495,496 Internship in Computer Science or Information Systems (3,3) Pursuit of a project of relevant educational value in an employment setting. Before registering for this course, students must find an employer and a faculty supervisor, and students must have a written internship proposal approved by the employer and faculty supervisor. Requires biweekly activity reports, a final report approved by employer and faculty supervisor, and a written evaluation by the employer. Prerequisite: Approval of a proposal by faculty adviser. No more than 3 credits may be taken from among 21:198:493,494, 495,496.
 
For additional information, contact RU-info at 732-445-info (4636) or colonel.henry@rutgers.edu.
Comments and corrections to: Campus Information Services.

© 2017 Rutgers, The State University of New Jersey. All rights reserved.