Fast Track Computer Science, BS and Computer Science, MS

Program Description

The university allows the opportunity for high-achieving 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 must meet the following application criteria:

  • Currently seeking a BS in Computer Science at A&M-Corpus Christi.
  • Minimum of a 3.0 GPA in the last 60 SCH at the time of Fast Track application.
  • Classified as a Senior with successful completion of at least 90 SCH, including
    MATH 2413Calculus I4
    COSC 2334Computer Architecture3
    COSC 2437Data Structures4
    COSC 3346Operating Systems3

Students accepted into the Fast Track program will be given permission to enroll in up to six hours of prescribed graduate courses during their last semester of undergraduate studies. The hours for these graduate courses will “double-count” toward both the undergraduate and graduate programs. The BS and MS degrees will be awarded sequentially (i.e., upon completion of each degree) and not simultaneously. Students will be allowed to continue enrollment in the graduate program upon successful completion of the undergraduate degree.

Admissions Requirements

Applicants must provide the following at the time of application:

  • A completed application form. Application fees are waived for Fast Track applicants.
  • Official transcripts of all college and university coursework.
  • An essay (500-1000 words) discussing why you wish to get a Master’s degree and your areas of interest.
  • Identify a faculty member willing to serve as their graduate advisor. Applicants will not be admitted to the program without a graduate advisor.

No criterion is weighted more heavily than any other criterion. Applications received or completed after the deadline for admission during one semester may be considered for admission in the following semester at the applicant’s request. Applicants will be notified of the outcome of their application by email.

Academic Preparation

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.

Fast Track Curriculum in the Senior Year

BS Computer Science students accepted in the Fast Track will have up to six hours of undergraduate elective credit replaced with six hours of graduate credit during the final semester of the senior year. A Fast Track student can choose from any of the classes in the MS Computer Science degree plan, as long as the prerequisites are met.

See the Graduate Catalog for a complete description of the degree requirements for the MS in Computer Science.

Courses

COSC 1315  Computer Literacy  
3 Semester Credit Hours (3 Lecture Hours)  

A balanced introduction to the use and application of computers in modern society involving both descriptive information and hands-on laboratory participation. Includes a discussion of the general principles of operation of a computer and a brief history of the development of computing. The use of a personal computer operating system, common application software, and simple computer programming concepts are introduced. Satisfies university computer literacy requirement.

TCCNS: COSC 1301  
COSC 1320  C Programming  
3 Semester Credit Hours (3 Lecture Hours)  

Introduces the fundamental concepts of structured programming in the C language. Topics include data types; control structures; functions, structures, arrays, pointers, pointer arithmetic, unions, and files; the mechanics of running, testing, and debugging programs; introduction to programming; and introduction to the historical and social context of computing.

Prerequisite: (MATH 1314).

COSC 1330  Programming for Scientists, Engineers, and Mathematicians  
3 Semester Credit Hours (3 Lecture Hours)  

Introduction to computer programming for solving discipline specific problems using computers. Emphasis on the fundamentals of structured design, development, testing, implementation, and documentation.   Includes coverage of language syntax, data and file structures, input/output devices, and disks/files.

TCCNS: ENGR 2304  
COSC 1435  Introduction to Problem Solving with Computers I  
4 Semester Credit Hours (3 Lecture Hours, 2 Lab Hours)  

This course introduces the fundamental concepts of problem solving and algorithms. A brief introduction to computers and the programming life cycle is covered. The C++ programming language is used to develop basic computer programs demonstrating data types, fundamental control structures, functions, and arrays. MATH 1314 or placement beyond MATH 1314. Offered Fall, Spring, Summer.

Prerequisite: MATH 1314.

TCCNS: COSC 1436  
COSC 1436  Introduction to Problem Solving with Computers II  
4 Semester Credit Hours (3 Lecture Hours, 2 Lab Hours)  

This course is a continuation of COSC 1435. An introduction to abstract data types and object-oriented programming is covered. Topics include basic searching and sorting algorithms, dynamic allocation, linked lists, inheritance, polymorphism, and recursion.

Prerequisite: COSC 1435.

TCCNS: COSC 1437  
COSC 2325  Game Design  
3 Semester Credit Hours (2 Lecture Hours, 2 Lab Hours)  

This course will teach students the techniques for computer game design and how to work as part of a game development team from initial conception through release, including the game design process, game concepts, how and why we play games, character development, storytelling, user experience, game play, and core mechanics of games.

