Computer Science

Department Chairperson : 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, Raymond H. Y. Chu, Luis Vidal-Ascon, Guang-Nay Wang, Jesse Y. 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 evenings in state-of-the-art computer laboratories. Three courses, and a research project or thesis are explicitly required. The Graduate Advisor will work with you to map out a Study Plan that ensures speedy graduation within a framework of your 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

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 (with a grade of B or better in each)

CPTR 5600/440, 5750/464, 5820

Completion of a Master’s project CPTR 5990/495 (3 hours) or Master’s thesis CPTR 5995 (3–6 hours).

Completion of five elective computer science courses at the 5000 levelselected with the approval of the graduate advisor(15 hours)

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 Advisor three credit hours at the 4000 or 5000 level may be taken in related fields 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/381 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 B.S. or B.A. 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/464, CPTR 5760/469, CPTR 5770, CPTR 5772

Completion of two electives chosen from: MATH 4250/361, CPTR 4710/362, CPTR 4740,

IT 5350

Course Offerings

Computer Science (CPTR)

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

5200/409 ALGORITHM THEORY AND ANALYSIS (3)

Prerequisite: CPTR 3100/307

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/404 AUTOMATA THEORY, LANGUAGES, AND COMPUTATION (3)

Prerequisite: CPTR 3100/307, CPTR 4210/317

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, intractable problems. Additional course fee

5400/430 COMPUTER SYSTEM ARCHITECTURE (3)

Prerequisite: CPTR 4400/333

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

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

5510/461 NETWORK OPERATING SYSTEM DESIGN (3)

Prerequisite: CPTR 5550/460

Continuation of CPTR 5550/460. Additional topics include telecommunication and networking operating system principles and coding. Course fee

5550/460 ADVANCED OPERATING SYSTEMS (3)

Prerequisites: CPTR 3500/355

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/440 ADVANCED DATABASE DESIGN AND IMPLEMENTATION (3)

Prerequisite: CPTR 4600/357

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, enhanced data models for advanced application. Additional course fee

5660/445 OBJECT-ORIENTED DATABASE (3)

Prerequisite: CPTR 4600/357

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/446 DISTRIBUTED DATABASE SYSTEMS (3)

Prerequisite: CPTR 4600/357

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, the ORION model. Additional course fee

5680/447 DATA WAREHOUSING AND DATA MINING (3)

Prerequisite: CPTR 4600/357

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/464 ADVANCED TCP/IP NETWORK ARCHITECTURE (3)

Prerequisite: CPTR 4730/368 and 5550/460

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, managing the exterior gateway protocol. Additional course fee

5760/469 ADVANCED NETWORK SECURITY AND PRIVACY (3)

Prerequisite: CPTR 4710/362

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 356/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-Helman key exchange and man-in-the-middle attacks

5772 INFORMATION SECURITY TECHNOLOGY (3)

Prerequisite: CPTR 3700/356 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/420 ADVANCED SOFTWARE ENGINEERING (3)

Prerequisite: CPTR 4800/339

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, re-engineering, CASE Tools, client/server software engineering. Additional course fee

5820 ALGORITHMS AND SOFTWARE ENGINEERING WITH WEBB-BASED APPLICATIONS (3)

Prerequisites: 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/424 SOFTWARE PROJECT MANAGEMENT (3)

Prerequisite: CPTR 5800/420

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, software capability maturity model. Case studies. Additional course fee

5860/429 SOFTWARE MEASUREMENT AND RELIABILITY (3)

Prerequisite: CPTR 4800/339; MATH 1600/210 or 4600/315

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/492 GRADUATE SEMINAR (3)

Prerequisite: Twenty-one graduate-level credit hours in computer science and consent of 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/495 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 department

An individualized computer science course which is normally among the last courses taken by master’s 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 MASTER’S THESIS (3, 6)

Prerequisites: 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 School’s and departmental policies and regulations. Refer to the Graduate Students’ Handbook. Additional course fee