Computer Science, MS

Program Description

The Master of Science with a major in Computer Science is designed to prepare graduate professionals who can apply the necessary knowledge of computing to information requirements of organizations in business, government, industry and education. The program provides for the education of individuals who will develop, maintain, or manage complex computer-based information systems.

The program provides the experienced professional with up-to-date specialized knowledge while developing those analytical skills necessary to stay abreast of the changing field of computing. The program also provides the recent baccalaureate graduate with additional applied and advanced knowledge, thus facilitating a more useful contribution to his/her career path.

Fast Track Computer Science BS to Computer Science MS

The university allows the opportunity for high-achieving undergraduate students to count a select number of graduate credits toward their undergraduate degree and thereby obtain a graduate degree at an accelerated pace. Students interested in the Fast Track in Computer Science should see the undergraduate catalog.

Program Goal

Prepare students to pursue careers in industry, academia, and government by offering a state of the art curriculum and advanced knowledge.

Student Learning Outcomes

At the time of graduation students will attain:

  • the ability for effective oral and written communication of complex ideas to diverse audiences, and
  • skills to efficiently solve complex problems from various domains with computers, and
  • the ability to comprehend and apply state-of-the-art in the field, and
  • an understanding of professional, ethical, legal, and security issues and responsibilities, and the societal impact of computing.

Chronological Procedure Leading to the MS Degree

  1. Completion of a degree plan
    Upon admission to the MS degree program in computer science, and prior to enrollment in any course, the student must contact the Graduate Academic Advisor in the College of Science & Engineering to have a degree plan completed. The student will then be assigned a faculty advisor from the computer science faculty. Students should seek the advice of their faculty advisor on a regular basis about their progress toward their degree.
  2. Progress toward the degree
    Once admitted to the graduate degree program in computer science, a student must complete at least six semester hours of credit per year toward the degree until the degree is completed. Failure to make this minimum progress will result in dismissal from the degree program with possible readmission based on the catalog in effect at the time of readmission. A student who is actively pursuing a graduate project or thesis and has completed all other course work for the degree will be given relief from this requirement, but must register continuously for the project or thesis until it is completed.
  3. Thesis or Courses Only
    Thesis Option

    Students choosing the thesis option must obtain permission from their faculty advisor (who will chair their committee) to register for COSC 5398 Thesis I (3 sch), which should be taken in the next to last semester. During the first month of Thesis I, the student and their advisor should determine the thesis committee. This committee consists of at least three full-time Texas A&M University-Corpus Christi graduate faculty members, two of which must be in computer science.
    While taking Thesis I, the student will develop a written proposal of the thesis work and present the proposal for approval. Upon approval, the student may then register for COSC 5399 Thesis II (3 sch). The student must then continually register for COSC 5399 Thesis II (3 sch) until completion of their thesis. If the student fails to register for COSC 5399 Thesis II (3 sch) or fails their final examination, a grade of No Credit will be assigned to COSC 5398 Thesis I (3 sch) and all COSC 5399 Thesis II (3 sch) courses and the student must begin the process again.
    While taking COSC 5399 Thesis II (3 sch), the student will produce a written thesis that discusses their work. A draft copy of the thesis will be given to all committee members and the student will make any changes required by the committee. Upon approval of the thesis committee chair, the student may schedule their final oral examination. The thesis will be published and archived in the Mary & Jeff Bell library. Guidelines for writing the thesis are available in the Computer Science office.
    Course Only Option
    Students must take all required courses along with their chosen electives with at least two courses from each elective group. COSC 6370 Advanced Software Engineering (3 sch) is taken in the final semester.
  4. Final examination (Thesis Option)
    After the student has completed all other requirements for the MS degree in computer science, the student must schedule an oral exam over his/her graduate program of study. The oral exam will be administered by the graduate thesis committee and will focus heavily on the thesis itself. 

For Additional Information

Website:
http://gradschool.tamucc.edu/degrees/science/computer_science.html

Campus Address:
Center for Instruction, Room 301
Phone: (361) 825-2474

Mailing Address:
Computer Science Program, Unit 5825
College of Science and Engineering
Texas A&M University-Corpus Christi
6300 Ocean Drive
Corpus Christi, Texas 78412-5825