COSC 2334  Computer Architecture  
3 Semester Credit Hours (3 Lecture Hours)  

A concentrated study of internal computer concepts. Computer organization, machine and assembly language are emphasized.

Prerequisite: (COSC 1435 and MATH 2305).

COSC 2348  Introduction to Scripting  
3 Semester Credit Hours (3 Lecture Hours)  

This course introduces students to Windows and Unix/Linux shell scripting. The course covers basic scripting concepts including decision statements, control statements, functions and files manipulation. Advanced scripting tools such as grep, awk and sed are covered in this course.

Prerequisite: (COSC 1435).

COSC 2390  Selected Topics I  
1,3 Semester Credit Hours (1,3 Lecture Hours)  

Variable content. May be repeated for credit depending on topic. Offered on sufficient demand. Does not count toward total hours required for BS in Computer Science.

COSC 2391  Selected Topics II  
1-3 Semester Credit Hours (1-3 Lecture Hours)  

This is a selected topics course with no lab component. Variable content. May be repeated for credit depending on topic. Offered on sufficient demand. Does not count toward total hours required for BS in Computer Science.

COSC 2437  Data Structures  
4 Semester Credit Hours (3 Lecture Hours, 2 Lab Hours)  

This course provides a thorough study of standard structures used in the storing and retrieving of data and the processes by which these structures are created and manipulated. Topics include: object oriented design, linked lists, classes, trees, graphs, hashing, stacks, queues, sorting, searching, and recursion. A grade of C or better is required in the course to receive credit towards the Computer Science BS program.

Prerequisite: (COSC 1436) and (MATH 2305 or 2305*).
* May be taken concurrently.

TCCNS: COSC 2436  
COSC 2465  Linux Systems  
4 Semester Credit Hours (3 Lecture Hours, 2 Lab Hours)  

This course focuses on providing students with essential knowledge and skills to implement, administer, and troubleshoot servers in a networked environment. Operating system concepts, such as installing a standalone system, file systems authentication, and user support services are explored. Topics will include security issues, user and group administration, active directory services, DHCP, DNS, SSH, backup and restoration strategies and techniques, integrated mass storage technologies and alternative client technologies.

Prerequisite: COSC 2348.

COSC 2466  Network Systems  
4 Semester Credit Hours (3 Lecture Hours, 2 Lab Hours)  

This course focuses on the standards and technologies used to establish inter-network structures that will support a TCP/IP data stream for higher-level services to operate over. This course introduces local area networks (LAN) and wide area networks (WAN). Topics include the TCP/IP and open system interconnection (OSI) models, cabling, switches, routers, protocols, subnetting, and networking hardware and software. Initial switch and router configuration will be examined and evaluated.

Prerequisite: COSC 2465.

COSC 2470  COBOL Programming  
4 Semester Credit Hours (4 Lecture Hours)  

A concentrated study of the COBOL language as applied to fundamental business computing problems and other data management applications.

Prerequisite: COSC 1435.

COSC 3100  Skills for Computing Professionals I  
1 Semester Credit Hour (2 Lab Hours)  

This course focuses on beginning to develop professional skills that computer scientists will need to be successful in their careers and lives. Communication skills will include writing and giving oral presentations. Ethical issues will be explored. This is a class for computing professionals. As such, professional decorum will be required at all times.

COSC 3301  Cyber Security  
3 Semester Credit Hours (3 Lecture Hours)  

This course introduces students to cyber security. A broad range of cyber security issues will be covered, including social engineering attacks, secure coding, computer security, Internet of Things (IoT) security, mobile security, data security, network security, physical security and forensics.  This course will cover the concepts of prevention, detection, and response to cyber security threats.

Prerequisite: COSC 1435.

COSC 3324  Object-oriented Programming  
3 Semester Credit Hours (3 Lecture Hours)  

A study of concepts, terminology, and methodologies used in object-oriented systems, languages, and applications. Students will design and implement software systems using object-oriented analysis and design techniques.

Prerequisite: COSC 2437.

COSC 3325  Game Programming  
3 Semester Credit Hours (3 Lecture Hours)  

This course will introduce the student to techniques and tools used for all aspects of programming games.  Topics will include game graphics, game physics, game AI, and sound. The course will contain lectures and hands-on labs. Students will work independently and in teams.

Prerequisite: COSC 2437.

COSC 3335  Programming for Unmanned Aircraft Systems  
3 Semester Credit Hours (3 Lecture Hours)  

