Rutgers, The State University of New Jersey
Camden Undergraduate
 
About the University
Undergraduate Education in Camden
Degree Requirements
Liberal Arts Colleges
Camden College of Arts and Sciences
University College–Camden
Programs, Faculty, and Courses
Availability of Majors
Course Notation Information
Engineering Transfer 005
Accounting 010
African-American Studies 014
Agriculture and Environmental Sciences
American History 512
American Literature 352
American Studies 050
Anthropology 070
Art (Art 080, Art History 082)
Arts and Sciences 090 (Interdisciplinary Courses)
Astronomy 100
Biochemistry 115
Biological Sciences (Biology 120, Botany 130, Microbiology 680, Physiology 760, Plant Physiology 780, Zoology 990)
Biomedical Technology 124
Botany 130
Business Administration 135
Business Law 140
Chemistry (Biochemistry 115, Chemistry 160)
Childhood Studies 163
Computer Science 198
Major Requirements: CCAS and UC–C
Bachelor of Science (B.S.) in Computer Science
Scientific Computing Track
Bachelor of Arts (B.A.) in Computer Science
Technical Tracks
Information Systems Track
Minor Requirements: CCAS and UC–C
Departmental Honors Program
Courses
Criminal Justice 202
Dance 203
Ecommerce and Information Technology 623
Economics 220
Education
Engineering Transfer Program 005
English (English Literature 350, American Literature 352, Film 354, Journalism 570, Linguistics 615, Writing 989)
Film Studies 387
Finance 390
Fine Arts (Art 080, Art History 082; Dance 203; Museum Studies 698; Music 700, 701; Speech 950; Theater Arts 965)
Foreign Languages and Literatures (French 420, German 470, Russian 860, Spanish 940)
Geology 460
History (History 510, American History 512)
Home Economics 520
Honors College
International Studies Program 549
Student-Proposed Majors and Minors 555
Journalism 570
Justice and Society 572
Latin American Studies Minor
Law
Liberal Studies 606
Linguistics 615
Management 620
Marketing 630
Mathematical Sciences (Mathematics 640, Statistics 960)
Medicine, Dentistry, and Veterinary Medicine
Microbiology 680
Museum Studies 690
Music 700, 701
Nursing 705
Pharmacy 720
Philosophy and Religion
Physics 750
Physiology 760
Plant Physiology 780
Political Science 790
Psychology 830
Religion 840
Reserve Officer Training Programs
Russian 860
General Science 890
Social Work 910
Sociology (Anthropology 070, Criminal Justice 202, Sociology 920)
Spanish 940
Speech 950
Statistics 960
Teacher Preparation 964
Theater Arts (Dance 203, Speech 950, Theater Arts 965)
Urban Studies and Metropolitan Planning 975
Walt Whitman Program in American Studies
Women's Studies 988
Zoology 990
School of Business - Camden
General Information
Camden Newark New Brunswick/Piscataway
Catalogs
  Camden Undergraduate Catalog 2003-2005 Liberal Arts Colleges Programs, Faculty, and Courses Computer Science 198 Courses  

Courses