Admission Requirements

  1. In addition to meeting all University requirements, students seeking admission to the graduate degree program in computer science must submit the following to the Office of Research and Graduate Admissions:
    • An application and application fee
    • Transcripts from regionally accredited institutions (international students will be required to submit relevant international transcripts)
    • An essay (500-1000 words) discussing why you wish to get a Master’s degree and your areas of interest
    • GRE scores (within five years of the date of application)
    • International students must show English language proficiency through either TOEFL or IELTS exam and additional documents to Graduate Admissions.
  2. A student entering the program is expected to have adequate preparation in computer science and mathematics from their undergraduate degree. For computer science, this preparation must include successful completion of coursework in data structures, a high level programming language, computer architecture, operating systems, and software engineering. In mathematics, students must have successfully completed course work in discrete mathematics, calculus, plus one additional junior level or higher mathematics course such as linear algebra, numerical analysis, or applied probability and statistics.
    Students who have not successfully completed the above courses may be required to take leveling courses in any missing subjects. All leveling courses must be completed with a grade of “B” or better. In addition, students can take no more than 9 credits towards their degree prior to completing all leveling courses.

Program Requirements

Requirements for the Master of Science in Computer Science degree may be met through one of two options: Thesis Option (Option I) or Course Only Option (Option II). The Thesis Option requires a minimum of 30 credit hours and the Course Only Option requires a minimum of 36 credit hours. The Thesis Option allows for maximum flexibility in choosing elective courses. This option allows the student to concentrate on a particular field or area of computer science. The Course Only Option allows for flexibility in choosing elective courses but requires the student to take at least two electives from each of the three elective concentration tracks. The concentration tracks are Software and Programming, Data Sciences, and Cyber Science.

Core Courses
COSC 6334Design and Analysis of Algorithms3
COSC 6351Advanced Computer Architecture3
COSC 6352Advanced Operating Systems3
Thesis or Course Option
Select one of the following options:21-27
Option 1 - Thesis
Select a minimum of 12 hours of electives to support thesis
Research Methods in Computer Science
Thesis I
Thesis II
Select electives that will support the student’s thesis
Option II - Course
Select a minimum of 24 hours, with at least 6 credits hours from each concentration track
Advanced Software Engineering (Must be taken in last semester)
Select electives across different areas of computer science, and must take at least two courses from each of the concentration tracks
Concentration Tracks
Software and Programming
Human-Computer Interaction
Theory of Computation
Parallel Computing
Parallel Algorithms
Mobile Software Development
Software Development with Generative AI
Cloud Computing
Data Science
Digital Image Processing
Computer Vision
Computer Graphics
Database Management Systems
Data Mining
Machine Learning
Deep Learning
Natural Language Processing
Deep Reinforcement Learning
Artificial Intelligence
Data Analytics
Cyber Science
Data Communications and Networking
Wireless and Mobile Networks
Secure Computer Systems
Computer Forensics
Information Assurance
Network Security
Blockchain and Cryptographic Systems
Total Hours30-36

Electives

  • For the Thesis Option, electives should be taken that will support the student’s thesis. Electives are chosen by the student but are subject to approval by the student’s graduate faculty advisor.
  • For the Course Only Option, students must obtain breadth by taking electives across different areas of computer science and must take at least two courses from each of the concentration tracks. Electives not listed in the concentration tracks may also be taken to fulfill remaining credit hours.

No more than six hours of approved electives may come from courses taken at another university or from outside of computer science. Credit from a master’s degree earned at another institution will not be applied to a second master’s degree at Texas A&M University-Corpus Christi. A maximum of six hours of approved Directed Independent Study may count toward the MS degree.

Courses

