Madison Script
James Madison University

CGOP Main Page

2004-2005 Graduate Catalog Home

General Information

Accounting

Adult Education/Human Resource Development

Art & Art History

Assessment and Measurement Doctoral Program

Biology

Business Administration

Combined-Integrated Doctoral Program

Communication Sciences & Disorders

Computer Science

Education

English

Health Sciences

History

Integrated Science and Technology

Kinesiology and Recreation Studies

Music

Nursing

Occupational Therapy

Physican Assistant

Psychology Graduate Programs

Public Administration

Public Health

Special Education

Technical and Scientific Communication

Computer Science

Accounting

Dr. Malcolm G. Lane, Department Head

Dr. Ralph Grove, Graduate Program Coordinator

For information, call (540) 568-8772                        

Web site: http://www.cs.jmu.edu/csprogram.htm

Professors

C. Fox, J. A. Harris, M. Heydari, M. Lane, J. Marchal, R. Mata-Toledo

Associate Professors

C. Abzug, E. Adams, D. Bernstein, P. Cushman, M. Eltoweissy, R. Grove, R. Prieto-Diaz, S. Redwine

Assistant Professors

M. Aboutabl, B. Tjaden, M. Norton, R. Tucker, X. Wang

Adjunct Assistant Professor

S. Greenwald

Admission

Mission

Concentrations

Course Offerings

 

Admission

Admission to the program is competitive. Preference is given to students with undergraduate preparation in Computer Science, or industrial or government experience in computing. Strong students from other disciplines are encouraged to apply. Students judged able to complete the program but lacking preparation in Computer Science will generally be admitted conditionally and required to complete remedial courses.

In addition to the College of Graduate and Professional Program’s admission qualifications, potential candidates must meet the requirements of the Computer Science department as specified by on the Web site at http://www.cs.jmu.edu/grad_admissions.htm.

 

Mission

The graduate program in Computer Science prepares highly skilled professionals with advanced expertise in creating and maintaining secure and reliable computing systems.

The Computer Science department offers two programs of study leading to the Master of Science in Computer Science. The on-campus program in Secure Software Engineering combines studies in the areas of software engineering and information security. The distance-education program in Information Security features intensive study of information security. Both programs achieve their goals through courses in core areas of Computer Science, followed by course work and directed study in software engineering and information security.

Full-time on-campus graduate students can expect to complete their course work in four semesters, and distance-education students in five semesters. Part-time students seeking to advance their careers may pursue their academic objectives at a pace commensurate with their professional and personal obligations.

Concentrations

Concentration in Secure Software Engineering

Dr. Ralph Grove, Concentration Coordinator

This concentration is available only to on-campus students. The program requires 36 credit hours, half of which must be at the 600-level or above. Ten courses comprising 30 credits are required and six credits are electives. For electives students may choose independent studies, reading and research courses, a thesis, or courses offered by faculty on topics of interest. Students with exceptional undergraduate preparation may make substitutions for selected required courses with the permission of the faculty.

 

Requirements

Credit Hours

CS 530. Programming Languages

3

CS 550. Operating Systems

3

CS 552. Applied Complexity Theory

3

CS 555. Software Engineering

3

CS 557. Information Security

3

CS 574. Database Systems

3

CS 610. Networking and Security

3

CS 635. Secure Network Operations

3

CS 665. Software Requirements and Design

3

CS 666. Software Quality Assurance

3

Approved Electives in Computer Science

6

 

36

 

Concentration in Information Security

Dr. Mohammad H. Heydari, Concentration Coordinator

This concentration is offered in a remote, electronic distance-learning format that, while satisfying all requirements for the Master of Science program, is especially appropriate for people with professional interests in information security. Further information can be obtained from the InfoSec Program Web site at www.infosec.jmu.edu. The distance-learning courses are available only to students in the Information Security concentration, who will pay a higher tuition rate than students taking traditional courses at the university.

                                                                                

 

Minimum Requirements

Credit

Hours

CS 523. Ethics, Law and Policy in Cyberspace

