Computer Science (COSC)
This course introduces students to the leveling topics in computer science. This course serves the needs of certain topics students lack for pursuing a Master's degree in computer science. Grade assigned will be "credit" (CR) or "no credit" (NC).
A study of internal computer concepts with respect to the functioning of the hardware subsystems and their roles in the computing process. An in-depth study of machine and assembly language. (Does not count toward total hours required for MS in Computer Science.)
Provides a broad introduction to the development of computer-based learning environments. Covers the theory and practice of using the computer both in the classroom and individually for learning. Covers a wide range of possibilities from multimedia presentation of material to constructive environments and computer-based instructional systems.
A study of the logical structures used for the organization, storage and retrieval of data. These structures are addressed from both memory-resident and file-resident points of view. Algorithms for the creation, searching, and manipulation of standard data structures used in computing are stressed. (Does not count toward total hours required for MS in Computer Science.)
INTRODUCTION TO COMPUTER GRAPHICS This graduate course provides students with a foundation in basic principles and techniques for computer graphics on modern graphics hardware. Students will gain experience in interactive computer graphics using the OpenGL API. Topics include: graphics hardware, rendering, perspective, lighting, and geometry.
ADVANCED COMPUTER GRAPHICS This course covers advanced computer graphics techniques. Students will be introduced to state-of-the-art methods in computer graphics. This course will focus on techniques for real-time rendering and animation.
Introduction to operating systems concepts, principles, and design. Topics include: processes and threads, CPU scheduling, mutual exclusion and synchronization, deadlock, memory management, file systems, security and protection, networking, and distributed systems. Selected existing operating systems are discussed, compared, and contrasted. (Does not count toward total hours required for MS in computer science.)
Prerequisite: COSC 5313.
THE DESIGN AND ANALYSIS OF ALGORITHMS An advanced course that concentrates on the design and analysis of algorithms used to solve a variety of problems. The methods of design covered include such topics as: divide-and-conquer, the greedy method, dynamic programming, search and traversal techniques, and backtracking.
DATABASE MANAGEMENT SYSTEMS A study of contemporary database management concepts. Performance (indexing, query optimization, update optimization), concurrency, security and recovery issues are discussed. Also includes the study of front-end environments that access the database.
Prerequisite: COSC 5335 and 5321.
HUMAN-COMPUTER INTERACTION Graduate-level survey of the field of Human-Computer Interaction (HCI) focusing on design strategies for making software usable by real-world people for doing real-world work. Topics include the role of HCI in the software product life cycle, task analysis of the user's work, architectures for human-computer dialogues, new and traditional approaches to user interface design, and user interface standards.
Prerequisite: COSC 5331.
ADVANCED TOPICS IN DBMS The study of emerging database technologies. Topics are chosen from data warehousing, distributed databases, spatial databases and web-based applications.
Prerequisite: COSC 5336.
COMPUTER ARCHITECTURE An overview of computer architecture, which stresses the underlying design principles and the impact of these principles on computer performance. General topics include design methodology, processor design, control design, memory organization, system organization, and parallel processing.
Prerequisite: COSC 5331.
ADVANCED OPERATING SYSTEMS Introduction to advanced concepts in operating systems and distributed systems. Topics include distributed system architectures, interprocess communication, distributed mutual exclusion, distributed synchronization and deadlock, agreement protocols, distributed scheduling and process management, distributed shared memory, distributed file systems, multiprocessor system architectures and operating systems, recovery and fault tolerance.
Prerequisite: COSC 5331.
COMPILER DESIGN AND CONSTRUCTION This course introduces the basic concepts and mechanisms traditionally employed in language translators, with emphasis on compilers. Topics include strategies for syntactic and semantic analysis, techniques of code optimization and approaches toward code generation.
Prerequisite: COSC 5330 and MATH 2305.
Fundamental concepts and techniques for the design of computer-based, intelligent systems. Topics include: a brief history, methods for knowledge representation, heuristic search techniques, programming in LISP or Prolog.
DATA COMMUNICATION SYSTEMS Areas studied include principles of computer-based communication systems, analysis and design of computer networks, and distributed data processing.
Prerequisite: COSC 5331.
THEORETICAL ASPECTS OF COMPUTING An introduction to theoretical foundations of modern computing. Topics include finite state machine concepts, formal grammars, and basic computability concepts.
This is a graduate level course on wireless sensor networks; one of the fastest developing areas in computer science and engineering. The focus of this course is on the design of optimized architectures and protocols for such unique networks. Topics include the design principles of wireless sensor networks, energy management, MAC protocols, naming and addressing, localization, routing protocols, applications of wireless sensor networks, and associated challenges and measures.
PARALLEL COMPUTING Introduction to the hardware and software issues in parallel computing. Topics include motivation and history, parallel architectures, parallel algorithm design, and parallel performance analysis. Students will be introduced to a variety of parallel computing paradigms including message passing systems and shared memory systems.
Prerequisite: COSC 5331.
Survey of software development on mobile platforms including both native and cross-platform applications with topics such as: prototyping, programming, testing, debugging, and deploying. Coverage of software life cycle on mobile platforms and how mobile hardware differs from traditional computers. COSC 5321
Areas studied include engineering principles and their application to the design, development, testing, and maintenance of large software systems, tools and processes for managing the complexities inherent in creating and maintaining large software systems.
Prerequisite: COSC 5321.
This course will introduce students to the fundamentals of computer forensics and various software tools used in cyber-crime analysis. Students will be introduced to established methodologies for conducting computer forensic investigations, as well as to emerging international standards for computer forensics. Applicable laws and regulations dealing with computer forensic analysis will also be discussed.
Prerequisite: COSC 5312.
An introduction to information security and assurance. This course covers the basic notions of confidentiality, integrity, availability, authentication models, protection models, secure programming, audit, intrusion detection and response, operational security issues, physical security issues, personnel security, policy formation and enforcement, access controls, information flow, legal and social issues, classification, trust modeling, and risk assessment.
Prerequisite: COSC 5312.
This course is a study of networking basics and security essentials with respect to information services provided over a computer network. The course covers the technical details of security threats, vulnerabilities, attacks, policies, and countermeasures such as firewalls, honeypots, intrusion detection systems, and cryptographic algorithms for confidentiality and authentication and the development of strategies to protect information services and resources accessible on a computer network.
Prerequisite: COSC 5375.
This course includes an introduction to cryptographic algorithms and protocols for encrypting information securely, techniques for analyzing vulnerabilities of protocols, approaches to digital signatures and information digests, and implementation approaches for the most significant cryptographic methodologies.
Prerequisite: COSC 5312.
This course encompasses a broad range of topics involving information security, communications security, network security, risk analysis, operational security, health information privacy, criminal justice digital forensics, homeland security, the human element and social engineering, and applicable national and international laws. An in-depth information assurance capstone project or research paper will be required of each student to satisfy the information assurance graduate option requirements.
Prerequisite: COSC 5375.
Individual contract agreement involving student, faculty, and cooperating agency (discipline-related business, nonprofit organization, or government agency) to gain practical experience appropriate to computer science in off-campus setting. Grade assigned will be "credit" (CR) or "no credit" (NC).
RESEARCH METHODS IN COMPUTER SCIENCE This course provides students with a range of experiences in conducting and communicating research. Students will learn major research methods and techniques. Experiences will be gained in all stages of research: reviewing literature, writing a proposal, designing an approach, and reporting results. Critical-reading/writing assignments and class discussions on state-of-the-art research in Computer Science will provide students with major research aspects. Fall, Spring
An applied research project in computing from problem definition to implementation in an area of particular interest to the student that relates to the course of study.
Study in areas of current interest. (A maximum of six hours may be counted toward the MS degree.) Fall, Spring, Summer.
This course is for Computer Science MS students choosing the thesis option. Upon choosing a thesis advisor, students will register for this course. This course is only credit/no credit. Students will be given a grade of In-Progress until successfully completing their thesis.
Prerequisite: COSC 6393*.
* May be taken concurrently.
This course is for Computer Science MS students choosing the thesis option. Students will continually register for this course until successful completion of their thesis. A grade of In-Progress will be assigned until either successful completion or failing to register. If failing to register students will receive a grade of No Credit for all 5399 and 5398 courses.
Prerequisite: COSC 5398.
Variable content study of specific areas of computer and information systems. May be repeated for credit when topics vary. Offered on sufficient demand.
Advanced work in a specialized area of computer science. Does not count as credit toward a degree in computer science. Course is taken as credit/non-credit.
This course introduces concepts and techniques for image processing. The purpose of this course is to introduce the fundamental techniques and algorithms used for processing and extracting useful information from digital images. The students will learn how to apply the image processing methods to solve real-world problems.
This graduate course introduces concepts and techniques for machine vision. Particular emphasis will be placed on methods used for object recognition, machine learning, content-based image retrieval, image matching, 3D vision, tracking, and motion analysis.
Prerequisite: COSC 6324.
This graduate course provides students with a foundation in basic principles and techniques for computer graphics on modern graphics hardware. Students will gain experience in interactive computer graphics using the OpenGL API. Topics include: graphics hardware, rendering, perspective, lighting, and geometry.
This course covers advanced computer graphics techniques. Students will be introduced to state-of-the-art methods in computer graphics. This course will focus on techniques for real-time rendering and animation.
An advanced course that concentrates on the design and analysis of algorithms used to solve a variety of problems. The methods of design include topics such as: divide-and-conquer, the greedy method, dynamic programming, search and traversal techniques, and backtracking.
A study of contemporary database management concepts. Performance (storage and indexing) and Big Data techniques (management, processing, and analysis) are discussed. Also includes the study of spatial data management.
This course introduces fundamental strategies and methodologies for data mining. Topics include data preprocessing, mining frequent data patterns, classification, clustering, and outlier detection.
In this course, students will learn about the concepts as well as some applications of machine learning (ML) algorithms. The course includes many exercises on how these ML algorithms can be used in practical applications in both industry and basic science. Topics include such as artificial neural networks, fuzzy logic, hybrid systems, search and optimization, classification, clustering, and deep learning. Students will gain experiences on some programming tools and a variety of applications of machine learning algorithms.
This course introduces advanced concepts and techniques for deep learning. Particular emphasis is placed on regularization and optimization of deep learning models, convolutional networks, recurrent neural networks, autoencoders, and generative models. The students will learn how to apply the deep learning methods to solve real-world problems and develop the insight necessary to use the tools and techniques to solve any new problem.
Prerequisite: COSC 6338.
This graduate course introduces concepts and techniques for Human Computer Interaction (HCI). Students will investigate HCI through understanding its historical context and foundational elements. Other topics include the human factor, interaction elements, modeling interactions, scientific foundations of HCI research, and design of HCI experiments.
The study of emerging database technologies. Topics are chosen from data warehousing, distributed databases, spatial databases, and web-based applications.
Prerequisite: COSC 6336.
An overview of computer architecture, which stresses the underlying design principles and the impact of these principles on computer performance. General topics include design methodology, processor design, control design, memory organization, system organization, and parallel processing.
Introduction to advanced concepts in operating systems and distributed systems. Topics include distributed system architectures, inter-process communication, distributed mutual exclusion, distributed synchronization and deadlock, agreement protocols, distributed scheduling and process management, distributed shared memory, distributed file systems, multiprocessor system architectures and operating systems, recovery, and fault tolerance.
This course introduces the basic concepts and mechanisms traditionally employed in language translators, with emphasis on compilers. Topics include strategies for syntactic and semantic analysis, techniques of code optimization and approaches toward code generation.
Fundamental concepts and techniques for the design of computer-based, intelligent systems. Topics include: a brief history, methods for knowledge representation, heuristic search techniques, programming in LISP or Prolog.
Prerequisite: COSC 5321.
Areas studied include principles of computer-based communication systems, analysis and design of computer networks, and distributed data processing.
An introduction to theoretical foundations of modern computing. Topics include finite state machine concepts, formal grammars, and basic computability concepts.
Prerequisite: COSC 5321.
This is a graduate level course on wireless sensor networks; one of the fastest developing areas in computer science and engineering. The focus of this course is on the design of optimized architectures and protocols for such unique networks. Topics include the design principles of wireless sensor networks, energy management, MAC protocols, naming and addressing, localization, routing protocols, applications of wireless sensor networks, and associated challenges and measures.
Introduction to the hardware and software issues in parallel computing. Topics include motivation and history, parallel architectures, parallel algorithm design, and parallel performance analysis. Students will be introduced to a variety of parallel computing paradigms including message passing systems and shared memory systems.
Introduces and evaluates important models of parallel and distributed computation. Topics include a selection of parallel algorithms for various models of parallel computation, combinational circuits, parallel prefix computation, divide and conquer, pointer based data structures, linear arrays, meshes and related models, and hypercubes.
Survey of software development on mobile platforms including both native and cross-platform applications with topics such as: prototyping, programming, testing, debugging, and deploying. Coverage of software life cycle on mobile platforms and how mobile hardware differs from traditional computers.
This is a survey of current trends in computer programming. The focus of this course is on the development of computer programs utilizing the latest technologies and paradigms. Topics include state-of-the-art in problem solving and software development, programming techniques and approaches, programming languages, development tools and environments, and software deployment methods.
Prerequisite: COSC 5321.
Areas studied include engineering principles and their application to the design, development, testing, and maintenance of large software systems, tools and processes for managing the complexities inherent in creating and maintaining large software systems.
This course will introduce students to the fundamentals of computer forensics and various software tools used in cyber-crime analysis. Students will be introduced to established methodologies for conducting computer forensic investigations, as well as to emerging international standards for computer forensics. Applicable laws and regulations dealing with computer forensic analysis will also be discussed.
An introduction to information security and assurance. This course covers the basic notions of confidentiality, integrity, availability, authentication models, protection models, secure programming, audit, intrusion detection and response, operational security issues, physical security issues, personnel security, policy formation and enforcement, access controls, information flow, legal and social issues, classification, trust modeling, and risk assessment.
This course is a study of networking basics and security essentials with respect to information services provided over a computer network. The course covers the technical details of security threats, vulnerabilities, attacks, policies, and countermeasures such as firewalls, honeypots, intrusion detection systems, and cryptographic algorithms for confidentiality and authentication and the development of strategies to protect information services and resources accessible on a computer network.
Prerequisite: COSC 6375.
This course includes an introduction to cryptographic algorithms and protocols for encrypting information securely, techniques for analyzing vulnerabilities of protocols, approaches to digital signatures and information digests, and implementation approaches for the most significant cryptographic methodologies.
This course encompasses a broad range of topics involving information security, communications security, network security, risk analysis, operational security, health information privacy, criminal justice digital forensics, homeland security, the human element and social engineering, and applicable national and international laws. A project and/or research paper will be needed to satisfy the course requirements.
Prerequisite: COSC 6375.
This course will introduce state-of-the-art techniques to process and analyze different types of data, generate insights and knowledge from data, and make data-based decisions and predictions. Real-world examples will be used to familiarize students with the theory and applications. Main topics include data preprocessing, probability theory, tests of hypothesis, and various data analysis techniques (e.g., clustering, classification, prediction/forecasting, etc.) for different types of data including static, time-series, spatial, and spatiotemporal.
This course provides students with a range of experiences in conducting and communicating research. Students will learn major research methods and techniques. Experiences will be gained in all stages of research: reviewing literature, writing a proposal, designing an approach, and reporting results. Critical-reading/writing assignments and class discussions on state-of-the-art research in Computer Science will provide students with major research aspects. Spring
This course is designed to provide an intensive, supervised professional experience in an approved counseling setting. Topics addressed in this course include counselor education, pedagogy, research, supervision, leadership and advocacy, consultation, and training. Students will be expected to earn a total of 300 clock hours and will receive supervision in the five core areas of counseling, supervision, teaching, research/scholarship, and leadership/advocacy. Students repeat the internship for another 300 clock hours and another 3 semester hours of credit. Students must earn a grade of 'B' or better to pass.
Variable content study of specific areas of computer and information systems. May be repeated for credit when topics vary. Offered on sufficient demand.