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
Course Notation Information
Availability of Majors
Accounting 010
Africana Studies 014
American History 512
American Literature 352
Anthropology 070
Art (Art 080, Art History 082)
Arts and Sciences 090 (Interdisciplinary Courses)
Astronomy 100
Biochemistry 115
Biology 120
Biology, Computational and Integrative 121
Biomedical Technology 124
Business Administration 135
Business Law 140
Chemistry (Biochemistry 115, Chemistry 160)
Childhood Studies 163
Computer Science 198
Major Requirements: CCAS and UCC
Bachelor of Science (B.S.) in Computer Science
Bachelor of Arts (B.A.) in Computer Science
Minor Requirements: CCAS and UCC
Departmental Honors Program
Joint B.S./M.S. Degree Program
Courses
Criminal Justice 202
Dance 203
Digital Studies 209
Ecommerce and Information Technology 623
Economics 220
Institute for Effective Education 964
Engineering Transfer 005
English (English Literature 350, American Literature 352, Film 354, Journalism 570, Linguistics 615, Writing 989)
European Studies 310
Finance 390
Fine Arts (Art 080, Art History 082; Museum Studies 698; Music 700, 701; Speech 950; Theater Arts 965)
French 420
Geology 460
German 470
Health Sciences 499
History (Historical Methods and Research 509; European History 510; American History 512; African, Asian, Latin American, and Comparative History 516)
Honors College 525
Human Resource Management 533
International Studies 549
Journalism 570
Latin American and Latino Studies (LALS) Minor
Law
Liberal Studies 606
Linguistics 615
Management 620
Marketing 630
Mathematical Sciences (Mathematics 640, Statistics 960)
Medicine, Dentistry, and Veterinary Medicine
Museum Studies 698
Music 700, 701
Pharmacy 720
Philosophy and Religion 730, 840
Physics 750
Political Science 790
Psychology 830
Religion 840
Reserve Officer Training Programs
Social Work 910
Sociology (Anthropology 070, Criminal Justice 202, Sociology 920)
Spanish 940
Speech 950
Statistics 960
Student-Proposed Majors and Minors 555
Theater Arts (Dance 203, Speech 950, Theater Arts 965)
Urban Studies 975
Women's and Gender Studies 988
World Languages and Cultures (French 420, German 470, Italian 560, Spanish 940)
School of Business-Camden
School of Nursing-Camden
Academic Policies and Procedures
Divisions of the University
Camden Newark New Brunswick/Piscataway
Catalogs
  Camden Undergraduate Catalog 2016-2018 Liberal Arts Colleges Programs, Faculty, and Courses Computer Science 198 Courses  

Courses