3

CS 550. Operating Systems

3

CS 555. Software Engineering

3

CS 560. Networks and Network Security

3

CS 574. Database Systems

3

CS 625. Information Security Audit Controls

3

CS 627. Cryptography: Algorithms and Applications

3

CS 652 Formal Methods for Information Security

3

CS 660. Advanced Network Security

3

 

27

 

Thesis Route

 

CS 700. Thesis

6

 

33

 

Non-Thesis Route

 

CS 621. Trusted Systems

3

CS 675 Distributed Computing and Security, or

 

CS 685. Selected Topics

3

 

33

 

Depending on undergraduate background and work experience, students may be required to take one or more of the following preparatory courses. These courses do not satisfy graduation requirements for the Information Security concentration.

 

Credit Hours

CS 510. Accelerated Fundamentals of Computer Programming

3

CS 511. Accelerated Fundamentals of Computer Systems

3

CS 512. Advanced Fundamentals of Computer Programming

3

CS 515. Foundations of Computer Science

3

 

                                                                                

Course Offerings

Computer Science

CS 501. Workshop in Computer Science. 1-3 credits.

Designed to provide workshop experience in a variety of computing areas. Does not satisfy graduation requirements for the Master of Science degree in computer science. Prerequisite: Permission of the program coordinator.

CS 510. Accelerated Fundamentals of Computer Programming. 3 credits.

Fundamental programming techniques using the C programming language to support algorithm development and procedural abstraction as a means of problem solving. Students also learn elementary data structures including character strings, records and files. Does not satisfy graduation requirements for the Master of Science degree in computer science.

CS 511. Accelerated Fundamentals of Computer Systems. 3 credits.

An explanation of elementary computer organization and network communication by using the Unix operating system including use of a distributed hierarchic file system, other network resources and command scripting. Does not satisfy graduation requirements for the Master of Science degree in computer science. Prerequisite: CS 510 or equivalent.

CS 512. Advanced Fundamentals of Computer Programming. 3 credits.

Various advanced problem-solving strategies that use object-oriented techniques to develop algorithms in the C++ programming language. Students also learn advanced data structures including stacks, queues and lists using both static and dynamic memory allocations and including elementary performance analysis of these data structures. Does not satisfy graduation requirements for the Master of Science degree in computer science. Prerequisite: CS 510 or equivalent.

CS 515. Foundations of Computer Science. 3 credits.

Survey of fundamental Computer Science concepts such as iteration, recursion, induction, analysis of algorithms, combinations and probability, data structures, automata theory and regular expressions, context-free grammars and parsing, propositional and predicate logic. This course does not satisfy graduation requirements for the program.

CS 523. Ethics, Law and Policy in Cyberspace. 3 credits.

Study of ethical issues, legal resources and recourses, and policy implications inherent in our evolving on-line society. Provides an overview of the ethical challenges faced by individuals and organizations in the information age. Introduces the complex and dynamic state of the law as it applies to behavior in cyberspace. Prerequisite: CS 550.

CS 530. Programming Languages. 3 credits.

Study of the fundamental principles of programming language design and their realization in actual programming languages. Examines programming languages from the procedural, object-oriented, functional and declarative paradigms. Introduces basic concepts of grammars and parsing. Prerequisites: CS 240 and CS 350, or CS 511 and CS 512, or equivalent.

CS 550. Operating Systems. 3 credits.

Concepts and principles of multiple-user operating systems. Memory, CPU, I/O device allocation, scheduling and security. Memory hierarchies, performance evaluation, analytic models, simulation, concurrent programming and parallel processors. Completion of a student project is a significant part of the course. Prerequisite: CS 350 or CS 511 or equivalent.

CS 552. Applied Complexity Theory. 3 credits.

Algorithms (sorting and searching, graph theory, arithmetic) with space and time complexity and analyses; formal models of computation; theoretical aspects of computational complexity, including complexity measures and hierarchies, and intractable problems and the P=NP question. Other topics in theoretical computer science with applications. Prerequisite: CS 240 or CS 512 or equivalent.

