Computer Science Graduate Catalogue

Department Chairperson: Kapila Rohan Attele

Computer Science Graduate Program Advisor: Johng-Chern Chern

Graduate Faculty Victor Akatsa, Kapila Rohan Attele, Jan-Jo Chen, Johng-Chern Chern, Daniel J. Hrozencik, Anil Mehta, Paul Musial, Richard Solakiewicz, and Asmamaw Yimer

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.

Post-Baccalaureate Certificate in Computer Security

The post-baccalaureate 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 and communication security. Topics embrace key information security technologies and principles including: network security devices, security administration and network design and wireless security; risk management and mitigation; business continuity and disaster recover; malwares, network attacks, wireless attacks and application attacks; Access Control and Identity management; general cryptography concepts, hashing, digital signature, encryption algorithms and protocols, public and symmetric cryptography, key distribution and user authentication; Public Key Infrastructure (PKI) and certificate management. 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 5730; or contact department. 

Additional Information about This Program

This certificate primarily prepares students to work in various career areas that focus on economic development, business, government, teaching, advanced research and community development. For information about program costs, employment, and other information, click here for gainful employment.

Post-Baccalaureate Certificate in Database and Data Analytics Security

General Requirements

A BS or BA degree with specific prerequisite courses is 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 prior approval of the advisor. Only graduate courses with earned grades of B or better 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.

 

Specific Requirements

REQUIRED CORE COURSES
CPTR 5600, 5610, 5665, 5670.

COMPLETION OF TWO ELECTIVES
CPTR 5550, CPTR 5660, CPTR 5666, CPTR 5681, CPTR 5682, or, with the explicit consent of the advisor, other graduate courses in computer science or related areas.

Completion of two electives: CPTR 4710, CPTR 4740; any 4000 or 5000 level course selected, with the approval of the advisor, in Modern Algebra or Number Theory (MATH 5040 is excluded). The 4000-level courses must have been taken in Graduate Student status department. 

Additional Information about This Program

This certificate primarily prepares students to work in various career areas that focus on economic development, business, government, teaching, advanced research and community development. For information about program costs, employment, and other information, click here for gainful employment.

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.

5210 GRAPH THEORY FOR DATA SCIENCE (3)
Prerequisite: Consent of department.
Directed and undirected graphs, paths, cycles, trees, connectivity, Eulerian cycles, matchings, coverings, coloring, planarity, with applications to data science and computer science.

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.

5610 DATABASE ADMINISTRATION (3)
Prerequisite: CPTR 5600.
Database Administration and the Database Architecture. Install and maintain databases with Performance Monitoring/Tuning, Database Security, User Management, and Backup/Recovery Techniques. Option of partially fulfilling the requirements of the course with an industrial or Government partner.

5620 BUSINESS INTELLIGENCE AND ANALYTICS (3)
Prerequisite: CPTR 3700 and 4600.
An information technology approach to data collection and data analysis to support a wide variety of management tasks from performance evaluation to trend spotting and policy making. Students learn analytical components and technologies used to create dashboards and scorecards, data/text mining methods for trend and sentiment analysis, and artificial intelligence techniques used to develop intelligent systems for decision support.

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.

5665 NOSQL DATABASES, INTRODUCTION (3)
Prerequisite: CPTR 4600 or consent of department.
Data Modeling, SQL Programming, the concepts and features of NoSQL Databases and the Fit for Big Data. Five data Models and Database Systems Relational/Object, Key/Value, Document, Columnar, and Graph are Employed by NoSQL Databases.

5666 BIG DATA ANALYTICS (3)
Prerequisite: CPTR 5600 or 5665.
Structure of Big Data & its Components, Problems in Analyzing the Big Data & Alternative Architectures to Address Big Data Analysis, Big Data Architectures, Big Data Distributed File System, Effective Storage of Large Volumes of Data, Map Reduce for Distributed framework, and NoSQL.

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.

5710 CLOUD COMPUTING ARCHITECTURE (3)
Prerequisite: CPTR 3700 and 4600.
Cloud computing architecture core distribution concepts used inside clouds, cloud applications and auto scaling features and virtualization, security, fault tolerance and outage studies in clouds.

5730 MOBILE COMMUNICATION AND SECURITY (3)
Prerequisite: CPTR 4710 and consent of instructor.
Techniques for mobile communications and security: threats, hacking, viruses, access control and authentication, and common techniques for security. Attach and protection techniques in mobile communication networks: security of GSM networks, 3G networks, and wireless local area networks. Security of network based services.

 

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.