Master of Science (M.S.) Major in Software Engineering (Non-thesis Option)

Application Requirements

The items listed below are required for admission consideration for applicable semesters of entry during the 2017-2018 academic year. Submission instructions, additional details, and changes to admission requirements for semesters other than the 2017-2018 academic year can be found on the program’s web page. International students should review the International Admission Documents section of the catalog for additional requirements.

  • completed online ApplyTexas application
  • $40 nonrefundable application fee
  • $50 nonrefundable international evaluation fee (if applicable)
  • baccalaureate degree from a regionally accredited university
  • official transcripts required from each institution where course credit was granted
  • minimum 2.75 GPA in your last 60 hours of undergraduate course work (plus any completed graduate courses)
  • background course work
  • ​resume/CV
  • statement of purpose
  • three letters of recommendation
  • official GRE scores required with a preferred minimum of 286 with no less than 140 in the verbal section and 148 in the quantitative section
    • The GRE may be waived if you hold a master's or doctoral degree from a regionally accredited U.S. institution. If you hold a master's or doctoral degree (or the equivalent thereof) from an accredited international institution, the GRE may be waived on an individual basis.

TOEFL or IELTS Scores

Non-native English speakers who do not qualify for an English proficiency waiver:

  • official TOEFL iBT scores required with a 78 overall
  • official IELTS (academic) scores required with a 6.5 overall and
    • minimum individual module scores of 6.0

If you do not meet the scores above, you may qualify for English-based conditional admission if you meet the minimum scores below:

  • official TOEFL iBT scores required with a 59 overall
  • official IELTS (academic) scores required with a 5.5 overall and
    • minimum individual module scores of 5.5

Degree Requirements

The Master of Science (M.S.) degree with a major 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 and software engineering majors are:

Computer Science 1
CS 1428Foundations of Computer Science I4
CS 2308Foundations of Computer Science II3
CS 2318Assembly Language3
CS 3339Computer Architecture3
CS 3358Data Structures and Algorithms3
CS 4318Compiler Construction3
or CS 4328 Operating Systems
Advanced computer science electives (CS 3000-4000 level)6
Mathematics 2
MATH 5358Applied Discrete Mathematics (or equivalent)3
Calculus8
Total Hours36
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

Required Courses
CS 5389Graphical User Interfaces3
CS 5391Survey of Software Engineering3
CS 5392Formal Methods in Software Engineering3
CS 5393Software Quality3
CS 5394Advanced Software Engineering Project3
CS 5396Advanced Software Engineering Processes and Methods3
Choose 6 hours from the following:6
Advanced Operating Systems
Network and Communication Systems
Algorithm Design and Analysis
Data Base Theory and Design
Advanced Artificial Intelligence
Electives
Choose 12 hours of advisor-approved electives12
Total Hours36

Master's level courses in Computer Science: CS

Courses Offered

Computer Science (CS)

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 and requires approval of the department chair. This course does not earn graduate degree credit.

1 Credit Hour. 0 Lecture Contact Hours. 1 Lab Contact Hour.
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.

Intensive review of programming through data structures. Includes syntax, semantics, problem solving, algorithm development, and in-class exercises. May be repeated once. This course does not earn graduate degree credit. Prerequisite: CS 3358 with a grade of C or higher, or consent of instructor.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Exclude from Graduate GPA|Leveling
Grade Mode: Leveling/Assistantships

CS 5306. Advanced Operating Systems.

A study of modern operating systems including network, distributed, or real-time systems. Prerequisites: CS 3358 and CS 4328.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5310. Network and Communication Systems.

A study of network and communication systems. Verification and/or implementation of protocols will be required. Prerequisite: CS 3358.

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 student received credit for CS 4315. Prerequisite: CS 3358 with a grade of C or higher.

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. Prerequisite: CS 3358 with a grade of C or higher.

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.

Professional level presentation of techniques and research findings related to human-computer interactions. Prerequisite: CS 3358.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5329. Algorithm Design and Analysis.

Introduction to algorithm design and analysis, computational complexity, NP – completeness theory. Prerequisites: CS 3358, MATH 2472, and MATH 3398 or MATH 5358 with a grade of “C” or higher.

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. Prerequisite: CS 3358 with a grade of “C” or higher.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5332. Data Base Theory and Design.

Computer system organization for the management of data; data models, data model theory, optimization and normalization; integrity constraints; query languages; intelligent database systems. Prerequisites: CS 3358 and CS 4328.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5334. Advanced Internet Information Processing.