This course introduces software development for Unmanned Systems (US). Students will be introduced to a variety of relevant topics including the different US platforms, design and implementation of algorithms for US, user interface for US, and state-of-the-art US applications, challenges & solutions.

Prerequisite: (COSC 1435 or 1330) and (MEEN 3335).

COSC 3336  Introduction to Database Systems  
3 Semester Credit Hours (3 Lecture Hours)  

A study of contemporary database management system concepts, terminology, and methodology for use and implementation. Commercially available systems are discussed and used with emphasis upon the relational model.

Prerequisite: COSC 2437.

COSC 3346  Operating Systems  
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.

Prerequisite: (COSC 2437 and 2334).

COSC 3351  Internet Programming  
3 Semester Credit Hours (3 Lecture Hours)  

Study of prominent web technologies with a focus on creating interactive web applications. Both client-side and server-side programming will be covered. Students will design and implement a web based project using technologies covered in class.

Prerequisite: COSC 3336 or 3336*.
* May be taken concurrently.

COSC 3352  Mobile Programming  
3 Semester Credit Hours (3 Lecture Hours)  

This course introduces software development for mobile platforms. Students will learn skills for creating and deploying mobile applications. Includes software engineering topics as related to mobile programming, primarily in how software design differs on mobile platforms.

Prerequisite: COSC 2437.

COSC 3353  Survey of Programming Languages  
3 Semester Credit Hours (3 Lecture Hours)  

A study of selected programming languages for students familiar with programming. Students will write programs in a variety of languages.

Prerequisite: COSC 2437.

COSC 3360  Human-computer Interaction  
3 Semester Credit Hours (3 Lecture Hours)  

This course introduces concepts and techniques for Human Computer Interaction. Particular emphasis will be placed on vision, audio, and language solutions for use in human-computer interactive systems. In addition, the students will learn how to apply the methods to solve simple HCI problems.

Prerequisite: COSC 1436.

COSC 3370  Software Engineering  
3 Semester Credit Hours (3 Lecture Hours)  

This course introduces students to software engineering principles for the development and maintenance of high quality large software systems. Topics include: software life cycle, delivering on time and within budget, and the development and application of processes and tools for managing the complexities inherent in creating these systems.

Prerequisite: COSC 2437.

COSC 3371  Computer Information Systems Economics  
3 Semester Credit Hours (3 Lecture Hours)  

An introduction to concepts in information technology and software engineering with a focus on economics and managerial issues. Topics include cost benefit analysis, software and effort estimation, feasibility analysis, information systems proposals, software team coordination, and project management. May not be used as a CS elective for CS majors.

COSC 3372  Network Security  
3 Semester Credit Hours (2 Lecture Hours, 2 Lab Hours)  

This course provides an introduction to the fundamentals of computer and network security and security laws and ethics, topics include, identification of vulnerabilities, forms of attack, appropriate countermeasures, and the detection and defense of the same. Techniques for the securing of hardware, software and data, including physical security are covered.

Prerequisite: COSC 2466.

COSC 3373  Software Project Management  
3 Semester Credit Hours (3 Lecture Hours)  

This course introduces students to the principles for software project management for small and medium-size projects. Many aspects of software project management, including management process, scope definition, time and cost estimation, quality control, human resources, communication, risks and project procurement management will be discussed. A number of applications and tools will be used to implement a class project.

Prerequisite: (COSC 3370).

COSC 3385  Numerical Methods  
3 Semester Credit Hours (3 Lecture Hours)  

This course introduces concepts for solving problems numerically using computers. Students will learn about number systems, errors of finite representation, and iteration.  A survey of basic numerical methods including: solutions to nonlinear equations, solutions to linear systems, approximation, interpolation, zeros of functions, numerical differentiation and integration, and Monte-Carlo methods.

Prerequisite: MATH 2413 and (COSC 1330 or 1435).

COSC 3400  Skills for Computing Professionals  
4 Semester Credit Hours (3 Lecture Hours, 2 Lab Hours)  

This course focuses on the professional skills that computer scientists will need to be successful in their careers. There are two key areas of study, communication skills needed by computer scientists and their ethical responsibilities. Communication skills will include: technical writing from a computer science perspective, presentation skills, client interviewing, and reading technical articles. Ethical issues will be explored from a computer science perspective.

Prerequisite: ENGL 1302.

COSC 3474  Cyber Defense I  
4 Semester Credit Hours (3 Lecture Hours, 2 Lab Hours)  

