Computer Science Graduate Catalogue

Department Chairperson: Kapila Rohan Attele

Graduate Program Advisor: Luis Vidal-Ascon

Computer Security Certificate Program Advisor: Dawit Getachew

Graduate Faculty: Jan-Jo Chen, Johng-Chern Chern, Dawit Getachew, Luis Vidal-Ascon, and Guang-Nay Wang.

The Department of Mathematics and Computer Science offers a Master's of Science degree in Computer Science. The program is designed to be as flexible as possible to meet the varied needs of the busy professional. Courses are offered in day times as well as in evenings in state-of-the-art computer laboratories. Three courses, and a research project or thesis are explicitly required. The Graduate Program Advisor will work with the student to map out a study plan that ensures speedy graduation within a framework of the student's needs and objectives.

The Department also offers a Graduate Certificate in Computer Security.

The Department has graduate assistantships and other forms of financial assistance for qualified students.

Master of Science in Computer Science

General Requirements

  • Fulfillment of the general requirements for admission to the School of Graduate and Professional Studies and successful completion of 36 credit hours.
  • A bachelor's degree from an accredited institution is required. However, applicants are expected to, at the minimum, have programming experience that is equivalent to one year of programming in a high-level language, as well as a working knowledge of data structures, principles of programming languages, a low-level language, and calculus. Interested students lacking this background are also encouraged to apply; their study plan will enable them to acquire sufficient background to take graduate level courses.

Specific Requirements

REQUIRED CORE COURSES (9 CREDIT HOURS)
CPTR 5600, 5750, and 5820 (with a grade of B or better in each).

COMPLETION OF A MASTER'S PROJECT CPTR 5990 (3 HOURS) OR MASTER'S THESIS CPTR 5995 (3–6 HOURS).

COMPLETION OF FIVE ELECTIVE COMPUTER SCIENCE COURSES AT THE 5000 LEVEL (15 HOURS)
Must be selected with the approval of the graduate advisor.

COMPLETION OF THE REMAINING SIX TO NINE HOURS FROM APPROVED 4000/5000 LEVEL COURSES THAT ARE APPLICABLE TO THE MASTER'S DEGREE.
With the approval of the Graduate Program Advisor, three credit hours at the 4000 or 5000 level may be taken in fields related to computer science, such as mathematics and computational biology. Each of the applicable 4000-level courses must be taken in graduate student status and each must be completed with a grade B or better. CPTR 4920 cannot be applied for the master's degree.

Graduate Certificate in Computer Security

The Graduate Certificate program in Computer Security provides an opportunity for students with an undergraduate degree in computer science or related fields to take advanced courses in computer security. Topics include key information security technologies and principles, including cryptography, authentication, and access control; the context needed for deploying them successfully, including symmetric encryption and public cryptography, as well as strategies to defend software against adversaries such as worms and hackers. Software programmers, architects, developers, and engineers who are interested in learning in designing secure programs may benefit from the courses offered. The certificate is also a tool that IT managers can use to educate their workforce about security issues.

General Requirements

A BS or BA degree with specific prerequisite courses are necessary to gain admission. The program requires the completion of four core courses and a choice of two elective courses that may be tailored to meet specific needs, interests, and requirements. The certificate will be awarded upon successful completion of these six courses with a letter grade of B or better in each course. Courses can be transferred only with the prior approval of the advisor. Only graduate courses with earned grades of B or better can be transferred. No more than two courses can be transferred. University policies on aged courses apply to certification courses.

Each student's program of study must be approved by an academic advisor. Academic advisors are assigned upon admission to the program but may be changed in accordance with departmental policies.

Certificate seekers may begin the program in fall or spring semesters under the non degree option by completing an enrollment application. First-time students must provide transcripts from all previous colleges and universities.

Specific Requirements

REQUIRED CORE COURSES
CPTR 5750, 5760, 5770, 5772.

COMPLETION OF TWO ELECTIVES
Choose from MATH 4250, CPTR 4710, CPTR 4740, and CPTR 5350.

Computer Science (CPTR) Course Offerings


NOTE: Students enrolling in a computer science class must receive at least a C grade in all its prerequisite mathematics and computer science courses.

5200 ALGORITHM THEORY AND ANALYSIS (3)
Prerequisite: CPTR 3100.
The derivation of theoretical results and their application to designing of efficient algorithms. Topics include algorithm verification and efficiency of sorting, tree structures, network problems, pattern matching. Additional course fee.

5250 AUTOMATA THEORY, LANGUAGES, AND COMPUTATION (3)
Prerequisite: CPTR 3100 and CPTR 4210.
Formal languages, finite-state control machine, regular expressions and languages, Turing machines, push-down automata, context-free languages, feasible problems, p-complete theory; basic recursive functions theory, computational complexity theory, and intractable problems. Additional course fee.

5400 COMPUTER SYSTEM ARCHITECTURE (3)
Prerequisite: CPTR 4400.
Fundamentals of computer design, instruction set architecture, pipeline architecture and instruction-level parallelism, memory-hierarchy design, instruction execution and synchronization, micro-operations, vector and parallel processors, storage systems, multi-processors, RISC architecture. A term project involving the design and implementation of a model computer. Additional course fee.

5510 NETWORK OPERATING SYSTEM DESIGN (3)
Prerequisite: CPTR 5550.
Continuation of CPTR 5550. Additional topics include telecommunication and networking operating system principles and coding. Course fee.

5520 PARALLEL PROCESSING AND APPLICATIONS (3)
Prerequisite: CPTR 3100 or consent of the department.
Parallel architecture, parallel computations across hardware platforms, parallel programming, parallel algorithms, concurrent distributed systems, applications to solve computationally intensive problems in a variety of disciplines. Additional course fee.

