Center for Lifelong Engineering Education
Certificate Programs Conferences Custom Courses e-Training M.S. Degree Programs Short Courses
Center for Lifelong Engineering Education The Universtiy of Texas at Austin Cockrell School of Engineering
Apply Now! Apply Now!
Blog Blog
e-Newsletters e-Newsletters
Info. Session Info. Session
Request information Request information
Videos Videos

Crockett Hopper,
MyToons.com

"I give the program a lot of credit for giving me the confidence to step into this role. When you work for large organizations, you don’t get a lot of opportunity to deal with the whole system end-to-end; you only get put into one small part."

more testimonials

Class Schedule and Calendar
Faculty
Course Offerings
Program of Study


Class Schedule and Calendar

The Engineering Master’s Degree Programs’ special schedule enables professionals to maintain full job responsibilities while attending classes one weekend a month (8:00am – 5:00pm Friday and Saturday). Classes are held on The University of Texas at Austin campus in the Thompson Conference Center.

  • Spring 2008 semester (Class weekend Schedule)
  • January 18–19, 2008
  • February 15–16, 2008
  • March 7-8, 2008
  • April 11-12, 2008
  • May 9-10, 2008
  • Summer 2008
  • Advanced Topics I and II (work independently with a supervisor of your choice)
  • Fall 2008 semester (Class weekend Schedule)
  • August 15, 2008 8:00am – 5:00pm Orientation and 7:00pm – 9:00pm Banquet
  • August 22-23, 2008
  • September 19-20, 2008
  • October 17-18, 2008
  • November 14-15, 2008
  • December 11-12, 2008 (TH/F due to commencement exercises on campus)
  • Graduation (cohort 13) December 12
  • Spring 2009 semester (Class weekend schedule)
  • January 23-24, 2009
  • February 20-21, 2009
  • March 13-14, 2009
  • April 10-11, 2009
  • May 15-16, 2009
  • Fall 2009 semester (Class Weekend schedule)
  • August 21-22, 2009
  • September 18-19, 2009
  • October 16-17, 2009
  • November 13-14, 2009
  • December 3-4, 2009

Faculty

The University of Texas at Austin Cockrell School of Engineering’s faculty are recognized worldwide for their expertise. The School ranks fourth in number of faculty who are National Academy of Engineering members. Faculty members have earned more than 60 Young Investigator Awards from the National Science Foundation.

Professorial Faculty 242
National Academy of Engineering members (25 active) 40
National Science Foundation young faculty awardees *66

*In 1984 the National Science Foundation began awarding large research grants to a select few high potential young faculty. These awards have been granted under the following names: Presidential Young Investigator Awards (21), Presidential Faculty Fellows (3), Young Investigator Awards (8), Faculty Early Career Development Awards (32), and the Presidential Early Career Awards for Scientists and Engineers (1).

Software Engineering Program Faculty
K. Suzanne Barber, Ph.D., Director

 

Faculty Member Class
Adnan Aziz, Ph.D. Advanced Topics I and II summer course offering
K. Suzanne Barber, Ph.D. Requirements and Software Architecture
Bill Bard, M.S. Distributed System Security
Don Batory, Ph.D. Advanced Topics I and II summer course offering
Craig Chase, Ph.D. Advanced Topics I and II summer course offering
Brian Evans, Ph.D. Advanced Topics I and II summer course offering
Vijay Garg, Ph.D. Distributed Systems
Joydeep Ghosh, Ph.D. Data Mining
Tom Graser, Ph.D. Requirements and Software Architecture
Christine Julian, Ph.D. Advanced Topics I and II summer course offering
Sarfraz Khursid, Ph.D. Validation and Verification
Herb Krasner, Ph.D. Advanced Topics I and II summer course offering
Bruce McCann, Ph.D. System Engineering Prog. Mgmt. & Eval.
Dan Miranker, Ph.D. Topics in Engr: Data Engineering
Al Mok Topics in Engr: Dependable Real-Time Systems
Scott Nettles, Ph.D. Communication Networks: Tech/Arch/Protoco
Dewayne Perry, Ph.D. Topics in SE: Intro to Software Engineering

Course Offerings

View Textbooks

I. Engineering Methods

EE 382C Introduction to Software Engineering Processes (Syllabi)
This course is an introduction to software engineering with an emphasis on the methods, techniques and technology to build and evolve software systems. The emphasis is on software engineering principles.

EE 379K Requirements Engineering: Acquisition and Modeling (Syllabi)
This course will address theoretical and practical methods for acquiring and modeling requirements for various systems stakeholders. Topics will include methods and techniques for managing the acquisition process among distributed team members and distributed stakeholders, eliciting and verifying requirements as a function of the type of stakeholder, the types of requirements, and system development maturity, managing the requirements artifacts, constructing model-based representations of requirements, synthesizing requirements for various stakeholders, and analyzing and evolving model-based requirements.

EE 382C Software Architectures (Syllabi)
The course will teach students about software architectures, architectural model specification techniques and analysis techniques offered by the research community as well as those architectures, model specifications and analytical methods commonly used in industry.

EE 382C.3 Verification and Validation (Syllabi)
This course covers various traditional and state-of-the-art techniques for software validation, a process that includes reasoning about (the correctness of) programs and testing programs. The course content will include both techniques for dynamic analysis, such as glass-box and black-box testing, equivalence partitioning, test strategy and automation, regression testing and debugging, and techniques for static analysis, such as symbolic execution, and also techniques for software model checking including those that employ artificial intelligence based heuristics. (3 credit hours)

