Master Degree Coureses

Cr. 1. (0-0-1). This course is designed to supplement coursework in Computer Science. It helps students apply their knowledge into real-world problems in professional settings. Students recognize the need for continuous learning and experience the challenges of workplace environment.

Prerequisite: None

Cr. 3. (3-0). This course introduces the fundamental software engineering techniques for developing correct, efficient, reliable, maintainable, and evolvable software for a large project. In the highly dynamic and competitive software industry, the customers’ needs may sometimes be difficult to understand in advance or may change while the software is being developed. Therefore, software products may need to evolve iteratively instead of being designed completely in advance.

Prerequisite: COMP 1412.

Cr. 3. (3-0). This course focuses on the advanced design and analysis of algorithms. Several algorithm design and analysis techniques will be discussed in detail which include solutions to practical problems in graph theory, networks, optimization via divide and conquer algorithms, dynamic programming algorithms and greedy algorithms. Complexity theory, distributed algorithms, and encryption algorithms will be examined.

Prerequisite: COMP 2313.

Cr. 3. (3-0). This course studies the concepts, theories and components that serve as the bases for the design of classical and modern operating systems. The lectures discuss the classical internal algorithms and structures of operating systems, including advanced topics in Linux/Unix, Mac OS, and Windows Operating Systems.

Prerequisite: None

Cr. 3. (3-0). This course is an advanced level tour through various topics and technologies related to Cloud Computing. Topics include distributed system models and enabling technologies, computer clusters for scalable Computing, virtual machines and virtualization of clusters and datacenters, design of cloud computing platforms, cloud programming and software environments, grid computing and resource management, P2P computing with overlay networks, ubiquitous computing with clouds and the Internet of things, and data-intensive distributed computing.

Prerequisite: None

Cr. 3. (3-0). This course provides students intensive hands on investigation of computer related crime designed for the profession as an electronic crime investigator. Students will identify, evaluate, classify, and demonstrate proficiency in investigating computer related crimes.

Prerequisite: None

Cr. 3. (3-0). Given the security concepts and building blocks developed in the former course, this course both explores these previous topics in greater depth and covers additional topics. Topics will include advanced cryptography, security protocols, network, firewalls, intrusion detection and prevention systems, vulnerability assessment, and other security technologies. There is special emphasis on application and software security issues. In addition, this course includes hands-on exercises using a Linux virtual machine that reinforce the material and covers weekly current events in computer security.

Prerequisite: COMP 3324.

Cr. 3. (3-0). This course will provide a foundation in the field of Computer Forensics. The student will learn how to obtain and analyze digital information for possible use as evidence in civil, criminal, or administrative cases. Topics include applications of hardware and software to computer forensics, computer forensics law, volume and file system analysis, computer forensics investigations, and computer forensics in the laboratory. Hands-on exercises guide discussions and reinforce the subject matter.

Prerequisite: None

Cr. 3. (3-0). This course examines several fundamental concepts and methods for machine learning. The emphasis will be on machine learning algorithms and applications, with some broad explanation of the underlying principles. The course will also discuss recent applications of machine learning, such as to robotic control, autonomous navigation, bioinformatics, speech recognition, and text and web data processing.

Prerequisite: None

Cr. 3. (3-0). This course presents established and evolving methodologies for the analysis, design, and development of an information system. Emphasis is placed on system characteristics, managing projects, prototyping, CASE/OOM tools, and systems development life cycle phases. Upon completion, students should be able to analyze a problem and design an appropriate solution using a combination of tools and techniques.

Prerequisite: None

Cr. 3. (3-0). This course will provide students with an in-depth study of software validation and verification. Topics include the limits of testing, professional responsibility and liability, testing, management of the testing process, automated testing tools, coverage metrics, software quality, non-testing quality assurance, static and dynamic validation techniques, inspections, and audits.

Prerequisite: None

Cr. 3. (3-0). This course focuses on advanced level the administration of networked operating systems such as Windows Server and Linux. It includes monitoring, managing, and troubleshooting of network resources such as files, folder access, printing devices, device drivers, backup devices, recovery as well as protocols and system services.

Prerequisite: COMP 3324.

Cr. 3. (3-0). This course provides students how to plan and design a network using various internetworking technologies to meet performance, security, capacity, and scalability requirements. This includes the fundamental, technical, and design issues associated with campus LANs.

Prerequisite: COMP 3324.

Cr. 3. (3-0). This course provides topics of data mining and knowledge discovery, including statistical foundations, database support, data preprocessing, data warehousing, association discovery, classification, clustering, and mining complex data types.

Prerequisite: None

Cr. 3. (3-0). This course investigates data scraping/sampling/cleaning in order to get an informative, manageable data set; data storage and management in order to be able to access data - especially big data - quickly and reliably during - subsequent analysis; exploratory data analysis to generate hypotheses and intuition about the data; prediction based on statistical tools such as regression, classification, and clustering and communication of results through visualization, and interpretable summaries.

Prerequisite: None

Cr. 3. (3-0). This course focuses on first-line management of software system development. Covers major themes including estimation (software cost factors, estimation models, and risk management), planning (work breakdown, scheduling, staffing, resource allocation, and creation of a project plan), and execution (team building, leadership, motivation, process tracking, control recovery, and communication within and outside the project).

Prerequisite: COMP 3322.

Cr. 3. (3-0). This is a capstone course intended to facilitate the integration and application of knowledge and skills gained in various courses within the computer science master curriculum. The project involves teamwork; modeling of real-world problems; design, development, and testing of a software-based solution; and its documentation.

Prerequisite: Instructor approval required.

Cr. 3. (0-0-3). This course is designed to supplement coursework in Computer Science. It helps students apply their knowledge into real-world problems in professional settings. Students recognize the need for continuous learning and experience the challenges of workplace environment

Prerequisite: None

Cr. 3. (3-0). Special topics courses with different titles offered occasionally to cover emerging issues or specialized in depth content not available in the core curriculum. A specific title may be used for each course, which will appear on the student’s transcript. Several different topics may be taught in one year or semester. May be repeated for credit for total of 6 credits.

Prerequisite: None