Integration of popular scripting languages (Perl, JavaScript, PHP, and other CGI capable languages) and database programming languages (embedded database programming languages, JavaServlets, and PHP) to provide advanced information processing for Internet applications that demand both database support and sophisticated, application specific information processing. Prerequisite: CS 4332 or CS 5332 with a grade of “C” or higher.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5335. Research in Object-Oriented System Development.

The course covers the object-oriented methodologies for system analysis, design, implementation, testing, and other aspects of system development. Emphasis will be on using OO methodologies to manage the complexity of complicated software. Other topics like modeling, OODB, and OO languages will also be covered. Prerequisites: CS 3358, and either CS 4332 or CS 5332 with grades of C or higher.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5338. Formal Languages.

Advanced topics in automata theory, grammars, Turing machines, decidability, and algorithmic complexity. Prerequisites: CS 3358 and MATH 3398.

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

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5343. Wireless Communications and Networks.

Study of the fundamental aspects of wireless communications and ireless/mobile networks, introduction of wireless/mobile networking APIs. Prerequisites: CS 3358 with a grade of B or higher and CS 5310 with a grade of C or higher.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5346. Advanced Artificial Intelligence.

Knowledge representation; knowledge engineering; parallel and distributed AI; heuristic searches; machine learning and intelligent databases; implementation of systems in high-level AI languages. Prerequisite: CS 3358.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5348. Computer Organization and Design.

This course covers the dynamic interaction of the computer system building blocks and their management. Course topics include the design of the instruction set, high speed arithmetic, memory hierarchy, and control units. Computer system performance evaluation methodology and techniques are also covered. Prerequisites: CS 3339 and CS 3358.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5351. Parallel Processing.

Introduction to the design and analysis of parallel algorithms, parallel architectures, and computers. Prerequisites: CS 3358 and CS 4328.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5352. Distributed Computing.

Study of 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. Prerequisites: CS 3358 and CS 4328.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5369G. Web Service Engineering.

Advanced concepts and techniques for enabling Web application integration and interaction using Semantic Web and Web services. Concepts and techniques include service discovery ontology (RDF, DAML-S), XML-based interactions standards (ebXML, RossettaNet) and Web Services (WSDL, SOAP, UDDI, BPEL). Prerequisite: CS 3358 with a grade of C or higher.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Topics
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. Prerequisite: CS 3358.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): 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. Prerequisite: CS 3358 grade of C or higher.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Topics
Grade Mode: Standard Letter

CS 5369M. Software Evolution and Maintenance.

Software evolution and maintenance is one of the most important and complex activities in software engineering. Programmers rarely build software from scratch but often modify existing software to fix defects or add new features. This course studies the fundamentals of cutting-edge techniques and tools for software evolution and maintenance. Prerequisite: CS 3358 with a grade of "C" or higher.

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. Prerequisite: CS 3358 with a grade of C or higher or consent of instructor.

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. Prerequisite: CS 3358 with a grade of C or higher.

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 5374. Neural Networks.

A study of neural computing, including basic concepts, algorithms, and applications; back propagation and counter propagation networks; Hopfield networks; associative memories; massively parallel neural architectures; adaptive resonance theory; optical neural networks; connectionist approaches. Prerequisite: CS 3358.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5375. Multimedia Computing.

A study of the digital representation and processing of major multimedia data types: image, audio, and video. Compression techniques for the three data types, standards, and storage media. Prerequisite: CS 3358.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5376. Enterprise Application Integration.

Introduction to the integration of all services available on the Web. It emphasizes component-based integration frameworks based on J2EE specification (EJB, Servlets, JMS), inter-organization workflow integration frameworks, and XML framework. Students must have knowledge of object-oriented design, object-oriented programming language, databases, and networking. Prerequisite: CS 3358.

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. Prerequisite: CS 3358 with a grade of C or higher.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5388. Advanced Computer Graphics.

A study of the algorithms and data structures used in representing and processing visual data. Prerequisite: CS 3358.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5389. Graphical User Interfaces.

Covers both abstract and practical treatments of using graphics to implement interactive computer/human interfaces. Includes a survey of the major GUI standards and tools. Prerequisite: CS 3358.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Grade Mode: Standard Letter

CS 5391. Survey of Software Engineering.

A study of the software life cycle with emphasis on system analysis and design. Methodologies based on data flows and on objects will be surveyed. A component on professional ethics is included. Prerequisite: CS 3358.

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. Prerequisites: CS 3358 and CS 5391.

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. Prerequisite: CS 5391.

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. Prerequisite: CS 5391.

3 Credit Hours. 3 Lecture Contact Hours. 0 Lab Contact Hours.
Course Attribute(s): Lab Required
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.

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. Prerequisite: CS 5391.

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