Citadel Logo
Department of Mathematics
and Computer Science
   
Home

Academic
Programs


Courses

Student
Links


Faculty
Links


Faculty
Directory


Department
News


Search

Citadel
Home




Valid HTML 4.01!

Graduate Computer Science Course Descriptions

CSCI 601    Data Modeling    Three Credit Hours
     Data modeling includes conceptual, logical, and physical modeling. The focus is on conceptual data modeling. Students learn about data element analysis, standardization, naming, and normalization. They learn how to create a single model that supports multiple user views. In addition, they learn how to select and use modeling tools (e.g. the Unified Modeling Language).

CSCI 602    Foundations of Software Engineering    Three Credit Hours
     A survey course in software engineering processes and methodologies. This course includes software life cycles, planning and managing projects, capturing and managing requirements, analysis and design, implementation, software testing and quality assurance, and risk analysis in software development. Emphasized are team-based development, quality standards, object-oriented design, and CASE (computer aided software engineering) tools.

CSCI 603    Object-Oriented Design Patterns    Three Credit Hours
     A course in software design using design patterns as a tool for communicating software design solutions and as an aid in software refactoring. Creational, structural and behavioral patterns are emphasized. Also covered are finding and documenting patterns, software development patterns. The Unified Modeling Language is used as the design tool for software patterns and programming projects are in an object-oriented programming language.

CSCI 604    Distributed Computer Systems Architecture    Three Credit Hours
     This course covers basic techniques for the design and construction of distributed systems. Its aim is to give the skills needed to build simple systems and to identify key issues for the analysis of distribution problems.

CSCI 612    Advanced Computer Organization    Three Credit Hours
     Prerequisite: CSCI 604 and an undergraduate course in operating systems
     Advanced Computer Architecture (3) In this course we will study various topics relevant to clustering, including interconnection networks, protocols, high performance l/O, load balancing, availability, programming models and environments, parallel algorithms and applications. The course will be lab intensive and will include the implementation of parallel algorithms on a Beowulf Cluster.

CSCI 614    Advanced Operating Systems    Three Credit Hours
     Prerequisite: An undergraduate course in operating systems
     This course covers a broad range or advanced operating systems concepts including protection, security, memory management, kernels, file systems, synchronization, naming, networks, and distributed systems as well as recent trends in operating systems design. Specific aspects of operating systems which support distributed computing will be emphasized.

CSCI 616    Automata    Three Credit Hours
    The theory of finite state machines and regular expressions are applied to the design of switching circuits, components of compilers such as lexical analysis, pattern-matching, text-editors, unifications as needed in Prolog or for automated deduction, and almost any program which processes under commands. Undecidable problems and intractable problems are explored.

CSCI 618    Programming Languages    Three Credit Hours
     This course surveys the principles of programming language design and the issues related to their implementation. Topics will include a comparison of the major programming paradigms: imperative, functional, logic, and object-oriented. Also covered are data types, methods of specifying the semantics of language constructs, and concurrency.

CSCI 631    Privacy and Security Issues    Three Credit Hours
    A survey of the principles and practices related to computer security. The course concentrates on the problems of security associated with computer networks and emphasizes the application of cryptography to address those problems.

CSCI 632    Data Communications and Networking    Three Credit Hours
     An introduction to data communications and computer networking. Topics include LAN topologies, transmission media, error detection, packet switching networks, Internet working of heterogeneous network technologies, internetworking protocol suites (with emphasis on TCP/IP), the client server paradigm, the BSD socket interface, network security, and important network applications.

CSCI 634    Project Change and Management    Three Credit Hours
     Managing projects within an organizational context, including the processes related to initiating, planning, executing, controlling, reporting and closing a project form the major portion of this course. Project integration, scope, time, cost, quality control, risk management, and managing the changes in organization resulting from introducing or revising information systems are also included.

CSCI 636    Information Technology Policy and Strategy    Three Credit Hours
    This course will consider the development and implementation of policies and plans to achieve organizational goals, the defining of systems that support the operational, administrative and strategic needs of the organization, and the study of approaches to managing the information systems function in organizations.

