Master of Science (M.S.) Major in Computer Science (Software Engineering Concentration Non-thesis Option)
Program Overview
Software engineering is the application of scientific knowledge to the development and maintenance of software systems. The Software Engineering concentration covers the methods of software synthesis and analysis and exposes students to rigorous software processes, automated process enactment, program analysis algorithms, in particular model checking, verification by proof, symbolic evaluation, runtime verification and test generation techniques.
Application Requirements
The items listed below are required for admission consideration for applicable semesters of entry during the current academic year. Submission instructions, additional details, and changes to admission requirements for semesters other than the current academic year can be found on The Graduate College's website. International students should review the International Admission Documents page for additional requirements.
- completed online application
- $55 nonrefundable application fee
or
- $90 nonrefundable application fee for applications with international credentials
- 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.)
- official transcripts from each institution where course credit was granted
- 2.75 overall GPA or a 2.75 GPA in the last 60 hours of undergraduate course work (plus any completed graduate courses)
- background course work*
- official GRE (general test only) with competitive scores in the verbal reasoning and quantitative reasoning sections
-
The GRE may be waived if the student holds a master's or doctoral degree from a regionally accredited U.S. institution. If the student holds a master's or doctoral degree (or the equivalent thereof) from an accredited international institution, the GRE may be waived on an individual basis.
-
- resume/CV
- statement of purpose
- three letters of recommendation
Approved English Proficiency Exam Scores
Applicants are required to submit an approved English proficiency exam score that meets the minimum program 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.
- official TOEFL iBT scores required with a 78 overall
- 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
*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.) degree with a major in Computer Science concentration in Software Engineering requires 36 semester credit hours.
Background Requirements
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 1428 | Foundations of Computer Science I | 4 |
CS 2308 | Foundations of Computer Science II | 3 |
CS 2318 | Assembly Language | 3 |
CS 3339 | Computer Architecture | 3 |
CS 3358 | Data Structures and Algorithms | 3 |
CS 4318 | Compiler Construction | 3 |
or CS 4328 | Operating Systems | |
Advanced computer science electives (3000-4000 level) | 6 | |
Mathematics 2 | ||
MATH 5358 | Applied Discrete Mathematics | 3 |
Calculus | 8 |
- 1
These courses must be completed with no grade less than "C" and no more than two "Cs."
- 2
These courses must be completed with no grade less than “C.”
Course Requirements
Code | Title | Hours |
---|---|---|
Required Courses | ||
CS 5306 | Advanced Operating Systems | 3 |
or CS 5310 | Network and Communication Systems | |
or CS 5332 | Data Base 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 | |
Concentration | ||
CS 5392 | Formal Methods in Software Engineering | 3 |
CS 5393 | Software Quality | 3 |
CS 5394 | Advanced Software Engineering Project | 3 |
or CS 5396 | Advanced Software Engineering Processes and Methods | |
Electives | ||
Choose 15 hours from the following: | 15 | |
Advanced Operating Systems | ||
Network and Communication Systems | ||
Data Mining | ||
Principles of Programming Languages | ||
Advanced Studies in Human Factors of Computer Science | ||
Crafting Compilers | ||
Data Base Theory and Design | ||
Advanced Internet Information Processing | ||
Formal Languages | ||
Advanced Network Programming | ||
Wireless Communications and Networks | ||
Advanced Artificial Intelligence | ||
Parallel Processing | ||
Distributed Computing | ||
Advanced Human Computer Interaction | ||
Machine Learning and Applications | ||
Recommender Systems | ||
Green Computing | ||
Multimedia Computing | ||
Advanced Computer Security | ||
Advanced Computer Graphics | ||
Graphical User Interfaces | ||
Survey of Software Engineering | ||
Advanced Software Engineering Project | ||
Independent Study in Advanced Computer Science | ||
Advanced Software Engineering Processes and Methods | ||
Total Hours | 36 |
Comprehensive Examination Requirement
The comprehensive exams of computer science master programs consist of multiple components. Specifically, all Computer Science 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 non-thesis students, the written core course 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 higher of 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, CS5 301, 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 higher. 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.
Written Core Course Exam (Non-Thesis Students)
All non-thesis students are required to take a departmental written core course exam after having completed the core courses in computer science (including all concentrations) or software engineering and accumulating at least 18 graduate hours of credit.
- The exam covers all concepts from core course CS 5329.
- The questions are graded on computer science or software engineering content.
- Students who perform unacceptably on the exam may take the exam a second time. A third test administration is at the discretion of the committee that administers the exams, based on intensive and documented justification provided by the student.
- Exams are given during the fall and spring semesters.
- Students are required to register for the exam a week in advance of the announced exam date.
Students who do not successfully complete the requirements for the degree within the timelines specified will be dismissed from the program.
CS 5100. Advanced Computer Science Internship.
This course provides advanced training supervised by computer scientists in internship programs approved by the department. Course cannot be counted toward any graduate degree, is open only to majors in the Department of Computer Science. May be repeated once. This course does not earn graduate degree credit. 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 represents a student’s continuing thesis enrollments. The student continues to enroll in this course 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 represents a student’s continuing thesis enrollments. The student continues to enroll in this course 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 is designed to develop and enhance the professional and technical skills of graduate teaching and instructional assistants. Topics covered may include, but are not limited to, teaching skills, technical skills, ethical and legal issues, and laboratory management. 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 provides an intensive review of programming through data structures. Topics include syntax, semantics, problem-solving, and algorithm development. Credit for this course cannot be applied to a graduate degree.
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 serves as a foundation course for computer science master's degree students who need reinforcement of fundamental concepts covered by CS 3358. This course does not earn graduate degree credit.
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 foundation course for CS master's degree students who need CS 3339 concept reinforcement covers fundamental hardware components. Topics include ALUs, single and multiple cycle datapath and control, RISC vs. CISC, pipelining, caches, I/O, virtual memory, and related performance issues. It may be repeated once and is non-graduate degree credit. Prerequisite: Instructor Approval.
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. Topics include the principles of operating systems, central processing unit scheduling algorithms, memory management, cooperating sequential processes, and device management. Credit for this course cannot be applied to a graduate degree.
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 provides a study of modern operating systems, including network, distributed, and real-time systems.
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. Students will be required to perform verification and implementation of protocols.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5316. Data Mining.
This course covers fundamental concepts and techniques, plus recent developments in data mining and information retrieval. It provides relevant research training and practice opportunities. May not be taken for credit if the student has received credit for CS 4315.
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.
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 provides an introduction to algorithm design and analysis, computational complexity, and NP-completeness theory.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5331. Crafting Compilers.
Overview of the internal structure of modern compilers. Research on compilation techniques. Topics include lexical scanning, parsing techniques, static type checking, code generation, dataflow analysis, storage management, and execution environments.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5332. Data Base Theory and Design.
This course covers computer system organization for the management of data. Topics include data models, data model theory, optimization and normalization, integrity constraints, query languages, and intelligent database systems.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5334. Advanced Internet Information Processing.
This course integrates popular scripting and database programming languages to provide advanced information processing for Internet applications that demand database support and sophisticated, application-specific information processing. Prerequisite: CS 5332 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5338. Formal Languages.
This course covers advanced topics in automata theory, grammars, Turing machines, decidability, and algorithmic complexity. A strong background in both data structures and discrete mathematics is required.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5341. Advanced Network Programming.
Study of advanced concepts and programming skills in computer networks such as advanced TCP/IP, API, multicasting and broadcasting, reliable communications, advanced I/O functions and options. Prerequisite: CS 5310 with a 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/mobile networks, introduction of wireless/mobile networking Application Programming Interfaces (APIs). Prerequisite: CS 5310 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5346. Advanced Artificial Intelligence.
This course covers knowledge representation, knowledge engineering, parallel and distributed artificial intelligence (AI), heuristic searches, machine learning and intelligent databases, and implementation of systems in high-level AI languages.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5351. Parallel Processing.
This course provides an introduction to the design and analysis of parallel algorithms, parallel architectures, and computers.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5352. Distributed Computing.
This course provides studies in advanced topics in distributed systems: concurrency control and failure recovery, management of replicated data, distributed consensus and fault tolerance, remote procedure calls, naming, and security.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5369J. Advanced Human Computer Interaction.
This course will cover state of the art human computer interaction topics such as perceptual compression, eye-gaze, and brain computer interfaces with emphasis on the human visual system, eye-tracking, and electroencephalography.
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 covers various concepts of recommender systems, including personalization algorithms, evaluation tools, and user experiences. Discussion of how recommender systems are deployed in business applications, design of new recommender experiences, and how to conduct and evaluate research in recommender systems. Cannot take for credit if already took CS 4379Q.
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.
Reducing mobile device, cloud computing platform, and supercomputer energy consumption is a paramount, daunting problem. This course covers state-of-the-art green computing research, including energy-efficient hardware and software design, power-aware resource management and storage solutions, green data centers and mobile computing. Cannot be taken for credit if received CS 4379Y credit.
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 5369Z. Distributed Ledger Systems and Blockchains: Theory and Applications.
This course covers fundamental concepts underlying the design, implementation, research, and applications of Distributed Ledger Technology (DLT) systems (e.g., blockchains). It introduces implementations, applications, and performance evaluation of DLT systems. Additionally, through homework projects, the students will be introduced to current research on DLT systems and perform independent study and small-scale research on selected topics. Course topics include cryptography encryption, security, anonymity, cryptographic data structures, DLT performance evaluation, DLT applications, and current DLT research.
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 provides a study of the digital representation and processing of the three principal multimedia data types: image, audio, and video. Standards, storage media, and compression techniques for the three data types are covered.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5378. Advanced Computer Security.
This course covers various aspects of producing secure computer information systems that provide guaranteed controlled sharing. Emphasis is on software models and design, including discovery and prevention of computing systems security vulnerabilities. Current systems and methods are examined and critiqued.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5388. Advanced Computer Graphics.
This course covers the algorithms and data structures used in representing and processing visual data.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5389. Graphical User Interfaces.
This course covers both abstract and practical treatments of using graphics to implement interactive computer/human interfaces. It includes a survey of the major GUI standards and tools.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5391. Survey of Software Engineering.
The course covers the software life cycle, emphasizing system analysis and design, including a survey of methodologies based on data flows and objects. The course includes a professional ethics component.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5392. Formal Methods in Software Engineering.
The use of design and specification languages in producing software systems. Emphasis is placed on proving correctness of designs and implementations.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5393. Software Quality.
The latter half of the software life cycle is discussed. Topics include testing, performance evaluation, and software metrics. Appropriate software tools are studied and used.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5394. Advanced Software Engineering Project.
Students produce a software project of significant size in a team environment. All aspects of the software engineering course sequence are integrated and put into practice.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5395. Independent Study in Advanced Computer Science.
Open to graduate students on an independent basis by arrangement with the faculty member concerned. Course is not repeatable for credit. Prerequisite: CS 3358 with a grade of "C" or better.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5396. Advanced Software Engineering Processes and Methods.
The essentials of software engineering processes, methods, and tools for the evolutionary design of complex interactive software are discussed. Overviews of other topics like quality concepts, SEI CMM, information technology, and network technology are covered. Student completes a literature survey of the latest software engineering analysis and design processes, methods, and tools.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Standard Letter
CS 5399A. Thesis.
This course represents a student’s initial thesis enrollment. No thesis credit is awarded until the student has completed the thesis in CS 5399B.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5399B. Thesis.
This course represents a student’s continuing thesis enrollment. The student continues to enroll in this course until the thesis is submitted for binding.
3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5599B. Thesis.
This course represents a student’s continuing thesis enrollments. The student continues to enroll in this course until the thesis is submitted for binding.
5 Credit Hours. 5 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit
CS 5999B. Thesis.
This course represents a student’s continuing thesis enrollments. The student continues to enroll in this course until the thesis is submitted for binding.
9 Credit Hours. 9 Lecture Contact Hours. 0 Lab Contact Hours.Grade Mode: Credit/No Credit