Master of Science (M.S.) Major in Computer Science (Thesis Option)
Program Overview
The Master of Science (M.S.) degree with a major in Computer Science is designed to prepare students for doctoral research, college teaching, careers in computer science and software engineering, and careers in digital forensics.
Application Requirements
Application requirements consist of institutional and program requirements for applicable semesters of entry during the current academic year. Additional information and changes to admission requirements for semesters other than the current academic year can be found on The Graduate College's website.
Unless otherwise noted on The Graduate College program page, AI tools can only be used to correct spelling and grammar errors in application materials.
Institutional Requirements
Institutional requirements are the minimum standards for admission to any graduate program at Texas State. These include:
- Completed online application
- Nonrefundable application fee
- Degree Programs (Doctoral and Master’s)
- $55 fee, or
- $90 for applications with international credentials
- Post-Baccalaureate Programs (Certificate, Certification, Non-Degree, and Visiting)
- $20 fee, or
- $60 for applications with international credentials
- Degree Programs (Doctoral and Master’s)
- Official transcripts from each institution where course credit was granted. Final transcripts showing degree completion are required before the student may register for their second term of enrollment.
- GPA requirements (a higher GPA may be listed in the Program Requirements)
- Doctoral programs require a 3.00 overall GPA or a 3.00 GPA in your last 60 hours of undergraduate course work (plus any completed graduate courses).
- Master’s and Specialist programs require a 2.75 overall GPA or a 2.75 GPA in your last 60 hours of undergraduate course work (plus any completed graduate courses).
- Post-Baccalaureate programs require a 2.50 overall GPA or a 2.50 GPA in your last 60 hours of undergraduate course work (plus any completed graduate courses).
- Baccalaureate degree from a regionally accredited university. (Non-U.S. degrees must be equivalent to a four-year U.S. Bachelor’s degree. In most cases, three-year degrees are not considered. Visit our International FAQs for more information.)
Approved English Proficiency Exam Scores
Applicants are required to submit an approved English proficiency exam score that meets the minimum requirements below unless they have earned a bachelor’s degree or higher from a regionally accredited U.S. institution or the equivalent from a country on our exempt countries list. Some programs may restrict acceptable tests or require higher scores than the institutional scores; this will be noted in the Program Requirements.
- official TOEFL iBT scores required with a 78 overall if taken on or before January 21, 2026
- official TOEFL iBT scores required with a 4 overall if taken after January 21, 2026
- official PTE scores required with a 52 overall
- official IELTS (academic) scores required with a 6.5 overall and minimum individual module scores of 6.0
- official Duolingo scores required with a 110 overall
- official TOEFL Essentials scores required with an 8.5 overall
- official Texas State Intensive English Program score of 90% or higher in the highest-level course (level 5)
The institution does not offer admission if the scores above are not met.
Application Requirements
Application requirements consist of institutional and program requirements for applicable semesters of entry during the current academic year. Additional information and changes to admission requirements for semesters other than the current academic year can be found on The Graduate College's website.
Unless otherwise noted on The Graduate College program page, AI tools can only be used to correct spelling and grammar errors in application materials.
Institutional Requirements
Institutional requirements are the minimum standards for admission to any graduate program at Texas State. These include:
- Completed online application
- Nonrefundable application fee
- Degree Programs (Doctoral and Master’s)
- $55 fee, or
- $90 for applications with international credentials
- Post-Baccalaureate Programs (Certificate, Certification, Non-Degree, and Visiting)
- $20 fee, or
- $60 for applications with international credentials
- Degree Programs (Doctoral and Master’s)
- Official transcripts from each institution where course credit was granted. Final transcripts showing degree completion are required before the student may register for their second term of enrollment.
- GPA requirements (a higher GPA may be listed in the Program Requirements)
- Doctoral programs require a 3.00 overall GPA or a 3.00 GPA in your last 60 hours of undergraduate course work (plus any completed graduate courses).
- Master’s and Specialist programs require a 2.75 overall GPA or a 2.75 GPA in your last 60 hours of undergraduate course work (plus any completed graduate courses).
- Post-Baccalaureate programs require a 2.50 overall GPA or a 2.50 GPA in your last 60 hours of undergraduate course work (plus any completed graduate courses).
- Baccalaureate degree from a regionally accredited university. (Non-U.S. degrees must be equivalent to a four-year U.S. Bachelor’s degree. In most cases, three-year degrees are not considered. Visit our International FAQs for more information.)
Approved English Proficiency Exam Scores
Applicants are required to submit an approved English proficiency exam score that meets the minimum requirements below unless they have earned a bachelor’s degree or higher from a regionally accredited U.S. institution or the equivalent from a country on our exempt countries list. Some programs may restrict acceptable tests or require higher scores than the institutional scores; this will be noted in the Program Requirements.
- official TOEFL iBT scores required with a 78 overall if taken on or before January 21, 2026
- official TOEFL iBT scores required with a 4 overall if taken after January 21, 2026
- official PTE scores required with a 52 overall
- official IELTS (academic) scores required with a 6.5 overall and minimum individual module scores of 6.0
- official Duolingo scores required with a 110 overall
- official TOEFL Essentials scores required with an 8.5 overall
- official Texas State Intensive English Program score of 90% or higher in the highest-level course (level 5)
The institution does not offer admission if the scores above are not met.
Program Requirements
- background course work*
- resume/CV
- statement of purpose
- three letters of recommendation
*Additional Information
Students admitted to the program will participate in a diagnostic interview with the graduate advisor. This interview will include a review of test scores, grades, and work history. In some cases, additional courses may be added to the degree program.
Degree Requirements
The Master of Science (M.S.) major in Computer Science requires 30 semester credit hours, including thesis. The program can be completed at the San Marcos Main Campus (M).
Background
Students are required to fulfill background course work if they do not have adequate undergraduate computer science background. The background requirements may be reduced if evidence is presented which shows that the applicant has taken equivalent courses elsewhere prior to enrollment at Texas State. Background work must be completed before enrolling in graduate courses.
The minimum undergraduate background requirements for computer science majors are:
| Code | Title | Hours |
|---|---|---|
| Computer Science 1 | ||
| CS 5301 | Programming Practicum | 3 |
| CS 2325 | Computer Organization | 3 |
| CS 3360 | Computing Systems Fundamentals | 3 |
| CS 3358 | Data Structures and Algorithms | 3 |
| Mathematics 2 | ||
| MATH 2358 | Discrete Mathematics I | 3 |
- 1
These courses must be completed with no grade less than a "C."
- 2
This course must be completed with no grade less than a “C.”
Course Requirements
| Code | Title | Hours |
|---|---|---|
| Required Courses | ||
| CS 5306 | Advanced Operating Systems | 3 |
| or CS 5310 | Network and Communication Systems | |
| or CS 5332 | Database Theory and Design | |
| CS 5318 | Principles of Programming Languages | 3 |
| or CS 5338 | Formal Languages | |
| or CS 5351 | Parallel Processing | |
| CS 5329 | Algorithm Design and Analysis | 3 |
| CS 5346 | Advanced Artificial Intelligence | 3 |
| or CS 5391 | Survey of Software Engineering | |
| Electives | ||
| Choose 12 hours from the following: | 12 | |
| Advanced Operating Systems | ||
| Network and Communication Systems | ||
| Machine Learning and Applications | ||
| Data Mining | ||
| Principles of Programming Languages | ||
| Advanced Studies in Human Factors of Computer Science | ||
| Crafting Compilers | ||
| Database Theory and Design | ||
| Advanced Internet Information Processing | ||
| Formal Languages | ||
| Advanced Network Programming | ||
| Wireless Communications and Networks | ||
| Advanced Artificial Intelligence | ||
| Parallel Processing | ||
| Distributed Computing | ||
CS 5369J | ||
| Recommender Systems | ||
| Green Computing | ||
| Multimedia Computing | ||
| Advanced Computer Security | ||
| Advanced Computer Graphics | ||
CS 5389 | ||
| Survey of Software Engineering | ||
| Formal Methods in Software Engineering | ||
| Software Quality | ||
| Advanced Software Engineering Project | ||
| Independent Study in Advanced Computer Science | ||
| Thesis | ||
| CS 5399A | Thesis A | 3 |
| Choose a minimum of 3 hours from the following: | 3 | |
| Thesis | ||
| Thesis | ||
| Thesis B | ||
| Thesis B | ||
| Thesis B | ||
| Total Hours | 30 | |
Comprehensive Examination Requirement
The comprehensive exams of computer science master programs consist of multiple components. Specifically, all graduate students must complete/pass:
- Degree Outline: Have a degree outline prepared before the end of their first semester. Currently this is done during the mandatory diagnostic interview sessions for newly admitted CS master degree students.
- Programming exam: Pass a written exam in programming.
- Communication exam: Pass a written exam in communication.
- Attendance requirement of computer science seminars.
- For thesis students, the master thesis defense exam.
Failure to complete 1, 2, or 3 will result in a "hold" on registration and may cause delays in taking/passing the comprehensive examination. Details of 2, 3, 4, and 5 are described below.
Programming Exam
The Programming Exam integrates problem-solving and technical abilities to write clear and logical code. The exam format is written.
- The allowable programming languages are C++/Java. Students can elect either of the two.
- This exam is given to newly admitted graduate students twice a year. Students are notified of the registration by the department for the exam. A student who doesn’t participate in the exam without the department approval forfeits the opportunity of taking the exam and must take the remedy course CS 5301.
- The exam is typically administrated during the week before the Fall or Spring semester starts.
- Students who fail the Programming Exam are required to take the remedy course CS 5301 immediately. Students must obtain a grade "C" or better in CS 5301 in order to satisfy the programming exam requirement. Students are allowed to take CS 5301 twice.
- Students who have not passed the Programming Exam or the remedy course, CS 5301, are not eligible to take classes during the summer semesters.
Communication Exam
The Communication Exam tests the ability to write clear technical English on computer science topics. All students must satisfy one of the following three options:
- Have a score of 3.5 or higher on the Analytical Writing section of the Graduate Record Examination (GRE).
- Take the Communication Exam and earn a passing score in the first long semester.
- This exam is given to newly admitted graduate students during their first semester (spring or fall semester only).
- Students are registered and notified by the department for this exam.
- This exam can only be taken once during the first semester of initial enrollment.
- Complete one of the following Texas State English courses, ENG 3313, ENG 3311, or ENG 3303, and earn a grade of "B" or better. Students must register for one of the English courses by the end of the student's first year in the graduate program. There is no limit on the number of times the students can take those English courses.
Seminar Attendance
All computer science master students are required to attend at least four computer science departmental seminars. All seminars that can be counted toward this requirement are announced by the department through emails to all active students and on the department website. Students are strongly recommended to plan and participate in seminars earlier and not to wait until the final semester of their study.
Oral Master Thesis Defense Exam
All thesis students are required to take an oral exam at the time of their public thesis defense.
Students who do not successfully complete the requirements for the degree within the timelines specified will be dismissed from the program.
If a student elects to follow the thesis option for the degree, a committee to direct the written thesis will be established. The thesis must demonstrate the student’s capability for research and independent thought. Preparation of the thesis must be in conformity with the Graduate College Guide to Preparing and Submitting a Thesis or Dissertation.
Thesis Proposal
The student must submit an official Thesis Proposal Form and proposal to his or her thesis committee. Thesis proposals vary by department and discipline. Please see your department for proposal guidelines and requirements. After signing the form and obtaining committee members’ signatures, the graduate advisor’s signature if required by the program and the department chair’s signature, the student must submit the Thesis Proposal Form with one copy of the proposal attached to the dean of The Graduate College for approval before proceeding with research on the thesis. If the thesis research involves human subjects, the student must obtain exemption or approval from the Texas State Institutional Review Board prior to submitting the proposal form to The Graduate College. The IRB approval letter should be included with the proposal form. If the thesis research involves vertebrate animals, the proposal form must include the Texas State IACUC approval code. It is recommended that the thesis proposal form be submitted to the dean of The Graduate College by the end of the student’s enrollment in 5399A. Failure to submit the thesis proposal in a timely fashion may result in delayed graduation.
Thesis Committee
The thesis committee must be composed of a minimum of three approved graduate faculty members.
Thesis Enrollment and Credit
The completion of a minimum of six hours of thesis enrollment is required. For a student's initial thesis course enrollment, the student will need to register for thesis course number 5399A. After that, the student will enroll in thesis B courses, in each subsequent semester until the thesis is defended with the department and approved by The Graduate College. Preliminary discussions regarding the selection of a topic and assignment to a research supervisor will not require enrollment for the thesis course.
Students must be enrolled in thesis credits if they are receiving supervision and/or are using university resources related to their thesis work. The number of thesis credit hours students enroll in must reflect the amount of work being done on the thesis that semester. It is the responsibility of the committee chair to ensure that students are making adequate progress toward their degree throughout the thesis process. Failure to register for the thesis course during a term in which supervision is received may result in postponement of graduation. After initial enrollment in 5399A, the student will continue to enroll in a thesis B course as long as it takes to complete the thesis. Thesis projects are by definition original and individualized projects. As such, depending on the topic, methodology, and other factors, some projects may take longer than others to complete. If the thesis requires work beyond the minimum number of thesis credits needed for the degree, the student may enroll in additional thesis credits at the committee chair's discretion. In the rare case when a student has not previously enrolled in thesis and plans to work on and complete the thesis in one term, the student will enroll in both 5399A and 5399B.
The only grades assigned for thesis courses are PR (progress), CR (credit), W (withdrew), and F (failing). If acceptable progress is not being made in a thesis course, the instructor may issue a grade of F. If the student is making acceptable progress, a grade of PR is assigned until the thesis is completed. The minimum number of hours of thesis credit (“CR”) will be awarded only after the thesis has been both approved by The Graduate College and released to Alkek Library.
A student who has selected the thesis option must be registered for the thesis course during the term or Summer I (during the summer, the thesis course runs ten weeks for both sessions) in which the degree will be conferred.
Thesis Deadlines and Approval Process
Thesis deadlines are posted on The Graduate College website under "Current Students." The completed thesis must be submitted to the chair of the thesis committee on or before the deadlines listed on The Graduate College website.
The following must be submitted to The Graduate College by the thesis deadline listed on The Graduate College website:
- The Thesis Submission Approval Form bearing original (wet) and/or electronic signatures of the student and all committee members.
- One (1) PDF of the thesis in final form, approved by all committee members, uploaded in the online Vireo submission system.
After the dean of The Graduate College approves the thesis, Alkek Library will harvest the document from the Vireo submission system for publishing in the Digital Collections database (according to the student's embargo selection). NOTE: MFA Creative Writing theses will have a permanent embargo and will never be published to Digital Collections.
While original (wet) signatures are preferred, there may be situations as determined by the chair of the committee in which obtaining original signatures is inefficient or has the potential to delay the student's progress. In those situations, the following methods of signing are acceptable:
- signing and faxing the form
- signing, scanning, and emailing the form
- notifying the department in an email from their university's or institution's email account that the committee chair can sign the form on their behalf
- electronically signing the form using the university's licensed signature platform.
If this process results in more than one document with signatures, all documents need to be submitted to The Graduate College together.
No copies are required to be submitted to Alkek Library. However, the library will bind copies submitted that the student wants bound for personal use. Personal copies are not required to be printed on archival quality paper. The student will take the personal copies to Alkek Library and pay the binding fee for personal copies.
Master's level courses in Computer Science: CS
Courses Offered
Computer Science (CS)
CS 5100. Advanced Computer Science Internship.
This course provides CS master’s students on-the-job training supervised by computer professionals in industry internship programs. During the internship, students apply what they have learned in the classroom toward the internship work. They are required to submit a mid-term and a final report of their internship work, describing what they have learned as a result of the internship and what curriculum additions or improvements they would suggest as a result of the internship experience. Students need the approval of the department in advance to take this internship course. Prerequisite: Instructor approval.
1 Credit Hour. 0 Lecture Contact Hours. 20 Lab Contact Hours.Course Attribute(s): Exclude from 3-peat Processing|Graduate Assistantship|Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships
CS 5199B. Thesis.
This course provides continued enrollment for graduates engaged in thesis research and writing in computer science. Work is conducted under the direct supervision of a thesis advisor and involves activities necessary for completing the thesis, such as data collection, analysis, preparation of written dissertation chapters, and oral defense of the thesis. Candidates may participate in systems implementation, computational research, software engineering, or other approved investigative approaches as appropriate to their study. Enrollment may be needed for each long semester while conducting research or writing to maintain steady progress until the thesis is submitted for binding.
1 Credit Hour. 1 Lecture Contact Hour. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5299B. Thesis.
This course provides continued enrollment for graduates engaged in thesis research and writing in computer science. Work is conducted under the direct supervision of a thesis advisor and involves activities necessary for completing the thesis, such as data collection, analysis, preparation of written dissertation chapters, and oral defense of the thesis. Candidates may participate in systems implementation, computational research, software engineering, or other approved investigative approaches as appropriate to their study. Enrollment may be needed for each long semester while conducting research or writing to maintain steady progress until the thesis is submitted for binding.
2 Credit Hours. 2 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5300. Professional Development of Graduate Assistants.
This course develops the professional, pedagogical, and technical skills required of master’s-level graduate instructional and teaching assistants in Computer Science. Through weekly seminars, guest speakers, and structured practice, students explore effective teaching strategies for lower-division CS courses, ethical and legal responsibilities, classroom and laboratory management, and core technical support skills relevant to department labs. Activities such as a formal teaching presentation, peer feedback, and written reflections emphasize clear communication, professionalism, and effective support of undergraduate learners. This course does not earn graduate degree credit.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Graduate Assistantship|Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships
CS 5301. Programming Practicum.
This course introduces graduate students to foundational programming concepts and practices for computing coursework. Topics include procedural and object-oriented programming, problem decomposition, program design, testing, debugging, and implementation in C++, with selected programming idioms from Java and Python. Students analyze and implement core data structures such as arrays, linked lists, stacks, queues, trees, and graphs, along with basic algorithms including searching, sorting, recursion, depth-first search, and breadth-first search. The course also examines contemporary programming workflows involving AI-assisted coding, code review, debugging, and responsible evaluation of AI-generated code.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Exclude from Graduate GPA|Leveling
Grade Mode: Leveling/Assistantships
CS 5302. Foundations of Data Structures and Algorithm Design.
This course examines classic data structures and the analysis of related algorithms through the lens of abstract data types. Students analyze the behavior of fundamental structures, including lists, stacks, queues, trees, graphs, and hash tables, while evaluating their impact on algorithmic performance regarding time and space complexity. Learners implement recursion and its various applications alongside elementary algorithms for sorting, searching, and hashing. Participants evaluate the trade-offs between dynamic and array-based implementations to determine appropriate structures for specific computational problems. By examining generic programming and heap structures, the course provides a comprehensive foundation for advanced programming and algorithm design.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships
CS 5303. Foundations of Computer Architecture.
This course provides foundational instruction in computer architecture for graduate students requiring reinforcement of core concepts. Topics include arithmetic logic units, instruction set architectures, datapath and control design, pipelining, multiprocessing, input/output systems, memory hierarchies, virtual memory, low level programming techniques, and performance evaluation. Students examine architectural tradeoffs through analytical methods and quantitative performance analysis. Emphasis is placed on understanding how hardware structures implement computation and influence system behavior.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Exclude from 3-peat Processing|Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships
CS 5305. Foundations of Operating Systems.
This course serves as a foundation course for computer science master's students who need reinforcement of fundamental concepts covered by CS 4328. The course examines the principles and design of modern operating systems. Topics include process and thread management, CPU scheduling, synchronization, interprocess communication, deadlocks, memory management, virtual memory, file systems, I/O, virtualization and cloud computing. Students explore system calls, kernel structure, and security mechanisms. Emphasis is placed on the interaction between hardware and software and on performance trade-offs. Programming assignments provide hands-on experience with system-level concepts using a Unix/Linux environment.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Exclude from Graduate GPA
Grade Mode: Leveling/Assistantships
CS 5306. Advanced Operating Systems.
This course examines the principles and design of modern operating systems. Topics include process and thread management, CPU scheduling, synchronization, interprocess communications, deadlocks, memory management, virtual memory, file systems, I/O, virtualization and cloud computing. Students explore system calls, kernel structure, and security mechanisms. Emphasis is placed on the interaction between hardware and software and on performance trade-offs. Programming assignments provide hands-on experience with system-level concepts using a Unix/Linux environment.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5310. Network and Communication Systems.
This course provides a study of network and communication systems. The course consists of three parts: foundations of data communications, essentials of computer networks and protocols, TCP/IP programming. Topics for data communications include types of networks, data types and their properties, network and application quality of services, modulations and multiplexing, and issues of signal transmissions. The computer networks and protocol part covers the core elements of computer networks and protocols such as sliding window protocols, LANs, Internet and TCP/IP. The programming part introduces TCP/IP networking socket APIs.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5313. Machine Learning and Applications.
This course provides a rigorous technical foundation in machine learning theory, algorithms, and real-world applications for graduate students. It covers supervised and unsupervised learning, high-dimensional statistical modeling, and advanced ML/AI topics, including ensemble methods and generative and discriminative models. Students learn to address regression and classification tasks using data-driven paradigms, including clustering, ensemble learning, and dimensionality reduction, with emphasis on mathematical derivations, algorithmic implementation, and challenges such as the curse of dimensionality. Methodology emphasizes systematic experimentation, optimization, and critical evaluation using modern machine learning tools and reproducible workflows. Students complete a domain-driven project that integrates full data science pipelines with novel or advanced modeling approaches in domains such as healthcare, finance, and vision.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Dif Tui- Science & Engineering
Grade Mode: Standard Letter
CS 5315. Responsible and Trustworthy AI.
This course examines the foundational principles and practices associated with responsible and trustworthy Artificial Intelligence (AI), introducing AI Engineering and approaches to developing AI systems with attention to reliability and risk. Topics include robustness, explainability, privacy, fairness, bias, and the use of generative AI models and machine learning in production environments. Students analyze the benefits, limitations, and trade-offs of these concepts and their integration into AI development. The course also reviews recent advancements and examines technical, regulatory, and ethical challenges within the AI domain. Prerequisite: CS 5313 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5316. Data Mining.
This course examines fundamental concepts, core methodologies, and recent developments in data mining. Typical topics include but are not limited to classification, cluster analysis, frequent pattern mining and related approaches for discovering structure and patterns in large‑scale data sets. Relevant research training and practice opportunities are also provided. Through programming assignments and projects, students will enhance their understanding of theoretical concepts and gain hands-on experience on practical techniques. They will also explore popular data mining tool packages such as Weka, Orange, KNIME and RapidMiner.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5318. Principles of Programming Languages.
This course focuses on the principles of programming languages. Topics covered include programming paradigms, concepts of programming languages, formal syntax and semantics, and language implementation issues. Students examine principles used in specifying, designing, and implementing programming languages and review major paradigms including imperative, object-oriented, functional, logic, and concurrent programming. The course also explores how language features influence software development and implementation.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5325. Reinforcement Learning.
This course examines the foundational principles and modern methods of reinforcement learning, in which agents learn sequential decision-making through interaction with an environment based on reward signals. Topics include Markov decision processes, dynamic programming, Monte Carlo methods, temporal-difference learning, policy gradient methods, and deep reinforcement learning. Students investigate algorithms such as Q-learning, SARSA, actor-critic architectures, and proximal policy optimization, and explore applications including game-playing agents, robotics, and reinforcement learning from human feedback. Emphasis is placed on both theoretical analysis and practical implementation using Python, PyTorch, and OpenAI Gymnasium. Prerequisite: CS 5313 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5326. Advanced Studies in Human Factors of Computer Science.
This course provides a professional-level presentation of techniques and research findings related to human-computer interactions.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5329. Algorithm Design and Analysis.
This course examines advanced algorithm design principles and computational complexity. Essential topics include core design techniques (such as divide-and-conquer, dynamic programming, and greedy methods), advanced algorithms for sorting, searching, and graphs, and the theory of NP-completeness. Students complete theoretical problem-solving and applied programming assignments to analyze the time and space complexity of algorithms and verify their correctness. Through these activities, students develop the advanced algorithmic toolkit necessary to design highly efficient and scalable solutions for a wide range of complex computational problems.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5331. Crafting Compilers.
This course provides a study of the design and implementation of modern compilers, with an emphasis on foundational principles and practical system construction. It covers the compilation pipeline, including lexical analysis, parsing, semantic analysis, and code generation. Students also learn about various optimization techniques. The course also introduces students to the challenges in compiling for modern architectures and the role of compilers in enabling high-performance execution. Through a sequence of incrementally structured projects, students build a compiler from the ground up, where each stage extends prior components to form a complete system, providing hands-on experience in constructing complex software systems and understanding how compilers translate high-level abstractions into efficient machine-level execution.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5332. Database Theory and Design.
This course examines the organization and management of data using relational database systems. Topics include data modeling, the Entity-Relationship model, and translating application data requirements into well-structured relational schemas. Fundamental design principles such as functional dependencies, normalization, and integrity constraints are introduced. Students gain practical experience creating databases and retrieving data through interactive SQL queries and programmatic access. Relational algebra, which provides the formal foundation for SQL, is also covered, along with underlying DBMS implementation technologies and advanced non-relational data models.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5334. Advanced Internet Information Processing.
This course integrates web programming languages and data storage techniques for advanced information processing in Internet applications. Topics include database and big data support, as well as application-specific information processing algorithms. Students examine methods for building web-based information processing systems using languages such as PHP, Java, Java Servlets/JSP, and Python. The course also covers design considerations, system integration, and performance aspects of web applications, with practical implementation exercises to support applied learning.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5338. Formal Languages.
This course covers the fundamental concepts and advanced topics in formal languages and automata theory. Through a combination of theoretical study and practical projects, students will learn how to analyze formal languages such as regular, context free, decidable and semi-decidable languages. Students will also learn how to create formal grammars such as regular and context free grammars, and design abstract machines such as finite state machines, pushdown automata and Turing machines. Other topics include Church-Turing thesis, Halting problem, reduction, computability and complexity.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5341. Advanced Network Programming.
This course covers some of the advanced concepts and programming skills in computer networks. The course looks into the details of the TCP/IP protocol suite, in particular, the IP, TCP, and UDP protocols. Students will learn TCP/IP based programming skills based on socket API. Main topics covered include advanced TCP/IP, API, multicasting and broadcasting, reliable communications, advanced I/O functions and options. The course extends the programming part of CS 5310 and gets students prepared for more advanced TCP/IP network programming.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5342. Robotics and Autonomous Systems.
This course provides a technical study of robotics and autonomous systems with an emphasis on algorithmic foundations and system implementation. Topics include robot kinematics, feedback control, probabilistic state estimation, perception using deep learning, motion planning, and coordination in multi-robot systems. Students evaluate real‑world applications, including autonomous vehicles, and assess documented system‑level impacts using empirical and scholarly sources. The course emphasizes hands-on development and testing of robotic systems through project-based learning, simulation environments, and real robots. Prerequisite: CS 5329 with grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5343. Wireless Communications and Networks.
This course covers the fundamental aspects of wireless communications and wireless and mobile networks. Topics include the electromagnetic spectrum and propagation modes; antenna properties such as radiation patterns, gain, and loss; and key challenges in wireless communication, including interference and fading. The course also examines signal encoding and digitization techniques such as pulse code modulation and delta modulation, as well as the principles, advantages, and limitations of spread spectrum methods. Cellular network design is addressed, including architecture, operation, and handoff management.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5346. Advanced Artificial Intelligence.
This course provides an introduction to Artificial Intelligence (AI) and generative AI, focusing on the analysis, design, implementation, and evaluation of AI systems. Topics include machine learning, knowledge representation, intelligent search, probabilistic reasoning, natural language processing, planning and decision-making, adversarial search, and generative models such as large language models, GANs, and VAEs. Students examine methods for developing and evaluating AI systems using established performance metrics and experimental methodologies. The course also addresses scalability, knowledge-based systems, and the analysis of technical, societal, and reliability considerations associated with AI systems.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5351. Parallel Processing.
This course explores practical aspects of parallel processing, including multi-core CPUs and shared-memory programming, GPUs and accelerator programming, and distributed-memory computers and message-passing programming. The lectures cover MPI, POSIX threads, OpenMP, CUDA, HIP, loop parallelization, parallel algorithms, amorphous data parallelism, atomic operations, prefix sums, performance measurement, parallelism bugs, and case studies of parallel programs. Students are given opportunities to gain applied knowledge and skills by developing, testing, and evaluating the performance of parallel software on various shared- and distributed-memory systems.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5352. Distributed Computing.
This course examines essential aspects of distributed and cloud computing. Topics include the history and evolution of distributed systems, architectures and models, system transparency, distributed time and clock synchronization, global states, and safety and fairness properties. The course also covers inter-process communication, concurrency control and atomicity, failure detection and recovery, fault tolerance including Byzantine failures, distributed consensus and coordination, remote method invocation, naming, and security. Students also examine cloud application development and case studies of distributed and cloud-based systems.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5361. Generative Artificial Intelligence.
This course introduces generative artificial intelligence, focusing on models such as autoencoders, variational autoencoders (VAEs), generative adversarial networks (GANs), and diffusion-based methods. Topics include text, image, and audio generation, as well as applications such as data augmentation and synthetic data generation. Students implement and evaluate generative models through practical assignments. The course also examines technical considerations related to bias, synthetic media, and intellectual property, along with methods used to assess generated outputs across different application contexts. Prerequisite: CS 5313 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5369A. Data Science And Visualization.
This course introduces fundamental and practical techniques for data science and visualization in Python, with a focus on end-to-end analytics pipelines. Topics include data wrangling, data cleaning, exploratory data analysis, unsupervised learning, and the design of interactive dashboards. Students work with multi-source datasets and implement reproducible workflows using contemporary data science libraries, version control, and dashboard frameworks. The course also examines pipeline design, data representation, and visualization techniques, along with introductory concepts in environment management and workflow organization. Consideration is given to how design and infrastructure choices relate to interpretability, reliability, and downstream analytical applications.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter
CS 5369L. Machine Learning and Applications.
Provides broad introduction to machine learning, including learning theory, and recent topics like support vector machines and feature selection. Covers basic ideas, intuition, and understanding behind modern machine learning methods. Discusses applications like face recognition, text recognition, biometrics, bioinformatics, and multimedia retrieval.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter
CS 5369Q. Recommender Systems.
This course provides an advanced graduate-level treatment of recommender systems, focusing on algorithms and research methods for personalized content and decision support. Topics include content-based and collaborative filtering, matrix factorization, sequence- and context-aware models, and hybrid architectures used in large-scale environments. Students design and implement recommendation pipelines in Python using interaction data, with emphasis on candidate generation, ranking, offline evaluation metrics, and analysis of online experiments such as A/B tests. The course also examines methods for evaluating system performance and analyzing the effects of design choices in recommender systems.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter
CS 5369Y. Green Computing.
This course provides a graduate-level introduction to computing approaches related to energy efficiency and resource usage. Topics include energy-efficient hardware and system design, software optimization techniques, and methods for analyzing energy consumption in computing systems. The course examines data center efficiency, resource management strategies, and scheduling approaches based on energy-related constraints. Students use measurement and profiling tools to evaluate system performance and energy usage. Case studies are used to analyze trade-offs among performance, resource utilization, and system design choices.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Course Attribute(s): Exclude from 3-peat Processing|Topics
Grade Mode: Standard Letter
CS 5375. Multimedia Computing.
This course introduces the fundamental concepts and techniques of digital multimedia. It covers the representation and compression of text, audio, images, and video, along with multimedia systems, applications, transmission, and the role of standardization in ensuring interoperability and efficient media exchange. Topics include multimedia systems and applications; graphics and image representation; image and video processing; visual perception and color models; lossless and lossy compression, including frequency-domain concepts; multimedia compression standards; and emerging technologies such as virtual and augmented reality.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5378. Advanced Computer Security.
This course examines advanced concepts in computer security, from abstract security policies to the design and analysis of secure systems and networks. Topics include security models, cryptographic techniques, common vulnerabilities in modern systems, and established security practices. Students analyze how attacks are conducted, how vulnerabilities are identified, and how defensive mechanisms are implemented and evaluated. The course also introduces methods for assessing emerging security challenges and reviewing current research in computer security. Emphasis is placed on understanding system security from both theoretical and practical perspectives.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5388. Advanced Computer Graphics.
This course examines the fundamental concepts and algorithms of computer graphics with an emphasis on advanced analysis and implementation. Topics include geometric transformations, scene representation, lighting and shading models, texture mapping, and animation. Students analyze and design complex graphics systems through the application of mathematical and computational techniques. Additional emphasis is placed on performance considerations, system-level design, and evaluation of rendering pipelines and visual representations. The course includes topics related to real-time graphics and modern visual computing systems.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5391. Survey of Software Engineering.
This course examines the software development life cycle with an emphasis on system analysis, design, and implementation practices used in contemporary software engineering. Topics include requirements engineering, architectural design, development methodologies based on data‑flow and object‑oriented models, and techniques for verification and validation. The course also introduces professional standards and ethical frameworks relevant to software engineering practice, treating ethical issues as objects of analysis rather than prescriptive rules. Students engage with both industry practices and research‑informed approaches to understand tradeoffs, design decisions, and evaluation methods used in modern software systems.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5392. Formal Methods in Software Engineering.
This course examines formal methods in software engineering with a focus on static program analysis and verification techniques. Topics include propositional and first-order logic, soundness and completeness, computability concepts, and formal proof methods. The course covers model checking, temporal logics such as linear time temporal logic (LTL) and computation tree logic (CTL), and specification of system properties including safety and liveness. Additional topics include satisfiability-based verification, symbolic analysis, and approaches to analyzing concurrent systems. Students engage with tools and methods used to evaluate software correctness and analyze the capabilities and limitations of formal verification techniques. Prerequisite: CS 5391 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5393. Software Quality.
This course examines dynamic program analysis algorithms and their role in software quality assessment. Topics include software correctness, reliability, and robustness; testing methodologies such as unit, integration, and regression testing; and techniques including mutation testing, data flow analysis, and symbolic evaluation. The course also covers dynamic validation approaches, dependency analysis, and challenges in object-oriented testing. Students analyze quality assurance strategies and apply formal and empirical methods to evaluate software systems. Prerequisite: CS 5391 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5394. Advanced Software Engineering Project.
This course serves as a graduate-level capstone experience in software engineering. Students work in teams to design, implement, verify, and validate a software system of substantial scope. The course integrates concepts from the software engineering curriculum, including requirements analysis, architectural design, process modeling, and verification and validation. Emphasis is placed on structured, team-based development using contemporary development approaches aligned with established software architectures and processes. Students apply systematic methods to manage complexity, coordinate team activities, and evaluate software quality within realistic project constraints. Prerequisite: CS 5391 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5395. Independent Study in Advanced Computer Science.
This course provides graduate students with the opportunity to pursue an individualized area of advanced study in computer science not covered by the existing curriculum. Students engage in independent work under faculty supervision, focusing on advanced topics or research-oriented study. The course includes investigation of a defined topic and may involve implementation, analysis, or theoretical exploration. Students present their work in an oral presentation addressing the central topic of study. Prerequisite: Instructor Approval.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5396. Advanced Software Engineering Processes and Methods.
This course examines structured software engineering processes and methods, including object-oriented, aspect-oriented, feature-oriented, Cleanroom, PSP, TSP, Scrum, XP, and related approaches. Topics include process selection, software quality considerations, and the relationship between system requirements and development methodologies. The course also addresses tools and techniques for developing complex software systems, including interactive, mobile, and distributed applications. Students review literature on software engineering processes, methods, and tools, and analyze approaches to integrating process models with contemporary software development practices, including automated and agent-assisted development. Prerequisite: CS 5391 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5399A. Thesis A.
This course represents a student's initial thesis enrollment for graduate students engaged in thesis research and development in computer science. Work is conducted under the supervision of a thesis advisor and involves activities necessary for completing the thesis, such as data collection, analysis, and preparation of written dissertation chapters. Students may engage in systems implementation, computational research, software engineering, or other approved investigative approaches appropriate to their area of study.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5399B. Thesis B.
This course provides continued enrollment for graduate students engaged in thesis research and writing in computer science. Work is conducted under the supervision of a thesis advisor and involves activities necessary for completing the thesis, including data collection, analysis, preparation of written dissertation chapters, and oral defense. Students may engage in systems implementation, computational research, software engineering, or other approved investigative approaches appropriate to their area of study.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5599B. Thesis B.
This course provides continued enrollment for graduate students engaged in thesis research and writing in computer science. Work is conducted under the supervision of a thesis advisor and involves activities necessary for completing the thesis, including data collection, analysis, preparation of written dissertation chapters, and oral defense. Students may engage in systems implementation, computational research, software engineering, or other approved investigative approaches appropriate to their area of study.
5 Credit Hours. 5 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5999B. Thesis B.
This course provides continued enrollment for graduate students engaged in thesis research and writing in computer science. Work is conducted under the supervision of a thesis advisor and involves activities necessary for completing the thesis, including data collection, analysis, preparation of written dissertation chapters, and oral defense. Students may engage in systems implementation, computational research, software engineering, or other approved investigative approaches appropriate to their area of study.
9 Credit Hours. 9 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