50:198:111 Programming Fundamentals (R) (3) Fundamental concepts of structured programming and algorithmic problem solving: primitive data types, control structures, functions and parameter passing, top-down design, arrays, files, and the mechanics of compiling, running, testing, and debugging programs. These concepts will be taught using a high-level language such as C/C++ or Java.
Corequisites: 50:640:121, 129, or 130 and 50:198:112.
50:198:113 Object-Oriented Programming (R) (3) Principles of object-oriented program design and advanced algorithmic problem solving illustrated through an object-oriented language. Topics include encapsulation and information hiding; classes, subclasses, and inheritance; polymorphism; class hierarchies, and the creation, implementation, and reuse of APIs (application programming interfaces). Extensive practice with designing and implementing object-oriented programs, especially using elementary data structures such as linked lists, stacks, and queues.
Prerequisites: 50:640:121, 129, or 130, and 50:198:111. 
50:198:171 Mathematical Foundations of Computer Science (R) (3) Sets, relations, and functions; pigeon-hole principle; cardinality, countability, and uncountability; propositional and predicate logic; universal and existential quantification; proof techniques: formal proofs using counterexample, contraposition, contradiction, and induction; recursive definitions; basic counting: inclusion-exclusion, arithmetic, geometric progressions, and summations; properties of special functions such as logarithms, exponentials, and factorials; permutations and combinations, solving recurrences; graphs and trees; basic discrete probability. Prerequisite: 50:640:113 or by placement.
50:198:211 C and Systems Programming (R) (3) Introduction to programming in the C language with an emphasis on its use in writing low-level systems programs. Topics will include coverage of standard C programming idioms, especially with macros and memory management; introduction to programming with the Unix shell and POSIX system calls; and experience with testing and code maintenance using standard tools like debuggers and code revisioning systems. Prerequisite: 50:198:113.
50:198:213 Data Structures (R) (3) Basic algorithmic analysis: asymptotic notation (Big-Oh, little-oh, and Theta) for estimating the complexity of a problem, using recurrence relations to analyze the complexity of recursive algorithms. Tree-based data structures: binary search trees, heaps, and balanced search trees; hash functions and hash tables; abstract dictionaries; using data structures to implement basic algorithms (such as searching, sorting, and depth- and breadth-first search in graphs; data compression). Prerequisites: 50:198:113 and 171.
50:198:231 Introduction to Computer Organization (3) Elementary digital logic; machine-level representation of data; assembly-level machine organization: the von Neumann machine with its fetch-decode-execute cycle, instruction sets, and assembly language programming; addressing modes; subroutine calls and returns; I/O and interrupts; memory systems: hierarchy, organization, and operations. Prerequisite: 50:198:111.
50:198:323 Software 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, and performance improvement. A treatment of human factors and user interfaces included. Prerequisites: 50:198:113 and 171.
50:198:325 Java Applications (3) Java class hierarchy and inheritance; applications and applets; graphical user interfaces, exception handling, input/output; multithreading, multimedia, and networking. Prerequisites: 50:198:113 and 231.
50:198:347 Computer 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. Prerequisite: 50:198:231.
50:198:371 Design 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,  and algebraic algorithms. Complexity analysis, complexity classes, and NP-completeness. Introduction to approximation algorithms and parallel algorithms. Prerequisites: 50:198:171 and 213.
50:198:441 Parallel, Distributed, Grid, and Cloud Computing (3) This course introduces the concepts, models, implementations, and applications of parallel and distributed systems. Topics include parallel and distributed architectures, grid and cloud computing frameworks; programming models and algorithmic techniques; performance analysis and evaluation; and applications of parallel and distributed computing. The course provides students experience in programming using different parallel/distributed programming paradigms and the opportunity to examine a course topic in depth through a significant semester project. Prerequisites: 50:198:113 and 171.
50:198:443 Operating Systems (3) Comprehensive, hands-on coverage of operating system principles, design, and implementation. Topics include kernel development; process concurrency issues such as starvation, mutual exclusion, deadlock avoidance, concurrency models and mechanisms, producer-consumer problems, and synchronization; scheduling policies and algorithms for preemptive and nonpreemptive scheduling; memory management and analysis of paging and segmentation policies; and file systems. Prerequisite: 50:198:231.
50:198:451 Database Systems (3) Relational database theory and practice, including database design. Database concepts, relational algebra, data integrity, query languages, and views. Introduction to object-oriented databases. Application project with a practical database management system. Prerequisites: 50:198:113 and 171.
50:198:454 Data Mining (3) Introduction to major concepts, techniques, and algorithms in data mining, machine learning, and analytics: classification, decision trees, decision rules, regression, nearest neighbour, evaluation, data preparation, clustering, associations, visualization, summarization and deviation detection, applications in targeted marketing and genomics. Prerequisites: 50:198:113 and 171.
50:198:456 Computer Graphics (3) Graphics systems and imaging principles; graphics programming using packages such as OpenGL, input devices, interactive techniques, animation techniques, geometric transformations and modeling in two and three dimensions; viewing in 2-D and 3-D; lighting and shading; and fundamental graphics algorithms (such as clipping and hidden surface removal). Prerequisite: 50:198:113.
50:198:461 Optimization Methods (3) This course introduces various methods based on linear programming to solve discrete optimization problems. The topics covered in the course will include introduction to linear programming (LP), network flows, and application of LP-based techniques to solve various optimization problem. Prerequisite: 50:640:121, 129, or 130.
50:198:462 Big Data Algorithms (3) Study of algorithmic techniques and modeling frameworks that facilitate the analysis of massively large amounts of data. Introduction to information retrieval, streaming algorithms, and analysis of web searches and crawls. Prerequisite: 50:198:371.
50:198:473 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. Prerequisites: 50:198:113 and 171.
50:198:476 Theory of Computation (3) Formal languages, automata and computability; regular languages and finite-state automata; context-free grammars and languages; pushdown automata; the Church-Turing theses; Turing machines; decidability and undecidability.
Prerequisites: 50:198:171 and 213.
50:198:481 Numerical Methods (3) Computational techniques for solving scientific problems; Precision, IEEE floating point-representation, interpolation, root finding, numerical integration, numerical differential, approximation of functions, functions minimization, numerical linear algebra, numerical solutions of ordinary differential equations.
Prerequisite: 50:640:121, 129, or 130.
50:198:491,492 Special Topics in Computer Science (3,3) In-depth study of areas not covered in regular curriculum. Topics vary from semester to semester.
Prerequisite: As announced or permission of instructor.
50:198:493 Senior 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. This course is intended for computer science majors in their senior year who have completed at least three 300- or 400-level courses in computer science.
Prerequisites: 50:198:213, 231, and approval by department.
50:198:494 Independent 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-496 Honors 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:497 Computer 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 semester. 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 colonelhenry.rutgers.edu.
Comments and corrections to: Campus Information Services.

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