This course covers cryptographic tools, cryptographic algorithms, types of malicious software, forms of attacks and software security.  Strengths and weaknesses of cryptographic systems are covered as well as the types of attacks on cryptographic systems. Malicious activity signatures, analysis as well as detection will be covered. This course will also cover secure coding principles and types of software issues.

Prerequisite: COSC 3372.

COSC 4100  Skills for Computing Professionals II  
1 Semester Credit Hour (2 Lab Hours)  

This course focuses on technical writing, workplace scenarios and professional skills that computer scientists will need to be successful in their careers and lives. This is a class for computing professionals. As such, professional decorum will be required at all times.

Prerequisite: (COSC 3100 or 1100) and ENGL 3310.

COSC 4310  Digital Forensics  
3 Semester Credit Hours (3 Lecture Hours)  

This course will introduce undergraduate students to the fundamentals of computer forensics and cyber-crime scene analysis. The various laws and regulations dealing with computer forensic analysis will be discussed. Students will be introduced to the emerging international standards for computer forensic analysis, as well as a formal methodology for conducting computer forensic investigations. Several Forensics tools such as Encase and FTK will be used to conduct digital forensics investigations.

Prerequisite: COSC 2437.

COSC 4324  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.

Prerequisite: COSC 2437.

COSC 4325  Advanced Game Programming  
3 Semester Credit Hours (3 Lecture Hours)  

This course will introduce advanced concepts for game programming to the student. Topics will include game physics, game AI, advanced shaders, 3D techniques, multiplayer techniques, and networking. The course will contain lectures and hands-on labs.

Prerequisite: COSC 3325.

COSC 4328  Computer Graphics  
3 Semester Credit Hours (3 Lecture Hours)  

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: 2D viewing, 3D viewing, perspective, lighting, and geometry.

Prerequisite: COSC 2437 and MATH 2413.

COSC 4330  Introduction to Artificial Intelligence  
3 Semester Credit Hours (3 Lecture Hours)  

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.

Prerequisite: COSC 2437.

COSC 4342  Computer Networks  
3 Semester Credit Hours (3 Lecture Hours)  

Computer-based communication systems. Topics include: advanced computer network architectures, protocols, and programming.

Prerequisite: (COSC 2437 and MATH 2413).

COSC 4343  Algorithms  
3 Semester Credit Hours (3 Lecture Hours)  

Advanced programming techniques for algorithmic and heuristic solutions of problems. Topics include: analysis and design of algorithms, testing of algorithms, optimum and exhaustive solutions, and recursion.

Prerequisite: (COSC 2437 and MATH 2413).

COSC 4345  Introduction to Machine Learning  
3 Semester Credit Hours (3 Lecture Hours)  

This course gives a broad introduction to machine learning with more emphasis on intelligent system design. Topics to be covered include linear and logistic regression, neural networks, clustering, classification, decision tree, evolutionary computation, feature selection, and reinforcement learning. The courses will explore various applications of machine learning to computer science, process modeling, pattern and speech recognition, data mining, and bioinformatics.

COSC 4348  Systems Programming  
3 Semester Credit Hours (3 Lecture Hours)  

The design and implementation of system software such as device drivers, application support libraries, and interprocess communication. Students will study and use systems programming tools.

Prerequisite: COSC 3346 and (COSC 3353 or 3324).

COSC 4353  Compiler Construction  
3 Semester Credit Hours (3 Lecture Hours)  

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 3353.

COSC 4354  Senior Capstone Project  
3 Semester Credit Hours (3 Lecture Hours)  

Teamwork and formal methods of systems analysis and design are emphasized. Students will complete a large team project. Fall, Spring.

Prerequisite: (COSC 3370, 3336 and 4100).

COSC 4360  Theory of Programming Languages  
3 Semester Credit Hours (3 Lecture Hours)  

The study of programming language design including syntax, semantics, behavior, and implementation issues in imperative, functional, logic, and object-oriented languages. Other topics include type theory, concurrency, data dependency, and nondeterminism.

Prerequisite: COSC 2437.

COSC 4365  Windows Security  
3 Semester Credit Hours (3 Lecture Hours)  

This course focuses on advanced system administration topics. An in depth understanding of various concepts such as operating systems, servers, file systems authentication, and user support services are explored. Topics include security issues, user and group administration, server and work-station integration, central repositories for updates, Active directory, DMZ, web servers, email servers, electronic system update and maintenance, backup and restoration strategies and techniques, integrated mass storage technologies and alternative client technologies.