5550 ADVANCED OPERATING SYSTEMS (3)
Prerequisite: CPTR 3500.
Review of a standard operating system source code. Topics include memory management, process management, inter-process coordination and synchronization. Writing, modifying, and implementing operating system source code constitute a significant part of the course. Additional course fee.

5600 ADVANCED DATABASE DESIGN AND IMPLEMENTATION (3)
Prerequisite: CPTR 4600.
Functional dependencies and normalization for relational databases, practical database design and tuning, query processing and optimization, transaction processing concepts, concurrency control techniques, database recovery techniques, database security and authorization, and enhanced data models for advanced application. Additional course fee.

5660 OBJECT-ORIENTED DATABASE (3)
Prerequisite: CPTR 4600.
Object-oriented data models, query languages, the ORION Model: its evolution and authorization, query processing, storage management and indexing techniques, object-oriented database systems. Additional course fee.

5670 DISTRIBUTED DATABASE SYSTEMS (3)
Prerequisite: CPTR 4600.
Distributed database concepts, techniques, and types, data fragmentation, replication, and allocation techniques for distributed databases, query processing and languages, concurrency control and recovery, client-server architecture and its relationship to distributed databases, and the ORION model. Additional course fee.

5680 DATA WAREHOUSING AND DATA MINING (3)
Prerequisite: CPTR 4600.
Principles, concepts, and physical and logical architecture of data warehousing, risk, failures, infrastructure, and design techniques, creating and unlocking the data asset for end users, designing and implementing business information warehouses, data warehouse physical structure, methodology, organization, and management. Additional course fee.

5750 ADVANCED TCP/IP NETWORK ARCHITECTURE (3)
Prerequisite: CPTR 4730 and 5550.
An advanced study of the architecture principles and mechanisms required for the exchange of data. Topics include architecture, access protocols, inter-working, transport and presentation protocols, simple network management protocol, management information bases, managing interfaces, and managing the exterior gateway protocol. Additional course fee.

5760 ADVANCED NETWORK SECURITY AND PRIVACY (3)
Prerequisite: CPTR 4710.
Network security practice, electronic mail security, IP security, web security, network services attacks methods, auditing and detection, Internet and intranet firewalls, firewalls design and implementation, security policy, proxy servers, firewall architectures, maintenance, and tools. Case studies and projects about cryptography and network security. Additional course fee.

5770 CRYPTOGRAPHY 1 (3)
Prerequisite: CPTR 3700 or consent of the instructor.
Symmetric and public-key cryptography and how they are used to achieve security goals and built PKI systems. DES, 3DES, AES, RC4, RSA, ECC, MD5 SHA-1, digital signatures, and all cryptographic primitives necessary to understand PKI. Diffie-Hellman key exchange and man-in-the-middle attacks.

5772 INFORMATION SECURITY TECHNOLOGY (3)
Prerequisite: CPTR 3700 or consent of the instructor.
Security devices and tools such as intrusion detection systems and firewalls. Key information security technologies and the context needed for successfully deploying them.

5800 ADVANCED SOFTWARE ENGINEERING (3)
Prerequisite: CPTR 4800.
Provides a theory and a set of techniques that will help the software engineer build systems and applications of high quality. Topics include managing software projects, project planning and metrics, methods and strategies, technical metrics for software, software reuse, reengineering, CASE Tools, client/server software engineering. Additional course fee.

5820 ALGORITHMS AND SOFTWARE ENGINEERING WITH WEBB-BASED APPLICATIONS (3)
Prerequisite: CPTR 4200 and 4800.
Design, analysis, measurements, and complexity of algorithms; software engineering life-cycle and its applications to web-based architectures. Additional course fee.

5850 SOFTWARE PROJECT MANAGEMENT (3)
Prerequisite: CPTR 5800.
The development of models and tools to improve productivity and quality of the process. Topics include algorithmic cost estimation models and functions, risk analysis and management, CASE tools applications to project management, object-oriented concepts applied to management, management of software reuse and maintenance, and software capability maturity model. Case studies. Additional course fee.

5860 SOFTWARE MEASUREMENT AND RELIABILITY (3)
Prerequisite: CPTR 4800; MATH 1600 or MATH 4600.
Modeling of software and systems reliability, techniques for prediction, analysis and recalibration of software, best current practice of SRE, measurement-based analysis of software reliability, software complexity and software quality, software testing and reliability, fault-tolerant software reliability engineering, software reliability simulation, neural networks for software reliability engineering, software reliability tools. Additional course fee.

5950 GRADUATE SEMINAR (3)
Prerequisite: Twenty-one graduate-level credit hours in computer science and consent of the department.
Conducted by graduate faculty of the department. The course may be repeated under a different topic with the permission of the department. Additional course fee.

5990 THE GRADUATE COMPUTER SCIENCE EXPERIENCE (3)
Prerequisite: Twenty-one graduate-level credit hours in computer science, including all the other required core courses, consent of the department.
An individualized computer science course which is normally among the last courses taken by masters candidates. The content is variable and may be a thesis, an expository paper, a project, a historical paper, a field experience in computer science, or other acceptable topic. Additional course fee.

5995 MASTERS THESIS (3, 6)
Prerequisite: Approval of the graduate advisor.
Research under the supervision of a thesis committee led by a regular faculty member of the department leading to a successful viva voce and completion of a thesis. The formalities of theses are governed by Graduate Schools and departmental policies and regulations. Refer to the Graduate Students Handbook. Additional course fee.