Citadel Logo
Department of Mathematics
and Computer Science
   
Home

Academic
Programs


Courses

Student
Links


Faculty
Links


Department
Directory


Department
News


Search

Citadel
Home




Valid XHTML 1.0 Transitional

Graduate Computer Science Course Descriptions

CSCI 601    Data Modeling and Database Design    Three Credit Hours
     Topics include conceptual, logical, and physical data modeling, data analysis, relational database design and normalization, query languages, query processing, administration, and CASE tools. A database design project is part of the requirement and includes hands-on data modeling, design, development, and implementation.

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 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 Architecture    Three Credit Hours
     Prerequisite: CSCI 604 or an undergraduate course in operating systems.
     This course covers various topics relevant to clustering including the following: interconnection networks, protocols, high performance l/O, load balancing, availability, programming models and environments, parallel algorithms, and applications. The course is lab intensive and includes the implementation of parallel algorithms on a parallel cluster.

CSCI 614    Advanced Operating Systems    Three Credit Hours
     Prerequisite: CSCI 604 or an undergraduate course in operating systems.
     This course covers a broad range of 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 Theory    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 systems 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, internetworking of heterogeneous network technologies, Internet protocol suites (with emphasis on TCP/IP), the client/server paradigm, the BSD socket interface, network security, and network applications.

CSCI 633    Semantic Web Principles and Practice    Three Credit Hours
     This course covers the emerging technology supporting the Semantic Web with machine-processable content. Students will engineer and implement ontologies, associated metadata and logical inference systems. Covered are specialized languages such as Extensible Markup Language (XML), Resource Description Framework (RDF), and Ontology Web Language (OWL) and query associated query languages.

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, Strategy, and Governance    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    Advanced Topics in Database Systems    Three Credit Hours
     Prerequisite: CSCI 601.
     Topics such as algorithms for query processing and optimization, physical database design, transaction processing, concurrency control, database backup and recovery techniques, database security, distributed databases, multimedia databases, object and object-relational databases, data warehousing, and data mining.

CSCI 654    Software Requirements Analysis and Specifications    Three Credit Hours
    Prerequisite: CSCI 602.
    An introduction to the software requirements engineering 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.
    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.
    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.
    An introduction to the concepts and methods associated with software testing and maintenance. Testing topics to include: testing as part of requirements engineering and software design, test plan writing, and static and dynamic testing. 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 how business and IT concerns can be aligned. Students will gain experience with service-oriented development, process modeling and execution and securing services.

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
    An introduction to the fundamental principles of computer graphics. Using standard graphics libraries, 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    Three 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 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    Six Credit Hours
    Prerequisite: Completion of the four core courses, CSCI 601, CSCI 602, CSCI 603 and CSCI 604, and approval by the 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.