COSC 5300  Introductory Topics in Computer Science  
3 Semester Credit Hours (3 Lecture Hours)  
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).
COSC 5301  Programming I  
3 Semester Credit Hours (3 Lecture Hours)  
This course is an introduction to programming course with an emphasis on problem-solving, basic programming constructs, foundational programming methodologies, and an introduction to object-oriented programming. Python is the language of choice. This course is only available to students enrolled in the Bridge Program.
COSC 5302  Foundations of Computer Science  
3 Semester Credit Hours (3 Lecture Hours)  
This course offers the necessary mathematical background computer science professionals require. This includes logic, proofs, functions, relations, and probability, with an emphasis on practical applications in computer science. This course is only available to students enrolled in the Bridge Program.
COSC 5303  Computer Systems  
3 Semester Credit Hours (3 Lecture Hours)  
This course introduces the fundamental concepts of computer systems, including hardware, operating systems, security, and networks. Students will learn about the different components of a computer system, hardware, and software, and how they work together to process information. They will also learn about the principles of operating systems and how they manage resources and provide services to applications. This course is only available to students enrolled in the Bridge Program.
COSC 5313  Foundations of Computer Organization and Architecture  
3 Semester Credit Hours (3 Lecture Hours)  
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.)
COSC 5314  Programming II  
3 Semester Credit Hours (3 Lecture Hours)  
This course introduces the fundamental concepts of data structures and algorithms, and how to implement them in Python. Students will learn about the different types of data structures, and how to use them to solve common programming problems. This course is only available to students enrolled in the Bridge Program.
Prerequisite: COSC 5301.
COSC 5315  Multi-Platform Software Development  
3 Semester Credit Hours (3 Lecture Hours)  
This course teaches how to build modern applications for multiple (desktop, cloud, and mobile) platforms using modern cross-platform development tools and techniques. Students will learn about the latest trends and technologies in software development and how to use them to build high-quality, user-friendly applications. This course is only available to students enrolled in the Bridge Program.
COSC 5316  Introduction to Artificial Intelligence  
3 Semester Credit Hours (3 Lecture Hours)  
This course covers the foundations, directions, and applications of artificial intelligence, including search algorithms, knowledge acquisition, representation, and processing. Students will gain practical experience by implementing many of the basic algorithms. This course is only available to students enrolled in the Bridge Program.
COSC 5320  Design and Implementation of Computerized Instructional Systems  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5321  Data Structures  
3 Semester Credit Hours (3 Lecture Hours)  
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.)
Co-requisite: COSC 5312, MATH 2305.  
COSC 5324  Digital Image Processing  
3 Semester Credit Hours (3 Lecture Hours)  
This course introduces concepts and techniques for image processing. The objective 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. Fall, odd years.
COSC 5326  Computer Vision  
3 Semester Credit Hours (3 Lecture Hours)  
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. Spring, even years.
Prerequisite: COSC 5324.
COSC 5327  Introduction to Computer Graphics  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5328  Advanced Computer Graphics  
3 Semester Credit Hours (3 Lecture Hours)  
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.
Prerequisite: COSC 4328 or 5327.
COSC 5331  Foundations of Computer System Software  
3 Semester Credit Hours (3 Lecture Hours)  
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.
Co-requisite: COSC 5321.  
COSC 5334  The Design and Analysis of Algorithms  
3 Semester Credit Hours (3 Lecture Hours)  
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.
Prerequisite: COSC 5321, MATH 2413 and 2305.
COSC 5336  Database Management Systems  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5337  Data Mining  
3 Semester Credit Hours (3 Lecture Hours)  
An introduction to fundamental strategies and methodologies for data mining. Topics include data preprocessing, mining frequent data patterns, classification, clustering, and outlier detection. Summer.
COSC 5340  Human-Computer Interaction  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5350  Advanced Topics in DBMS  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5351  Advanced Computer Architecture  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5352  Advanced Operating Systems  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5353  Principles of Compiler Construction  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5354  Artificial Intelligence  
3 Semester Credit Hours (3 Lecture Hours)  
ARTIFICIAL INTELLIGENCE 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 and MATH 2305.
COSC 5355  Data Communications Networking  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5356  Theory of Computation  
3 Semester Credit Hours (3 Lecture Hours)  
THEORETICAL ASPECTS OF COMPUTING An introduction to theoretical foundations of modern computing. Topics include finite state machine concepts, formal grammars, and basic computability concepts.
Prerequisite: COSC 5321 and MATH 2305.
COSC 5357  Wireless Sensor Networks  
3 Semester Credit Hours (3 Lecture Hours)  
WIRELESS SENSOR NETWORKS 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.
COSC 5360  Concurrency: Parallel and Distributed Processing  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5362  Mobile Software Development  
3 Semester Credit Hours (3 Lecture Hours)  
MOBILE SOFTWARE DEVELOPMENT 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
COSC 5370  Advanced Software Engineering  
3 Semester Credit Hours (3 Lecture Hours)  
ADVANCED SOFTWARE ENGINEERING 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.
COSC 5374  Computer Forensics  
3 Semester Credit Hours (3 Lecture Hours)  
COMPUTER FORENSICS 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.
COSC 5375  Information Assurance  
3 Semester Credit Hours (3 Lecture Hours)  
INFORMATION ASSURANCE 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.
COSC 5376  Network Security  
3 Semester Credit Hours (3 Lecture Hours)  
NETWORK SECURITY 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.
COSC 5377  Applied Cryptography  
3 Semester Credit Hours (3 Lecture Hours)  
APPLIED CRYPTOGRAPHY 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.
COSC 5379  Advanced Information Assurance  
3 Semester Credit Hours (3 Lecture Hours)  
ADVANCED INFORMATION ASSURANCE 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.
COSC 5390  Internship  
1-6 Semester Credit Hours  
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).
COSC 5393  Research Methods in Computer Science  
3 Semester Credit Hours (3 Lecture Hours)  
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
COSC 5395  Graduate Project and Technical Report  
3 Semester Credit Hours  
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.
Prerequisite: COSC 5393 and 5370.
COSC 5396  Directed Independent Study  
1-3 Semester Credit Hours  
DIRECTED INDEPENDENT STUDY Study in areas of current interest. (A maximum of six hours may be counted toward the MS degree.) Fall, Spring, Summer.
COSC 5398  Thesis I  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5399  Thesis II  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 5590  Selected Topics  
1-5 Semester Credit Hours (1-5 Lecture Hours)  
SELECTED TOPICS Variable content study of specific areas of computer and information systems. May be repeated for credit when topics vary. Offered on sufficient demand.
COSC 5999  Advanced Research in Computer Science  
1-9 Semester Credit Hours (1-9 Lecture Hours)  
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.
COSC 6302  Graduate Seminar  
3 Semester Credit Hours (3 Lecture Hours)  
This is a 3-credit course that is intended to help facilitate the development of a student's dissertation research ideas and to contribute to the student's professional development as a doctoral level researcher in the field of computer science or geospatial informatics. The course focuses on developing professional research skills typically not provided in formal coursework such as methods for novel research, literature review, developing a research prospectus, presenting scientific research, research ethics, peer-review process, and professional society engagement. At the outcome, students will have a better understanding of the research process and a foundation to aid their development as a doctoral student and professional scientific researcher.
COSC 6324  Digital Image Processing  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6326  Computer Vision  
3 Semester Credit Hours  
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.
COSC 6327  Computer Graphics  
3 Semester Credit Hours (3 Lecture Hours)  
This course provides an in-depth exploration of computer graphics principles and techniques for generating, rendering, and manipulating 2D and 3D visual content. Students will study core concepts, including geometric transformations, rendering pipelines, shading models, and texture mapping. Advanced topics include real-time rendering, ray tracing, global illumination, and GPU programming.
COSC 6334  Design and Analysis of Algorithms  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6336  Database Management Systems  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6337  Data Mining  
3 Semester Credit Hours (3 Lecture Hours)  
This course introduces fundamental strategies and methodologies for data mining. Topics include data preprocessing, mining frequent data patterns, classification, clustering, and outlier detection.
COSC 6338  Machine Learning  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6339  Deep Learning  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6340  Human-Computer Interaction  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6341  Natural Language Processing  
3 Semester Credit Hours (3 Lecture Hours)  
This course introduces Natural Language Processing (NLP), covering its history, fundamental tasks, and challenges due to language ambiguity. Students will explore mathematical foundations (probability and information theory), text representation techniques (bag-of-words, TF-IDF, word embeddings), and neural network architectures, including feed-forward networks and the Transformer model with self-attention.
COSC 6342  Deep Reinforcement Learning  
3 Semester Credit Hours (3 Lecture Hours)  
This course covers the theory and approaches to building autonomous agents that learn to act and accomplish goals in dynamic environments. Topics include Markov decision processes (MDPs), learning behavioral policies, policy gradients, policy iteration, value iteration, agent explorations vs. exploitation, and Q learning.
COSC 6350  Advanced Topics in DBMS  
3 Semester Credit Hours (3 Lecture Hours)  
The study of emerging database technologies. Topics are chosen from data warehousing, distributed databases, spatial databases, and web-based applications.
Prerequisite: COSC 6336.
COSC 6351  Advanced Computer Architecture  
3 Semester Credit Hours (3 Lecture Hours)  
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. Fall.
COSC 6352  Advanced Operating Systems  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6354  Artificial Intelligence  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6355  Data Communications and Networking  
3 Semester Credit Hours (3 Lecture Hours)  
Areas studied include principles of computer-based communication systems, analysis and design of computer networks, and distributed data processing. Fall.
COSC 6356  Theory of Computation  
3 Semester Credit Hours (3 Lecture Hours)  
An introduction to theoretical foundations of modern computing. Topics include finite state machine concepts, formal grammars, and basic computability concepts.
Prerequisite: COSC 5321.
COSC 6358  Wireless and Mobile Networks  
3 Semester Credit Hours (3 Lecture Hours)  
This course covers the fundamentals of wireless communication and mobile network architectures, including Wi-Fi, Bluetooth, and cellular networks. Students will learn about mobile protocols, wireless security, and the unique challenges of mobile computing, such as mobility management and energy efficiency.
COSC 6359  Secure Computer Systems  
3 Semester Credit Hours (3 Lecture Hours)  
This course explores the principles of secure system design, focusing on identifying vulnerabilities, understanding common attacks, and implementing defensive measures. Topics include cryptographic foundations, operating system security, cloud and distributed system security, software security, secure development practices, and formal methods.
COSC 6360  Parallel Computing  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6361  Parallel Algorithms  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6362  Mobile Software Development  
3 Semester Credit Hours (3 Lecture Hours)  
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 6363  Software Development with Generative AI  
3 Semester Credit Hours (3 Lecture Hours)  
This course focuses on building applications that leverage Large Language Models (LLMs). Students will explore the essential concepts and technologies behind LLMs, API integration, model fine-tuning, and advanced text and speech processing. The course covers the design and implementation of LLM-powered applications to solve practical problems.
COSC 6364  Cloud Computing  
3 Semester Credit Hours (3 Lecture Hours)  
This course covers the fundamentals of cloud computing, cloud service models, deployment models, and topics like cloud-native architectures, security, and cost management. The practical topics emphasize using leading cloud platforms and leveraging cloud services to build scalable and resilient applications through containerization and orchestration.
COSC 6370  Advanced Software Engineering  
3 Semester Credit Hours (3 Lecture Hours)  
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. Fall.
COSC 6374  Computer Forensics  
3 Semester Credit Hours  
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.
COSC 6375  Information Assurance  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6376  Network Security  
3 Semester Credit Hours  
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.
COSC 6378  Blockchain and Cryptographic Systems  
3 Semester Credit Hours (3 Lecture Hours)  
This course provides a comprehensive overview of blockchain technology, including distributed ledgers, consensus mechanisms, and smart contracts. Students will explore the underlying principles of cryptocurrencies and decentralized applications.
COSC 6380  Data Analytics  
3 Semester Credit Hours (3 Lecture Hours)  
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.
COSC 6393  Research Methods in Computer Science  
3 Semester Credit Hours  
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
COSC 6396  Directed Independent Study  
1-3 Semester Credit Hours  
Study in areas of current interest. (A maximum of six hours may be counted toward the MS degree.) Fall, Spring, Summer.
COSC 6590  Selected Topics  
3 Semester Credit Hours (3 Lecture Hours)  
Variable content study of specific areas of computer and information systems. May be repeated for credit when topics vary. Offered on sufficient demand.
COSC 6996  Research  
1-9 Semester Credit Hours  
Independent research conducted under supervision of an advisor. Open to Computer Science students who have not yet passed the qualifying exam and with consent of their graduate advisor. The course is graded with an S or U, and may be repeated.
COSC 6998  Dissertation Research  
1-9 Semester Credit Hours  
Research related to Ph.D. dissertation project. Open only to degree candidates having passed the qualifying exam in Computer Science with consent of their graduate advisor. The course is graded with an S or U, and may be repeated.
COSC 6999  Dissertation Defense  
3-9 Semester Credit Hours  
Open only to degree candidates in Computer Science with consent of their graduate advisor. Students should enroll in this course during their last semester of the COSC PhD program. To successfully complete this course the student must pass the dissertation defense as well as have a final copy of the dissertation signed by the full graduate committee and approved for binding and distribution. A grade of Credit/No Credit will be assigned for the class with the possibility to assign the grade of IP or In Progress. If a grade of IP is assigned, the course must be repeated the following semester(s) until the course is passed.