COMPUTER SCIENCE Graduate Courses (2001-2002)
CS 501A Cr.3--- recent
syllabus
Computer Programming Essentials
This is an introductory level course in computer programming for newly admitted graduate students. Students will learn basic concepts in modern computer programming. Students will complete all programming exercises and assignments in the C++ programming language. Students will also be introduced to the Unix program development environment.
Prerequisites:
some programming experience
CS 501B Cr. 3-- recent
syllabus
Program Development
Intensive coverage of the essential aspects of
programming featuring C++ with elements of C. Syntax and semantics, the compilation
process. The object-orientation paradigm, program structure, program design, coding,
debugging. Input/output. Unix support for C and C++. Software testing and maintenance.
Prerequisites: Open only to
those students accepted in the MS program in Computer Science; students
should have had CS501A, CS175 or the equivalent. Assumes knowledge of C++ syntax.
CS 502 Cr. 3 --recent
syllabus
Theoretical Foundations of Computer Science
Computer applications of the following areas:
probabilities, distributions, random numbers, essential combinatorics; recursion and
recursive formulas; generating functions; elements of linear algebra.
Prerequisites: Open only to
those students accepted in the MSCS program in Computer Science.
CS 503 Cr. 3-- recent
syllabus
Advanced Programming I
Design and implementation of commonly used algorithms
and their associated data structures, including: linked lists, stacks, queues, trees,
graphs, internal and external sorting, static and dynamic hashing. Applications to problem
solving and object-oriented design of moderate sized programs.
Prerequisite: CS 500 (Program
Development) or departmental placement.
CS 505 Cr. 3--recent
syllabus
Operating Systems Concepts
The basic concepts of Operating Systems from the point
of view of an advanced user: the interaction of the kernel, the command interpreter, and
user processes. Focus is on process and resource management, concurrency control, and
interprocess communication. Examples and projects are based mainly on Unix. The course
also includes an introduction to computer architecture from an Operating Systems
perspective (processors, devices, interrupts, clocks, etc.)
Prerequisite: CS 500
Prerequisite: CS 503.
CS 509 Cr. 3--recent
syllabus
Advanced Programming II
This is the last in a sequence. Algorithmic design:
greedy algorithms, divide and conquer, dynamic programming, backtracking, probabilistic
algorithms. Solving complex problems. Designing and implementing large programs. Students
who complete CS509 will be capable of designing, writing, analyzing, and maintaining
sizable programs (>1000 lines of C++code).
Prerequisites: CS 502 and CS
503.
CS 510 Cr. 3
Programming Languages
Concepts in programming languages, data abstraction,
control abstraction, program correctness, functional programming and language design.
Historical and current programming languages are studied. Computer laboratory work is
required.
Prerequisite: CS 509.
CS 511 Cr. 3 --recent
syllabus
Technical Communication
Preparation, analysis, synthesis, and presentation of
system documentation, technical papers, and data flow diagrams; literature search.
Prerequisites: Open only to
those students accepted in the MS program in Computer Science.
CS 512 Cr. 3 --recent
syllabus, syllabus
2
Algorithm Design
Design and analysis of algorithms. Dependence of
algorithm efficiency on data structure choice. Correctness of algorithm implementation.
Basic design techniques and their applications to programming with fundamental
structures.
Prerequisite: CS 509.
CS 514 Cr.3--recent
syllabus
Networks
This is an introductory level course on the hierarchy of
networking software and hardware. Particular emphasis on medium Access Control, Network
layer, Transport layer and Session layer. Several MAC-layer protocols, TCP/IP.
Co-requisite: CS
502.
CS 515 Cr. 3
Formal Methods
The use of formal specifications to describe the
behavior of computer systems and the use of formal proof methods to verify design.
Prerequisite: CS 509.
CS 517 Cr. 3 --recent
syllabus
Database Systems
Introduction to database systems, data modeling, query
languages, file organization methods, and query processing. Coverage of relational
database design and relational database management systems.
Prerequisites: CS 502 and CS509.
CS 519 Cr. 3
Advanced Operating Systems
An advanced course in operating systems with a number of
case studies. Emphasis is placed on issues in both centralized and distributed operating
systems (concurrency control, resource management, file systems, network interface). The
course has a UNIX flavor; some prior knowledge of C will be an asset, but is not
necessary.
Prerequisites: CS 505 and CS
509.
CS 520 Cr. 3
Introduction to Intelligent Systems
Introduction to high-level knowledge representation issues.
Applications include Java-based rule-based systems and agents to make retrieval more intelligent than the conventional methods.
Prerequisite: CS 500.
CS 521 Cr. 3
Artificial Intelligence
Basic and advanced methods in symbolic and quantitative artificial intelligence through Lisp programming techniques.
Current issues concerning rule-based vs. statistical methods via applications.
Prerequisites: CS 502 and CS509.
CS 522 Cr. 3 --recent
syllabus
Communications Systems
A systems overview of analog and digital communications
systems primarily intended for non-engineering students. Fundamental limits on the rate of
transfer of information due to the effects of bandwidth and noise. Impact of transmission
media (e.g., wireless, fiber optic, cable) on the transmission rate. The use of coding to
reduce the effects of noise. This course is not appropriate for students who have taken
EE517-Communication Theory or an undergraduate course in communications.
CS 524 Cr. 3
Complexity of Algorithms
Design and analysis of algorithms, including computer
models, searching and sorting, matrix operations, graph algorithms, pattern matching, and
NP-complete problems.
Prerequisite: CS 512.
CS 525 Cr. 3 - recent syllabus
Simulation
Formal models of discrete event systems, computer
simulation of models, analysis of simulation results. Discrete event simulation is applied
to studying the performance of computer and communication systems. Object-oriented design
and programming in C++.
Prerequisites: CS 503 and CS
514.
CS 526 Cr. 3-- recent
syllabus
Performance Evaluation
The role of performance evaluation in the product
lifecycle. Introduction to Markov chains and elementary queuing theory. Complementary
roles of analytic and simulation methods. Applications to performance evaluation of
computer and communication systems.
Prerequisites: CS 500 and CS
502.
CS 527/CS627 Cr. 3 recent
syllabus
Quantitative Systems Engineering
Development of methods and techniques for analyzing the
performance of complex systems. Applications to the performance engineering of
computer/communications systems including distributed computing/information systems, and
integrated telecommunications (e.g. BISDN/ATM networks).
Prerequisites: CS 514 and CS
526.
CS 528 Cr. 3
Case Studies: Systems Modeling and Simulation
Case study approach to modeling and simulation. Focus on
performance and simulation problems from actual work environments.
Prerequisite: CS 526.
CS 529 Cr. 3
Graph Algorithms
Major graph algorithms including but not restricted to
path, flow, matching and covering algorithms. The Chinese postman problem and the
traveling salesman problem will also be discussed.
Prerequisite: CS 512.
CS 530 Cr. 3
Knowledge-Based Systems
Fundamental techniques in building knowledge-based
systems using logic programming technology. Applications of knowledge-based systems.
Prolog programming techniques. Using advanced Prolog programming techniques.
Prerequisites: CS 517 and CS
520.
CS 531 Cr. 3
Intelligent Interfaces
Computer-human interfaces that use speech understanding
and image processing (such as handwriting).
Prerequisite: CS 521.
CS 532 Cr. 3
Compiler Design
The major techniques used in compiler writing, lexical
analysis, syntax analysis, storage management, error detection and recovery, code
generation (LEX, YACC, etc.).
Prerequisite: CS 512.
CS 533 Cr. 3
Advanced Database Systems
New data models and database languages.
Advanced database applications. Transactions processing.
Prerequisite: CS
517.
CS 535 Cr. 3- recent
syllabus
Telecommunications
In-depth coverage of the lower layers of the network
hierarchy. Physical layer, Data Link layer, Network layer, and Transport layer.
Prerequisites: CS 505 and CS
514.
CS 536 Cr. 3
Introduction to Formal Languages and Automata
Definition and properties of phrase structure languages
and their relation to automata. Emphasis on context-free and regular languages.
Prerequisite: CS 512.
CS 537 Cr. 3--recent
syllabus
Client-Server Interfaces
Design of client-server systems. This is a
project-dominated course. Students from the AI stream will design and implement a
distributed client-server system for some AI application, while students from the COMPUTER
NETWORKS stream will be more involved in Transport layer issues. Coverage of the higher
layers of the network hierarchy. Transport layer, Session layer and Application layer.
Programming with TCP and UDP.
Prerequisites: CS 514 and CS
505.
CS 545 Cr. 3 -- recent
syllabus
Graphics
Drawing with a graphics kernel, 2D and 3D
transformations, view transformation , area filling, line and polygon clipping, hidden
surface algorithms, curves and surfaces, Gouraud and Phong shading, pattern and texture
mapping, fractals, and rendering using a ray-tracer.
Prerequisite: CS 509.
CS 550 Cr. 3 --recent
syllabus
Computer System Architecture
Computer
system interconnection structures, central processing unit, control unit,
microprogrammed control, memory organization, cache and virtual memory,
computer arithmetic, RISC processors, introduction to parallel processing,
and case studies.
Prerequisites: CS
503.
CS 551 Cr. 3 - recent
syllabus
Parallel Processing
Parallel
computer paradigms, parallel processing applications, conditions of
parallelism, scalable computer platforms parallelism issues, performance
metrics and benchmarking, speedup performance laws for parallel systems,
parallel memory organization, interconnection networks, multiprocessing
and multiprocessors, multi-computers, massively parallel systems, mapping
applications to parallel systems, and case studies.
Prerequisites: CS
550 or equivalent.
CS 560 Cr. 3
Masters Seminar
Emphasis on preparation, analysis, synthesis, and
presentation of software system documentation, project progress reports, and technical
papers based on literature research.
Prerequisites: Completion of
21 credits towards the M.S. degree, including three core courses.
CS 561 Cr. 3-6
Project/Thesis Course
Project/thesis experience from 3 to 6 credits under the
supervision of faculty engaged in research.
CS 588 Cr. 1
Curricular Practical Training
This
course provides an opportunity for Computer Science or Software
Engineering graduate students to obtain related “practical training”
in employment at a local company or institution, with Monmouth University
sponsorship. This one-credit course is available to CS graduate students
who have completed at least 9 credits hours of graduate courses (500
level) with a GPA of 3.0 or better. It does not satisfy elective
requirements in the curriculum. Students may take the course no more than
two times (2 CPT credits). For each credit, student must accumulate at
least 20 hours per week of work experience over at least 8 weeks.
Prerequisites:
Must have
completed 9 credit hours of graduate courses (500 level), with a minimum
GPA of 3.0.
CS 590 Cr. 6
Thesis
Independent investigation of special topics reflecting
the research interests of the sponsoring professor. Sequential registration for one or
more credits is required until successful project completion.
Prerequisites: Completion of
21 graduate credits, including three core courses, and departmental permission.
CS 598 Cr. 3
Special Topics
The subject matter varies with the interest of the
students and of the professor teaching the course. The exact nature of the topic covered
in any given semester is indicated in the student's transcript.
CS 599 Cr. 3
Independent Study
Independent study in a topic not substantially treated
in a regular graduate course, for students with superior ability; weekly consultation.
Prior permission of directing professor and the graduate program director is required.
CS627 (see CS527, above)
CS 635 Cr. 3 recent syllabus
Advanced Wireless Networking
This graduate course
covers the fundamental techniques in the design, operation, and evaluation
of wireless networks. Among the topics: first, second, third, and fourth
generation wireless systems, cellular wireless networks, satellite
systems, fixed wireless systems. The physical layer (medium), media access
techniques, information encoding methods.
Personal area networks, wide area networks, wireless local area
networks. Wireless technologies, architectures, protocols, and standards.
Advanced topics.
CS 661 Cr. 3-6
Advanced Projects Project/thesis experience from 3 to 6 credits under the
supervision of faculty engaged in research.
CS 690 Cr. 6
Thesis Independent investigation of special topics reflecting
the research interests of the sponsoring professor. Sequential registration for one or
more credits is required until successful project completion.
Prerequisites: Completion of
21 graduate credits, including three core courses, and departmental permission.
CS 698 Cr. 3
Advanced Special Topics The subject matter varies with the interest of the
students and of the professor teaching the course. The exact nature of the topic covered
in any given semester is indicated in the student's transcript. Generally
will have at least one pre-requisite at the 521+ level.
|