Rutgers, The State University of New Jersey
Undergraduate-Newark
 
About the University
Undergraduate Education in Newark
School of Arts and Sciences-Newark
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
Africana Studies 014
American Studies 050
Ancient and Medieval Civilizations 060
Anthropology 070
Arabic 074
Art, Design, and Art History 080, 081, 082, 083, 085
Arts & Sciences 090
Asian Studies 098
Biological Sciences 120
Chemistry 160
Chinese 165
Clinical Laboratory Sciences 191
Computer Science 198
Learning Goals
Major Requirements: Computer Science
Minor Requirements: Computer Science
Minor in Data Science
Courses (Computer Science 198)
Creative Writing 200
Data Science 219
Economics 220
Ecology, Evolution, and Natural Resources 216
English 350, 352
English: Composition and Writing 355
Environmental Sciences 375
Film Studies 380
French 420
Geoscience/Geology 460
Global Politics 487
Health and Society 502
Health Information Management 504
History 510, 512
Honors 525
Honors Living-Learning Community 526
International Affairs 551
Italian 560
Japanese 565
Journalism 086
Latin 580
Latin American Studies 590
Latina/o Studies 597
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
Social Work 910
Sociology 920
Spanish 940
Theater 088
Translation and Interpreting Studies 942
Urban Education 300
Video Production 089
Women's and Gender Studies 988
Writing 989
Youth Development & Juvenile Justice 985
Administration and Faculty
Opportunities 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 2022-2024 School of Arts and Sciences-Newark 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 (with a grade of 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 (with a grade of C or better).
21: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.
21: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:198:300 Introduction to Computing System (3) This course introduces the fundamental hardware and software of computing systems. It covers MOS transistors, logic gates, combinational and sequential logic circuits, memory, Von Neumann model, and architecture of a simple computer, as well as machine and assembly language programming.

Prerequisite: 21:198:102 or 21:198:251.
21: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. Prerequisite: 21:198:102 (with a grade of 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.
21:198:342 Cloud Computing (3) The course explains how to create high-performance clusters, scalable networks, automated data centers, and high-throughput cloud/grid systems. The course covers programming, and the use of distributed or cloud systems in innovative internet applications. Topics cover the transformation of traditional multiprocessors and multicomputer clusters into web-scale grids and clouds. Prerequisite: 21:198:332.
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).
21:198:347 Introduction to Mobile Application Development (3) This course introduces the dynamic world of Android smartphone and tablet app development with the Android Software Development Kit (SDK), and the Java programming language and the Android Studio Integrated Development Environment (IDE). The techniques introduced in this course also apply to Android Wear and Android TV app development. Apple iOS mobile application topics may also be covered. Prerequisite: 21:198:335.
21:198:348 Introduction to Swift iOS Application Development (3) This course introduces the dynamic world of Apple iOS smartphone and tablet application development with Apple's Xcode IDE and the SWIFT programming language. The techniques introduced in this course may also apply to Apple Wear and Apple TV application development. Prerequisite: 21:198:102 or 21:219:220.
21:198:349 Introduction to Machine Learning and Artificial Intelligence (3) Data is an asset only if it is of high quality and usable, otherwise it is a liability. This course introduces data mining, machine learning, deep learning, data analytics and data visualization combining statistical theories with real-world computer-based applications. Students, through hands on practice by running and creating machine learning projects, will gain understanding of the fundamentals of machine learning, deep learning, artificial intelligence and their real-world applications.

Prerequisite: 21:198:102 or 21:219:220.
21:198:351 Introduction to Cybersecurity (3) This course covers the fundamentals of Cybersecurity. It introduces many different areas of security such as cryptography, malicious code, authentication and access control, trusted computer systems, operating systems, and network security. A combination of interactive lectures and integrated technology is used to provide a more effective, productive, and enhanced learning experience for students.
Prerequisite: 21:198:356 or 28:544:120.
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. Prerequisite: 21&28:198:251 or instructor-approved equivalent.
21: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 21: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:198:431 Database System Design & Management (3) This course provides a comprehensive introduction to the language of relational databases: Structured Query Language (SQL). Topics covered include Entity-Relationship modeling, the Relational Model, the SQL language: data retrieval statements, data manipulation and data definition statements.

Prerequisite: 21:198:102 or 21:219:220.
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: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. Prerequisites: 21: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 that 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.
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: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.
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.
21:198:490 Software Engineering (3) Software systems are built to perform a variety of tasks. This course covers the fundamentals of software systems, functional requirements analysis, design, development, testing, integration, implementation, operation and maintenance. Students, through course projects, will practice the systems analysis, design and development process. Writing intensive.
Prerequisites: 21:198:280, 21:198:288, and senior standing.
21: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: 21:198:490 and senior standing.
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 848-445-info (4636) or colonelhenry.rutgers.edu.
Comments and corrections to: One Stop Student Services Center.

© 2022 Rutgers, The State University of New Jersey. All rights reserved.
Catalogs Home