Prerequisite: (COSC 2348) and (COSC 2465).

COSC 4367  Firewall and Intrusion Detection Systems  
3 Semester Credit Hours (3 Lecture Hours)  

This is an applied course which focuses on the standards and technologies used to establish inter-network structures that will support a TCP/IP data stream for higher-level services to operate over.  This course introduces firewalls, Intrusion Prevention Systems (IPS), and Intrusion Detection Systems (IDS) technology.  Topics include Windows, Linux, Check Point and Cisco firewalls, TCP/IP and open system interconnection (OSI) models, attack traffic analysis, and network based and host based hardware and software.  Device configuration will be examined and evaluated with appropriate exercises.

Prerequisite: (COSC 4365) and COSC 3372.

COSC 4368  Penetration Testing  
3 Semester Credit Hours (3 Lecture Hours)  

This course focuses to increase the students understanding of how to recognize a potential cyber attacker and identify vulnerabilities through the use of vulnerability analysis tools. Students will audit, monitor, and revise system security to ensure appropriate levels of protection are achieved. Incident response and handling, security log analysis, attacker identification, system recovery and postmortem procedures will be addressed.

Prerequisite: COSC 3474.

COSC 4369  Incident Response  
3 Semester Credit Hours (3 Lecture Hours)  

This course focuses on the standards and technologies used to establish organization structures that will support information technology incident response, business continuity and disaster recovery efforts.  This course introduces incident response, business continuity and disaster recovery planning concepts as well as tools and techniques.  Topics include the development and implementation of incident response, business continuity and disaster recovery plans, attack traffic analysis, and network-based and host-based hardware and software.  Concepts will be examined and evaluated with appropriate exercises.

Prerequisite: COSC 3372.

COSC 4370  Models of Computation  
3 Semester Credit Hours (3 Lecture Hours)  

A study of formal languages, grammars, and associated abstract machine models. Topics include regular and context-free languages and grammars, finite state automata, Turing machines, and the Chomsky hierarchy.

Prerequisite: COSC 4343.

COSC 4396  Directed Independent Study  
3 Semester Credit Hours  

See College description. Offered on sufficient demand.

COSC 4590  Selected Topics  
1-5 Semester Credit Hours (1-5 Lecture Hours)  

Variable content. May be repeated for credit depending on topic. Offered on sufficient demand.

Prerequisite: COSC 4365.

COSC 4690  Contracted Field Experience in Computer Science  
1-6 Semester Credit Hours (6 Lecture Hours)  

Individual contract agreement involving student, faculty, and cooperating agency to gain practical experience in off-campus setting.

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 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 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)  
COSC 5326  Computer Vision  
3 Semester Credit Hours (3 Lecture Hours)  

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)  
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)  

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)  

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)  

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)  

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)  

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)  

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)  

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)  

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)  

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  
3 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 COMP SCIEN  
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  

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.

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)  

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 6324  Digital Image Processing  
3 Semester Credit 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  Introduction to Computer Graphics  
3 Semester Credit Hours  

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 6328  Advanced Computer Graphics  
3 Semester Credit Hours  

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 6327.

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.

Prerequisite: MATH 2413 and 2305.

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  

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 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.

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 6353  Compiler Design and Construction  
3 Semester Credit Hours  

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: MATH 2305.

COSC 6354  Artificial Intelligence  
3 Semester Credit Hours  

Fundamental concepts and techniques for the design of computer-based, intelligent systems. Topics include: a brief history, methods for knowledge representation, and search techniques.

Prerequisite: MATH 2305.

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.

COSC 6356  Theory of Computation  
3 Semester Credit Hours  

An introduction to theoretical foundations of modern computing. Topics include finite state machine concepts, formal grammars, and basic computability concepts. Summer.

Prerequisite: MATH 2305.

COSC 6357  Wireless Sensor Networks  
3 Semester Credit Hours  

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 6360  Parallel Computing  
3 Semester Credit 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  

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 6365  Current Trends in Programming  
3 Semester Credit Hours (3 Lecture Hours)  

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.

COSC 6370  Advanced Software Engineering  
3 Semester Credit 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.

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 6377  Applied Cryptography  
3 Semester Credit Hours  

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.

COSC 6379  Advanced Information Assurance  
3 Semester Credit Hours  

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.

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  
3 Semester Credit Hours  

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.

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.