Graduate Program - Courses
- 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. Secure 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 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 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 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 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 665. Software Requirements and Design. 3 credits.
Study of the state of the art in software requirements engineering and design. Topics include 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 Construction and Testing. 3 credits.
Study of the state of the art in software construction and testing. Topics include tools, techniques, and practices for software production, testing, verification, validation, and evaluation. Prerequisite: CS 665. - 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.
Last updated:
Tuesday, April 15, 2008 11:26 AM
Site Maintained by CISAT Creative Services
College of Integrated Science and Technology
James Madison University