CS 555. Software Engineering. 3 credits.

The software development life cycle, software project management, development tools and methods, and software quality assurance. Teams of students will complete a significant development project. Prerequisite: CS 240 or CS 512 or equivalent.

CS 557. Information Security. 3 credits.

Fundamental concepts of Information Security including identification and authentication, access control, security models, security kernels, and Windows and Unix security. Discussions will cover the historical development of information security, cryptology, PKI key management, application level security issues and security evaluation. Prerequisite: CS 550.

CS 560. Networks and Network Security. 3 credits.

Fundamental concepts, principles, and practical networking and internetworking issues relevant to the design, analysis, and implementation of enterprise-level trusted networked information systems. Topics include networking and security architectures, techniques, and protocols at the various layers of the Internet model. Prerequisite: CS 550.

CS 574. Database Systems. 3 credits.

Types of physical storage and access methods; data models; relational algebra and calculus, data definition and query languages; dependencies, decomposition and normalization; database design; recovery; consistency and concurrency; distributed databases. Examples from commercial databases. Prerequisite: CS 350 or CS 511 or equivalent.

CS 585. Selected Topics I. 3 credits.

Study of selected topics not otherwise covered in the regular offerings of the department. May be repeated for credit when course content changes.

CS 588. Introduction to Computer Graphics. 3 credits.

Problems, objectives and study of computer graphics to include hardware, software and applications. Graphics data structures and languages. Vectors, curves and character generation. Interactive display devices. Construction of hierarchical image lists. Surface representations. Discussion of problems of current interest. Prerequisite: CS 510 and knowledge of calculus.

CS 610. Networking and Security. 3 credits.

Fundamental concepts, principles, and practical networking and internetworking issues relevant to the design, analysis, and implementation of enterprise-level trusted networked information systems. Topics include networking and security architectures, techniques and protocols at the various layers of the Internet model. Prerequisite: CS 550.

CS 620. Introduction to Information Security. 3 credits.

Provides the manager with a broad overview of the threats to the security of information systems, the responsibilities and basic tools for information security, and for the areas of training and emphasis needed in organizations to reach and maintain a state of acceptable security. The course provides an introduction to the language of information security and provides an overview of hardware, software, and firmware components of an information security system, and their integration into an organization’s information system operations for policy makers. The object of this course is to enable managers to make more informed policy and procedural evaluations in the information security area.

CS 621. Trusted Systems. 3 credits.

Definition of a trusted system and considerations pertaining to the design, evaluation, certification and accreditation of trusted systems, to include hardware considerations, software considerations such as developmental controls, validation/verification, assured distribution and other assurance issues. Implementation, configuration management and systems administration of trusted systems. Trusted applications and trusted database issues. Importance of aggressive monitoring and setting traps for the intruder. Importance of understanding the psychology and successful modus vivendi of the attacker to generating and maintaining a powerful defense. Prerequisite: CS 620.

CS 625. Information Security Audit Controls. 3 credits.

A course for the information system security professional emphasizing administrative roles in the audit and control of information systems. The administrator’s role in secure system accountability and documentation will be stressed. Prerequisite: CS 621.

CS 627. Cryptography: Algorithms and Applications. 3 credits.

Cryptographic techniques to achieve confidentiality, integrity, authentication and non-repudiation are examined. The underlying mathematical concepts are introduced. Topics to be covered include symmetric and public key encryption, hashing, digital signatures, cryptographic protocols and other recent developments in the field. Prerequisite: CS 252, MATH 227 or CS 515.

CS 634. Natural Language Processing. 3 credits.

Implementation of computer-based, natural language understanding systems; natural language syntax and processing knowledge representation, natural languages generation. Prerequisite: CS 555.

CS 635. Secure Network Operations. 3 credits.

Standard network security techniques for monitoring and maintaining an organization’s internal and external networks. Students will learn how to detect network-based attacks, diagnose an attacker’s intent, and respond to and recover from intrusions. Prerequisite: CS 610.