EE 382C Empirical Studies in Software Engineering (Syllabi)
Software Engineering is of necessity an empirical enterprise. This course looks at different kinds of empirical evaluation from related fields such as behavioral sciences to see how one can adapt those techniques to the service of software engineering.

EE 382V: Formal Methods in Distributed Systems
This course gives an introduction to the use of formal methods within the software design process. Specifically, this class will cover the application of models to distributed and concurrent systems. Modern software systems are commonly highly distributed, and this added sophistication further complicates software design. The rigor offered by formal methods aims to make the process more precise.

II. Software System Technology:
EE 382v Data Engineering
(Syllabi)
Course Description – Data Engineering is concerned with the role of data in the design, development, management, and utilization of complex computing/information systems. Issues of interest include database design; meta knowledge of the data and its processing; languages to describe data, define access, and manipulate databases; strategies and mechanisms for data access, security, and integrity control.(3 credit hours)

EE 382V – Mobile Computing (Syllabi)
As mobile computing devices like laptops, PDAs, cellular phones, and even miniature sensors become increasingly pervasive, the demand for applications for this novel environment escalates. This course explores the effects of mobile computing on software design and development. The approach taken uses current research projects in the field of mobile computing to highlight the key aspects that complicate software engineering. We will focus on these concerns in the context of application development. (3 credit hours)

EE 380L Data Mining (Syllabi)
Basic concepts of data mining, in parallel with a practical track involving hands-on experience with industrial strength software and a term project will be covered.

EE 382N Communication Networks: Tech/Arch/Protocol (Syllabi)
This is an introductory course in Computer Networking. It covers all basic components of modern networks, including: link level technologies such as Ethernet, token rings, and wireless Ethernet; switching technologies such as bridges and ATM; internetworking including IP; the transport layer, including TCP and RPC; and congestion control. Time permitting we will also consider security, quality of service, high-performance networks, and/or multimedia. Although IP and TCP are primary examples used in the course, it is NOT a course on TCP/IP!

EE 382N Distributed Systems (Syllabi)
Programming experience, Graduate standing. This will be an introductory graduate level course in distributed systems. It will expose students to theoretical as well as practical aspects of designing such systems. The course assumes that the student has some familiarity with programming. There is no final exam but there will be two exams during the course.

EE 382C.16 Distributed Information System Security (Syllabi)
Intended to acquaint the student with the analysis and engineering techniques employed in securing today's networked information system environment. Emphasis is placed on examination of practical security threats, exposures in distributed systems and the technology that is being applied and developed as countermeasures.

EE 382C.8 Methodologies for Hardware/Software Co-design (Syllabi)
Techniques used to design complex hardware/software systems; emphasis on specification, modeling, estimation, partitioning, verification/validation, and synthesis.

EE 382C Database Systems (Syllabi)
After taking this course students should understand basic database theory: Models/Representations/Views, Relational calculus/SQL, Normalization, and Indexing/transactions/concurrency/recovery; Know fundamentals of one DBMS; Be prepared to learn any DBMS; Be ready to be a programmer or sophisticated user

EE382C: Dependable Real-Time Systems
The spectrum of modeling techniques from synchronous to asynchronous, with emphasis on in-between models such as the timed asynchronous model of Flaviu Cristian's and the related real-time assumptions. Control structures such as timed state-transition systems, constraints in temporal and real-time logics. Analysis techniques such as model checking of timed systems, extended Presburger arithmetic. Basic building blocks and protocols such as clock synchronization, synchronous atomic broadcast, time-bounded membership protocols, basic real-time scheduling theory, recovery methods by state rollback and others.

Practical implementation issues such as special operating system data structures and algorithms and open system design constraints will be considered

III. Leadership Skills:
EE 382C System Engineering Program Management and Evaluation
(Syllabi)
Management, engineering, and evaluation approaches applicable to a spectrum of software development programs is taught. General guidelines, metrics, program artifacts, and processes will be discussed in conjunction with case studies.

Textbooks

Managing Software Requirements: A Unified Approach
Computer Networks: A Systems Approach
Data Mining: Practical Machine Learning Tools & Techniques, 2nd edition 2005
Introduction to Data Mining
SAS v8.2 Software for Windows
Model Checking
Software Abstractions: Logic, Language, and Analysis
Readings in Hardware/Software Co-Design

Program of Study

Students in the MS SE program are subject to all masters degree regulations as outlined in the Graduate Catalog. The MS SE program is comprised of a total of 33 credit hours resulting from eight semester-long courses (24 credits), two topic centric conference courses held during the summer semester (6 credits), and a Master’s Report (3 credits). Students are required to complete a Master’s Report in the final semester enrolled.

Program of Study
(Subject to alterations)

Year One:

Spring Semester:
2 courses*

Summer Semester:
EE397K - Topic-centric conference course

Fall Semester:
2 courses*

Year Two:

Spring Semester:
2 courses*

Summer Semester:
EE397K - Topic-centric conference course
M.S. Report (working on it but not registered until fall)

Fall Semester:
2 courses*
And Master’s Report Course (EE398R)

* See course descriptions