Rutgers, The State University of New Jersey
Graduate School-Camden
 
About the University
Graduate Study at the University
Financial Aid
Student Life
Student Programs and Services
Academic Policies and Procedures
Degree Requirements
Programs, Faculty, and Courses
Biology 120
Chemistry 160
Childhood Studies 163
Computer Science 198
Program
Admission Requirements
Degree Requirements
Scholastic Standing
Graduate Courses
Criminal Justice 202
English 200, 350, 352, 354, 615, 842
History 512
Liberal Studies 606
Mathematical Sciences 645
Physical Therapy 742
Psychology 830
Public Policy and Administration 834
School of Business–Camden
School of Social Work
Graduate School-Newark (on the Camden Campus)
Divisions of the University
Camden Newark New Brunswick/Piscataway
Catalogs
  Graduate School-Camden 2007-2009 Programs, Faculty, and Courses Computer Science 198 Graduate Courses  

Graduate Courses

56:198:521 Compiler Construction (3) Introduction to compiler design and implementation, including lexical analysis, formal syntax specifications, parsing techniques, syntax-directed translation, semantic analysis, execution environment, storage management, code generation, and optimization techniques. Prerequisite: 50:198:321 or equivalent.
56:198:522 Program Transformation and Optimization (3) Introduction to program development and optimization-by-transformation, using the lazy function language Haskell. Use of program transformation to achieve scalability of processes and methods in software engineering.  Applications in compilation, optimization, refactoring, program synthesis, software renovation, and reverse engineering. Prerequisite: 50:198:321 or equivalent.
56:198:523 Software Engineering (3) Theory and practice of process life cycle, project planning, requirements capture, software design, team programming, unit and integration testing, system delivery and maintenance, process and product evaluation and improvement.  One or more recent process approaches - such as pair programming, extreme/agile programming, unified software process, and component-based software engineering models - such as COBRA, COM, EJB. Prerequiste: 50:198:323 or equivalent.
56:198:531 Computer Systems Architecture (3) Processor design; memory hierarchy; cache coherence and consistency; input/output subsystems; multiprocessor and massively parallel architectures. Prerequisite: 50:198:231 or equivalent.
56:198:541 Parallel and Distributed Computing (3) Fundamental issues in the design and development of algorithms and programs for parallel computers;  programming models and performance optimization techniques; application examples and programming exercises on a contemporary parallel machine; cost models and performance analysis and evaluation. Prerequisites: 50:198:113 or equivalent, and 50:640:237 or 50:198:171 or equivalent.
56:198:543 Operating Systems (3) A comprehensive, hands-on coverage of operating system principles, design, and implentation.  Topics include: kernel development; process  concurrency  issues such as starvation, mutual exclusion, deadlock  avoidance, concurrency models and mechanisms, producer-consumer  problems; synchronization; scheduling policies and algorithms for  preemptive and nonpreemptive scheduling; real-time scheduling; memory  management and analysis of paging and segmentation policies; security  and protection; file systems; fault tolerance; performance  evaluation. Prerequisite: 50:198:231 or equivalent.
56:198:546 Computer 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:231 or equivalent.
56:198:548 Mobile and Wireless Computing (3) Digital communication, radio transmission basics, the mobile environment, communication channels, access technologies (FDMA, CDMA, TDMA), channel assignment algorithms, user location and tracking, handoff, packet radio networks, ad-hoc networks, satellite networks, security and authentication issues, mobile IP, power control. Prerequisite: 56:198:546 or equivalent.
56:198:551 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 or equivalent, and 50:640:237 or 50:198:171 or equivalent.
56:198:552 Advanced Database Systems (3) Query processing, including indexing and hashing; query optimization; transaction management, including concurrency control and recovery; database architecture, including server and network systems.  Project based on designing and implementing enterprise systems. Prerequisite: 50:198:551 or equivalent.
56:198:556 Computer Graphics (3) Graphics systems and imaging principles, graphics programming using packages like OpenGL, input devices and interactive  techniques, animation techniques, geometric transformations and modeling in two and three dimensions, viewing in 2D and 3D, lighting and shading, fundamental graphics algorithms (such as clipping, hidden surface removal, etc.). Prerequisite: 50:198:213 or equivalent.
56:198:557 Advanced Computer Graphics (3) Advanced topics in computer graphics with a focus on rendering (hidden surface and visibility algorithms, material properties and reflection models, techniques for global illumination calculations, including ray tracing and radiosity algorithms) and modeling (methods for describing geometric primitives such as implicit surfaces and parametric patches, solid modeling, and constructive solid geometry). Prerequisite: 56:198:556 or equivalent.
56:198:571 Algorithms (3) Review of general tools and techniques in the design and analysis of algorithms and their proof of correctness.  Selected topics from: graph algorithms, algebraic and geometric algorithms, randomized algorithms, online algorithms. Prerequisite: 50:198:371 or equivalent.
56:198:573 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, Voronai diagrams, and line arrangements. Prerequisite: 50:198:371 or equivalent.
56:198:575 Crytography and Computer Security (3) Secret-key cryptography, public-key cryptography, key agreement, secret sharing, digital signatures, message and user authentication, one-way functions, key management; attacks; practical applications to computer and communications security. Prerequisites: 50:198:113 or equivalent, and 50:640:237 or 50:198:171 or equivalent.
56:198:576 Introduction to the 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 thesis; Turing machines; decidability and undecidability. Prerequisite: 50:640:237 or 50:198:171 or equivalent.
56:198:577 Computational Complexity Theory (3) Fundamental mathematical concepts; models of computation, uncomputability, notions of space and time complexity.  Complexity classes and reductions. Prerequisite: 56:198:576 or equivalent.
56:198:578 Combinatorial Optimization (3) Introduction to linear optimization and the theory of linear programming.  Topics include: the simplex method; duality; network flow problems; graph matching; integer programming; NP-completeness and introduction to both LP-based and combinatorial techniques for designing approximation algorithms. Prerequisite: 50:198:371 or equivalent.
56:198:582 Introduction to Computational Biology (3) Basic overview of biochemistry and biomolecules: DNA, RNA, amino acids, and proteins; sequence alignment problems, protein structure prediction; introductory phylogenetics; use of public databases. Prerequisite: 56:198:571 or equivalent.
56:198:691,692 Special Topics in Computer Science (3,3) In-depth study of areas not covered in regular courses.  Topics vary from semester to semester. Prerequisite: Permission of instructor.
56:198:693 Master's Project (3) Open only to students pursuing the project option. Design, implementation, and demonstration of a significant software project. Project proposals must be approved by instructor. The project completion requires a report and a presentation.
Prerequisite: Permission of instructor.
56:198:694 Independent Study in Computer Science (1-3) Designed to meet the needs of students who wish to conduct original research in computer science. Prerequisite: Permission of instructor.
56:198:701,702 Research in Computer Science (3,3) Open only to students pursuing the thesis option. This will involve two semesters' worth of substantial and independent research on a topic approved and supervised by a faculty member (the thesis adviser) who will work closely with the student. This research will be exposited in the student's M.S. thesis. Prerequisite: Permission of thesis adviser and graduate director.
 
For additional information, contact RU-info at 732/932-info (4636) or colonel.henry@rutgers.edu.
Comments and corrections to: Campus Information Services.

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