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