CSCI 638    Database Design    Three Credit Hours
     Prerequisite: CSIS 601 or permission of the instructor
     Topics include conceptual and logical data models, relational database design, Structured Query Language (SQL), query processing, administration, and CASE tools. A database design project is part of the requirement and includes a hands-on design, development and implementation using an available database software system like Oracle.

CSCI 654    Software Requirements Analysis and Specifications    Three Credit Hours
    Prerequisite: CSCI 602 or program director approval.
    An introduction to the software engineering requirements process. Topics to include feasibility studies, risk, requirements elicitation, modeling, analysis, specification, and validation.

CSCI 656    Software Systems Design and Implementation    Three Credit Hours
    Prerequisite: CSCI 602 and 603, or program director approval.
    An introduction to the issues, techniques, strategies, representations, and patterns used in designing and implementing software. Possible design topics include: specification of internal interfaces, architectural design, data design, user interface design, design tools and evaluation of design. Possible implementation topics include: language-oriented issues, construction technologies, tools and formal construction methods.

CSCI 657    Embedded Systems Design    Three Credit Hours
    Prerequisite: CSCI 602 and CSCI 604, or program director approval
    This course is an introduction to specifying, designing, implementing, and testing (real-time) embedded systems. Topics include the embedded system lifecycle, choosing a processor, hardware/software partitioning, design techniques, cross-platform development, debugging, testing, and integration. Implementation languages may include Java, C/C++ or assembly.

CSCI 658    Software Testing and Maintenance    Three Credit Hours
    Prerequisite: CSCI 602 or program director approval.
    An introduction to the concepts and methods associated with software testing and maintenance. Testing topics to include: testing as part of requirements gathering and software design, test plan writing, and static and dynamic testing techniques. Maintenance topics to include: an overview of corrective, adaptive, perfective and preventive maintenance activities as well as organizational managerial issues.

CSCI 659    Service-Oriented Computing    Three Credit Hours
    Service-Oriented Computing is a term that describes software systems that combine Service-Oriented Architecture (SOA) and Business Process Management (BPM) layers. This course explores both SOA and BPM, demonstrating that in combination business and IT concerns can be aligned. Experience with service-oriented development, process modeling and execution, and securing services will be obtained.

CSCI 672    Human-Computer Interaction    Three Credit Hours
     Introduction to human computer interaction and user interface development. Topics include human factors of interactive software, interactive styles, design principles and considerations, development methods and tools, interface quality and evaluation methods. This course stresses the importance of good interfaces and the relationship of user interface design to human-computer interaction. It is intended for students whose future work may involve software development.

CSCI 674    Introduction to Computer Graphics    Three Credit Hours
    Prerequisite: Basic knowledge of linear algebra and experience writing programs in a high level language.
    An introduction to the fundamental principles of computer graphics. Using the OpenGL application-programming interface, students will learn these principles by writing a series of programming projects.

CSCI 690    Special Topics in Computing    Three Credit Hours
     Prerequisite: Permission of the instructor
     A course in the special study of an advanced or new topic in computer science, information systems, or software engineering. This course may be repeated for additional credit, as the topics change.

CSCI 691    Independent Study    Variable Credit Hours
    This course consists of individual study of an agreed-upon topic under the direction of a faculty member and following a course of reading and other requirements proposed by the student and established by negotiation with the director. This course is intended to provide graduate students with an opportunity to study in an area of computer science, software engineering or information systems that is not generally offered. The course may be repeated once.

CSCI 698    Project Thesis    Three Credit Hours
    Prerequisite: Completion of the four core courses, CSCI 601, CSCI 602, CSCI 603 and CSCI 604 and approval by the MSCS program director.
    Project thesis is a three-credit hour course for the completion of a formal master's project thesis under faculty direction. A project thesis is characterized by a research project that applies or extends course topics through systems development.

CSCI 699    Research Thesis    6 Credit Hours
    Prerequisite: Completion of the four core courses, CSCI 601, CSCI 602, CSCI 603 and CSCI 604 and approval by the MSCS program director.
    Research Thesis is a six-credit hour course for the completion of a formal master's research thesis under faculty direction. A research thesis is a traditional research project characterized by a comprehensive paper on a research topic.