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.
|