50:198:110Introduction to Computing (R) (3) Introduction to computers and information technology, with an emphasis on personal computers and their applications. Understanding of and hands-on experience with application software including word processors, spreadsheets, database systems, electronic mail, and web browsers. Introductory problem solving and computer programming. Prerequisite: Satisfy mathematics requirement for admission to the colleges.
50:198:111Introduction to Computer Science (R) (3) The first course for computer science majors. Basic concepts of computing, fundamental problem-solving techniques, and principles of structured programming. Programming in a modern high-level language (such as C/C++ or Java). Must be taken concurrently with 50:198:112 Software Laboratory I. Corequisites: 50:640:121 or 129 or 130, and 50:198: 112.
50:198:112Software Laboratory I (R) (1) Formal laboratory that provides practical programming experience based on the lecture material of 50:198:111. Introduction to the Unix system, including the file system; programming tools such as editors, compilers, and debuggers; libraries; and other utilities. Corequisite: 50:198:111.
50:198:113Programming with Data Structures (R) (3) Abstract data types and elementary data structures, including stacks, queues, linked lists, tree-based structures, and hash tables. Algorithmic analysis, recursion, searching and sorting, and basic algorithms. Principles of object-oriented programming and design illustrated through a modern object-oriented language (such as C++ or Java). Prerequisites: 50:198:111 and 50:640:121 or 129 or 130. Corequisite: 50:198:114.
50:198:114Software Laboratory II (R) (1) Formal laboratory that provides practical programming experience based on the lecture material of 50:198:113. Introduction to Unix systems programming, Unix systems calls, shell scripts, and graphical user interface (GUI) libraries and tools. Prerequisite: 50:198:112. Corequisite: 50:198:113.
50:198:151Introduction to Programming Methods Using FORTRAN (R) (3) Intended for science and engineering majors. Basic problem- solving and programming techniques, basic data structures, and fundamental numerical algorithms. Programming in FORTRAN. Corequisite: 50:640:121 or 130.
50:198:221Programming Language Concepts (3) Design issues relevant to the implementation of programming languages: sequence control, data control, type checking, run-time storage management, language translation, and semantics. Comparison of major programming paradigms: procedural, functional, logic, and object-oriented. Language features that support parallel and distributed computing. Introduction to the relational data model and relational database query languages. Prerequisite: 50:198:113.
50:198:231Computer Organization and Assembly Language Programming (3) Machine representation of data and instructions, instruction set architecture, memory organization, input/output, and interrupt processing. Assembly language and machine language, relation to high-level language, and operating system interface. Assembly language programming, including subroutine construction, macros, debugging, linking, and loading. (Formerly 50:198:211 Introduction to Computer Architecture and Assembly Language Programming)
50:198:271Design and Analysis of Algorithms (3) Algorithm design techniques: divide-and-conquer, greedy method, dynamic programming, backtracking, and branch-and-bound. Advanced data structures, graph algorithms, algebraic algorithms. Complexity analysis, complexity classes, and NP-completeness. Introduction to approximation algorithms and parallel algorithms. Prerequisites: 50:198:113 and 50:640:237.
50:198:316Parallel Programming (3) Fundamental issues in the design and development of parallel programs for various types of parallel computers. Various programming models according to both machine type and application area. Cost models, debugging, and performance evaluation of parallel programs with actual application examples. Programming techniques and optimization. Programming exercises on a contemporary parallel machine. Prerequisites: 50:198:113 or advanced programming experience and permission of instructor.
50:198:323Software Methodology and Engineering (3) Principles and techniques for the design and construction of reliable, maintainable, and useful software systems. Software life cycle, requirements specifications, and verification and validation issues. Implementation strategies (e.g., top-down, bottom-up, teams), support for reuse, performance improvement. A treatment of human factors and user interfaces included. Prerequisite: 50:198:221.
50:198:333Computer Hardware and Interfacing (3) Introduction to digital logic, combinational circuits, sequential circuits. Introduction to microprocessor architecture and organization, operation and programming, interfacing, and application of microprocessors. Prerequisites: 50:198:231 and 50:640:237. Corequisite: 50:198:334. Credit not given for both this course and 50:750:308.
50:198:334Computer Hardware and Interfacing Laboratory (1) Provides hands-on experience in digital design using PLA/PLD devices, EEPROM, and MSI/LSI circuits, and interfacing of microprocessors to memory and peripherals.  Corequisite: 50:198:333. Credit not given for both this course and 50:750:312.
50:198:341Principles of Operating Systems (3) Fundamental concepts of operating systems. Process management, memory management, device management, file systems, resource allocation, security and protection. Introduction to network and distributed operating systems. Prerequisites: 50:198:113 and 231.
50:198:346Computer Networks (3) Introduction to computer communication networks, including physical and architectural components, communication protocols, switching, network routing, congestion control, and flow control. End-to-end transport services, network security and privacy. Networking software and applications. Network installation, testing, and maintenance. Prerequisite: 50:198:113.
50:198:347Computer Systems Administration (3) Basic administration of networked computer systems (such as Unix and/or Windows NT). Installing and configuring the operating system, upgrading software and hardware, installing patches, system backups, security issues, account creation and deletion, system accounting and log files, job scheduling, performance monitoring, tcp/ip and networking, client/server file sharing and printing, file layout and organization, disk and tape administration, and a look at several administrative tools. Prerequisites: 50:198:113 and 343.
50:198:351Database Systems (3) Relational database theory and practice, including database design. Database concepts, relational algebra, data integrity, query languages, views. Introduction to object-oriented databases. Application project with a practical database management system. Prerequisites: 50:198:113 and 50:640:237.
50:198:356Computer Graphics (3) Characteristics of graphics display devices and systems; representation, manipulation, and display of two- and three-dimensional objects; curve and surface modeling; two- and three-dimensional transformations; hidden lines and surfaces; shading and coloring; interactive graphics and user interfaces; animation techniques. Prerequisite: 50:198:113.
50:198:361Artificial Intelligence (3) Techniques and applications of artificial intelligence: search, rule-based reasoning, statistical reasoning, game playing, machine learning, knowledge representation. The use of heuristics to obtain satisfactory solutions to intractable problems. Prerequisites: 50:198:113 and 50:640:237.
50:198:376Introduction to the Theory of Computation (3) Introduction to the theory of computability, including important results from the study of automata and formal languages. Automata and their relationship to regular, context-free, and context-sensitive languages. General theories of computability, including Turing machines, recursive functions, and lambda calculus. Notions of decidability and undecidability, complexity classes, and complexity analysis. Prerequisite: 50:640:237.
50:198:381Introduction to Numerical Methods (3) Methods of finding roots, interpolation, curve fitting, integration, differentiation, and minimization; estimation and control of various computational errors. Prerequisites: 50:198:111 and 50:640:221.
50:198:421Compiler Construction (3) Introduction to compiler design and implementation, including lexical analysis, formal syntax specification, parsing techniques, syntax-directed translation, semantic analysis, execution environment, storage management, code generation, and optimization techniques. Prerequisites: 50:198:221, 231, and 376.
50:198:426Information Systems Analysis and Design (3) Overview of information systems; analysis of existing systems; requirements determination; design of information systems including interface, inputs, outputs, database. Group analysis and design project. Alternative development methodologies. Modern tools for analysis and design. Prerequisite: 50:198:351.
50:198:431High-Performance Computer Architectures (3) Architecture of pipelined and superscalar processors, vector supercomputers, multiprocessors, parallel computers, multithreaded processors, and dataflow processors. System interconnect architectures, memory hierarchy design, and input/output subsystems. System design issues such as shared memory and message-passing communication models, cache coherence and synchronization mechanisms, latency-hiding techniques, virtual memory management, and task scheduling. Prerequisites: 50:198:231 and 333.
50:198:441Distributed Systems (3) Models of distributed systems, distributed algorithms and protocols, operating systems support, programming paradigms. Case studies of experimental and commercial systems. Prerequisite: 50:198:341.
50:198:458Scientific Visualization (3) Study of visualization techniques useful for the analysis and interpretation of scientific and engineering data. Topics include two- and three-dimensional data types; visual representation schemes for scalar, vector, and tensor data; isosurface and volume visualization methods; animation; and interactive manipulation of data. Prerequisites: 50:198:113, 381, and 50:640:250.
50:198:471Advanced Algorithms (3) Advanced and specialized topics in algorithms, selected from parallel algorithms, randomized algorithms, combinatorial optimization, or other. Prerequisite: 50:198:271.
50:198:473Introduction to Computational Geometry (3) Algorithms and data structures for geometric problems that arise in various applications, such as computer graphics, CAD/CAM, robotics, and geographical information systems (GIS). Topics include point location, range searching, intersection, decomposition of polygons, convex hulls, and Voronoi diagrams. Prerequisite: 50:198:271.
50:198:475Cryptography and Computer Security (3) Secret-key cryptography, public-key cryptography, key arrangement, secret sharing, digital signatures, message and user authentication, one-way functions, key management; attacks; practical applications to computer and communication security. Prerequisite: 50:198:271.
50:198:481Advanced Numerical Methods (3) Numerical techniques for solving linear algebraic systems, eigenvalue problems, least squares, quadrature. Numerical solution of initial and boundary value problems for ordinary and partial differential equations. Prerequisites: 50:198:381, 50:640:250 and 314.
50:198:483Linear Programming (3) Linear programming using the simplex method and dual linear programming. Applications of linear programming to network flows and other problems. Convex sets and elements of convex programming. Combinatorial optimization. Integer programming. Prerequisites: 50:640:221 and 250.
50:198:485Computational Mathematics (3) Computational aspects of number theory, with a brief introduction to underlying theories. Topics include prime numbers, pseudo primes, and their applications especially in cryptography; prime factorization of composite numbers via several different methods. Computer simulation emphasized. Prerequisite: 50:640:250. Credit not given for both this course and 50:640:498.
50:198:487Visualizing Mathematics by Computer (3) A comprehensive introduction to symbolic computational packages and scientific visualization through examples from calculus and geometry. Covers 2-D, 3-D, and animated computer graphics using Maple, Mathematica, and Geomview. Prerequisite: 50:640:221. Credit not given for both this course and 50:640:497.
50:198:491,492Special Topics in Computer Science (3,3) In-depth study of areas not covered in regular curriculum. Topics vary from term to term. Prerequisite: As announced or permission of instructor.
50:198:493Senior Design Project (3) Design, implementation, and demonstration of a significant software and/or hardware project. Project proposals must be submitted and approved by instructor. Part of the lecture time used to discuss such issues as the historical and social context of computing, responsibilities of the computing professional, risks and liabilities, and intellectual property. Prerequisite: Senior standing or permission of instructor.
50:198:494Independent Study (BA) Individual study under the supervision of a computer science faculty member; intended to provide an opportunity to investigate areas not covered in regular courses. Prerequisite: Permission of instructor.
50:198:495-496Honors Program in Computer Science (BA,BA) A program of readings and guided research in a topic proposed by the student, culminating in an honors thesis presented to the departmental faculty for approval. Prerequisite: Approval by department.
50:198:497Computer Science Internship (BA) The practical application of computer science knowledge and skills through an approved internship in a sponsoring organization. Arrangements for the internship must be agreed upon by the sponsoring organization and approved by the department before the beginning of the term. Students should consult the department for detailed instructions before registering for this course. Prerequisite: Approval by department.
 
For additional information, contact RU-info at 732/932-info (4636) or colonel.henry@rutgers.edu.
Comments and corrections to: Campus Information Services.

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