CS 644. Artificial Intelligence. 3 credits.

Application of heuristics to problem solving; perception and pattern recognition; search methods, production systems and knowledge representation; applications to expert systems, automatic programming and natural language processing. Prerequisite: CS 555.

CS 649. Operating Systems II. 3 credits.

A study of various topics in operating systems such as distributed file systems, security, architectural support for operating systems, performance measurement, recovery management and real-time systems. Prerequisite: CS 550.

CS 650. Computer Networks. 3 credits.

The Open Systems Interface reference model. Network hardware, topologies and routing algorithms, reliability and security, application programs. Examples of various networks and protocols such as Ethernet, TCP/IP, NFS, USENET. Prerequisite: CS 550.

CS 652. Formal Methods for Information Security. 3 credits.

A formal specification language is presented with case studies, proofs, and the formal specification of software components. Additional topics may include formal security policy modeling, seminal formal systems, first-order logic, set theory, relations, functions, sequences, bags, free types, formal and rigorous proof, immanent reasoning, reification, decomposition, and Floyd-Hoare logic.

CS 655. Programming Languages II. 3 credits.

A study of various topics in programming languages such as proof techniques, formal specification of syntax and semantics, operational, denotational and axiomatic semantics. Prerequisite: CS 555.

CS 660. Advanced Network Security. 3 credits.

This is a project-based course. Students will learn advanced Network Security concepts, conduct Information Security research, and apply what they have learned throughout the Information Security masters program to better secure critical Information Infrastructure.

CS 665. Software Requirements and Design. 3 credits.

In-depth study of the state-of-the-art in requirements engineering, analysis, and design. Topics include formal techniques for system specification and verification, security models, software analysis and design methods and techniques, software architectures, and design patterns. Prerequisite: CS 555.

CS 666. Software Quality Assurance. 3 credits.

In-depth study of selected topics in software quality assurance. Topics include reviews and inspections, testing, formal verification methods, process management and improvement, and defect prevention. Prerequisite: CS 555.

CS 674. Database Systems II. 3 credits.

Continuation of CS 574. Prerequisite: CS 574.

CS 675. Distributed Computing and Security. 3 credits.

Covers theoretical and applied aspects of security and privacy needed for middleware and service-ware to offer reasonable assurance for modern distributed systems. Topics include distributed systems architectures, technologies, and management; distributed system design, security, and privacy issues; and applications such as web services and mobile commerce. Prerequisite: CS 560.

CS 676. Distributed Databases. 3 credits.

Distributed databases and networks, levels of distribution, transparency, fragments and their allocation, distributed queries, optimization and concurrency. Prerequisite: CS 574.

CS 680. Reading and Research. 3 credits.

Opportunity for supervised reading and research in areas of special interest to the student. Reading and research may be done only in the major field of study.

CS 685. Selected Topics II. 3 credits.

An in-depth study of selected topics not otherwise covered in the regular offerings of the department. May be repeated for credit when course content changes.

CS 690. Practicum. 3 credits.

Provides a variety of supervised project, laboratory, leadership and instructional experiences. This course is graded on a satisfactory/unsatisfactory (S/U) basis. May be repeated for credit, but no more than six hours can be counted toward a degree program. Prerequisite: Consent of instructor and program coordinator.

CS 698. Comprehensive Continuance. 1 credit.

Continued preparation in anticipation of the comprehensive examination. Course may be repeated as needed.

CS 699. Thesis Continuance. 2 credits.

Continued study, research and writing in the area of thesis concentration. Course may be repeated as needed.

CS 700. Thesis. 6 credits.

This course is graded on a satisfactory/unsatisfactory (S/U) basis.

 

 

 

 

 

James Madison University logo PUBLISHER: CGOP, MSC 6702, Harrisonburg, VA 22807 - PHONE: (540) 568-6131 - FAX: (540) 568-7860
FOR INFORMATION CONTACT: CGOP - Privacy Statement
Last Modified: 11/12/2004