SCHOOL OF ENGINEERING
COMPUTER SCIENCE & ENGINEERING
Professor Hesham El-Rewini, Chair
Professors: Margaret H. Dunham, Hesham El-Rewini, Sumi Helal,
David W. Matula, Sukumaran Nair, Stephen A. Szygenda, Mitchell A. Thornton. Associate
Professors: Richard V. Helgason, James G. Dunham, Jeff Tian. Assistant
Professors: LiGuo Huang, Fatih Koçan, Yuhang
Wang. Senior Lecturer: Frank Coyle. Lecturers: Judy
Etchison, Donald E. Evans, Mark Fontenot. Adjunct Faculty: Jeffrey
D. Alcantara, Feridoon Amini, William A. Bralick Jr., Ann E. Broihier, Hakki
Candan Cankaya, Dennis Frailey, Mohamed Khalil, Kamran Z. Khan, R. Gary Lewin,
Babu V. Mani, F. Marco Marchetti, Matthew R. McBride, Lee D. McFearin, Freeman
L. Moore, Robert S. Oshana, John J. Pfister, Mohamed Omar Rayes, Stephen L.
Stepoway, Yanjun Zhang.
The department offers graduate programs in computer engineering, computer science, security engineering and software engineering. Faculty research interests include CAD methods and algorithms for digital systems design, computer arithmetic, computer architecture, configurable hardware, design automation, VLSI design, bioinformatics, database systems, data mining, design and analysis of algorithms, theory of computation, software engineering, parallel processing, mobile computing, computer networks, fault tolerance, computer security and information assurance.
In addition to the research labs, students in the department of computer science and engineering have access to a wide range of facilities and equipment. The department’s computing environment has evolved into an Ethernet-based network of personal computers and servers. General-use Unix servers are available that run OSF1, SunOS and Linux. A wireless network is also available throughout the facilities of CSE. Access to the network is also available via open-area labs containing X terminals and PCs.
Graduate Degrees
Master of Science in Computer Engineering
Master of Science (Major in Computer Science)
Master of Science (Major in Software Engineering)
Master of Science (Major in Security Engineering)
Doctor of Engineering (Major in Software Engineering)
Ph.D. (Major in Computer Engineering)
Ph.D. (Major in Computer Science)
Graduate Certificates
Series of Certificates in Software Engineering
The Computer Science and Engineering Department currently offers seven graduate programs:
Master of Science in Computer Engineering
Admission Requirements
In addition to meeting the School of Engineering admission requirements for a Master of Science degree, applicants are required to satisfy these additional requirements:
Baccalaureate degree in computer engineering, computer science or closely related discipline
Applicants with undergraduate degrees in other disciplines may also be admitted to the program and may be required to take articulation coursework.
A minimum Grade Point Average (G.P.A.) of 3.0 on a 4.0 point basis in the student’s junior and senior years
A reasonable level of mathematical maturity
Degree Requirements
In addition to meeting the School of Engineering degree requirements for a Master of Science degree, candidates are required to satisfy these additional requirements:
The program requires either 24 hours of coursework and a Master’s thesis or 30 hours of coursework. All students take 12 hours of core courses, six hours of concentration and 12 hours of electives. Thesis students take six hours of thesis, instead of concentration. All students are allowed to take at most three hours of independent study, which will be counted as one elective course. Students on campus are required to register for zero hours of seminar course, at least one term, and secure a pass grade.
The CSE Department requires that the courses taken constitute a coherent program leading to mastery in computer engineering. These requirements are discussed in the subsequent subsections.
Articulation
All students entering the program are expected to possess knowledge equivalent to the following courses:
- CSE 2240 Assembly Language Programming and Machine Organization
- CSE 2353 Discrete Computational Structures
- CSE 3358 Data Structures
- CSE 3381 Digital Logic Design
- CSE 4381 Digital Computer Design
Students with deficiencies may be granted conditional admission to the program and be required to take some of courses as articulation. Students are required to complete these articulation courses, maintaining a minimum 3.00 G.P.A. A student who fails to achieve this record is automatically dropped from the graduate program, may not enroll in graduate courses and may be denied the right to petition for readmission.
Students who maintain the minimum 3.00 G.P.A. in these courses may advance into the balance of their plan of study. As nearly as possible, these articulation courses should be completed before the courses in the balance of the plan of study are attempted. An articulation course must be completed before undertaking any graduate coursework, which requires it as prerequisite.
Residency and Level Requirements
A minimum of 30 graduate credits must be earned towards an M.S. degree, of which at least 24 must be earned in residency at SMU. Up to six credits may be transferred with departmental approval.
Of the 30 credit hours needed for graduation, at least nine credit hours must be at the 8000 level, with the remainder at the 7000 level or above.
Distribution of Courses
Courses are considered to be core, concentration or elective. Core courses cover material fundamental to graduate level computer science and are required of all students. Each student is expected to specialize in some area of computer engineering. The concentration area is a mechanism by which a student can tailor a coherent program of study to his or her interests. Electives are courses taken to round out the 30-credit hour requirement. Transferred credits may be used to satisfy any of these requirements. The specific requirements are discussed in detail in the following subsections.
Course Requirements
A student who elects to take the non-thesis option must take 12 hours of core courses, six hours of concentration and 12 hours of electives. Those who elect to take thesis option will substitute the concentration with thesis hours
Core Courses (12 hours)
The core consists of the following required courses:
- CSE 7343 Operating Systems and Systems Software
- CSE 7344 Computer Networks and Distributed Systems
- CSE 7381 Computer Architecture
- CSE 7387 Digital Logic Design II
- CSE 8098 Computer Science Seminar
These courses may be waived for extremely well-prepared students at the discretion of CSE graduate program committee. In that case, an equivalent number of elective credits would be required. CSE 7350 is strongly recommended for students interested in design. However, it is not a requirement for the degree.
Concentration (6 hours in one of the following programs)
Architecture
Two of the following:
CSE 7385 Microprocessor Architecture and Interfacing
CSE 8377 Fault-Tolerant Computing
CSE 8380 Parallel and Distributed Processing
CSE 8383 Advanced Computer Architecture
Design Automation
Two of the following:
CSE 7380 VLSI Algorithms
CSE 7387 Digital Systems Design
CSE 8377 Fault-Tolerant Computing
CSE 8387 CAD Methods in VLSI
Networking
Two of the following:
CSE 7348 Internetworking Protocols and Programming
CSE 7349 Data and Network Security
CSE 8344 Computer Networks
CSE 8349 Advanced Network and System Security
Electives (12 hours)
CSE 7314 Software Testing and Quality Assurance
CSE 7320 Artificial Intelligence
CSE 7330 File Organization and Database Management
CSE 7331 An Introduction to Data Mining and Related Topics
CSE 7341 Compiler Construction
CSE 7339 Computer System Security
CSE 7342 Concepts of Language Theory and Their Applications
CSE 7344 Computer Networks and Distributed Systems II
CSE 7345 Advanced Java Programming
CSE 7348 Internetworking Protocols and Programming
CSE 7349 Data and Network Security
CSE 7350 Algorithm Engineering
CSE 7359 Software Security
CSE 7380 VLSI Algorithms
CSE 7382 Computer Graphics
CSE 7385 Microprocessor Architecture and Interfacing
CSE 7387 Digital Systems Design
CSE 8312 Software Generation and Maintenance
CSE 8313 Object-Oriented Analysis and Design
CSE 8314 Software Metrics and Quality Engineering
CSE 8316 User Interface Design
CSE 8317 Software Reliability and Safety
CSE 8320 Knowledge-Intensive Problem Solving
CSE 8321 Machine Learning and Neural Networks
CSE 8322 Natural Language Processing and Internet Applications
CSE 8325 Logic Programming
CSE 8330 Advanced Database Management Systems
CSE 8331 Data Mining
CSE 8337 Information Retrieval
CSE 8340 Advanced Topics in Software Engineering
CSE 8343 Advanced Operating Systems
CSE 8344 Computer Networks
CSE 8349 Advanced Network and System Security
CSE 8350 Algorithms II
CSE 8351 Computer Arithmetic
CSE 8353 Combinatorial Algorithms
CSE 8352 (EE 8372) Cryptography and Data Security
CSE 8355 Graph Theory: Algorithms and Applications
CSE 8358 Information Structures
CSE 8377 Fault-Tolerant Computation
CSE 8380 Parallel and Distributed Processing
CSE 8383 Advanced Computer Architecture
CSE 8386 Testing of VLSI Circuits
CSE 8387 CAD Methods in VLSI
CSE 8388 Embedded Systems Design
CSE 8389 Foundations of Formal Verification and Validation
EE 7356 VLSI Design and Lab
EE 8378 Performance Modeling and Evaluation of Computer Networks
EETS 8306 Wireless, Cellular and Personal Telecommunications
EETS 8307 Telecommunications Network Management
EETS 8322 Data Compression for Multimedia Application
Under some circumstances, an elective not on the approved list may be taken. The student must obtain the consent of his or her adviser and the CSE graduate program committee.
Thesis Option
A student may elect to write a Master’s thesis, which counts as the six hours of concentration. The student must register for at least six hours under CSE 7(1-6)96. If the thesis option is chosen, all other requirements are the same. The six hours of thesis satisfy six of the nine required hours for advanced courses.
A Master’s thesis represents one or more of the following: synthesis of divergent ideas or a scholarly critique of current literature, a creative research activity or a significant design project, the results of which must be documented in a well-written thesis. The thesis should be of publishable quality, and it is recommended that it be submitted to an appropriate conference or journal before the thesis defense.
A thesis must be supervised by a faculty adviser selected by the student. Any full-time faculty member supporting the student’s concentration area may serve as the thesis adviser. It is the student’s responsibility either to find an adviser willing to provide a thesis topic or willing to supervise a topic of the student’s choosing.
Once the student has found an adviser and a topic has been selected, the student and adviser should jointly form a thesis supervisory committee. This committee must consist of at least three members, two of whom must represent the concentration area. The adviser chairs this committee. The makeup of this committee must be approved by the chair of CSE and the director of the graduate division.
The student must provide the members of the committee with a written thesis proposal. Typically, this will be done before the faculty agrees to serve on the committee.
A thesis is judged by the supervisory committee based upon technical merit, originality and presentation. The thesis must be presented orally to the committee at a thesis defense. A copy of the thesis must be made available to each member of the committee at least two weeks before the planned defense. The defense must be scheduled with the CSE department office and posted in appropriate bulletin boards. The defense is open to the public.
Master of Science (Major in Computer Science)
Admission Requirements
In addition to meeting the School of Engineering admission requirements for a Master of Science degree, applicants are required to satisfy these additional requirements:
- Baccalaureate degree in computer science, computer engineering or a closely related discipline
- Applicants with undergraduate degrees in other disciplines may also be admitted to the program and may be required to take articulation coursework
- A minimum G.P.A of 3.0 on a 4.0 point basis in the student’s junior and senior years
- A reasonable level of mathematical maturity
Degree Requirements
In addition to meeting the School of Engineering degree requirements for a Master of Science degree, candidates are required to satisfy these additional requirements:
The program requires either 24 hours of coursework and a Master’s thesis or 30 hours of coursework. All students take 12 hours of core courses, six hours of concentration and 12 hours of electives.
Thesis students take six hours of thesis, instead of concentration. All students are allowed to take, at most, three hours of independent study, which will be counted as one elective course. Students on campus are required to register for zero hours of seminar course, at least one term, and secure a pass grade.
The CSE Department requires that the courses taken constitute a coherent program leading to mastery of computer science. These requirements are discussed in the subsequent subsections.
Articulation
All students entering the program are expected to possess knowledge equivalent to the following CSE courses:
- CSE 2353 Discrete Computational Structures
- CSE 3342 Programming Languages
- CSE 3358 Data Structures
- CSE 3381 Digital Logic Design
- CSE 4381 Digital Computer Design
Students with deficiencies may be granted conditional admission to the program and be required to take courses as articulation. Students are required to complete these articulation courses, maintaining a 3.00 average. The student who fails to achieve this record is automatically dropped from the graduate program, may not enroll in graduate courses and may be denied the right to petition for readmission.
Students who maintain the 3.00 Grade Point Average (G.P.A.) in these courses may advance into the balance of their plan of study. As nearly as possible, these articulation courses should be completed before the courses in the balance of the plan of study are attempted. An articulation course must be completed before undertaking any graduate coursework, which requires it as prerequisite.
Residency and Level Requirements
1. A minimum of 30 graduate credits must be earned towards an M.S. degree, of which at least 24 must be earned in residency at SMU. Up to six credits may be transferred with departmental approval.
2. Of the 30 credit hours needed for graduation, at least nine credit hours must be at the 8000 level, with the remainder at the 7000 level or above.
Distribution of Courses
Courses are considered to be core, concentration or elective. Core courses cover material considered fundamental to graduate level computer science and are required of all students. Each student is expected to specialize in some area of computer science. The concentration area is a mechanism by which a student can tailor a coherent program of study to his or her interests. Electives are courses taken to round out the 30 credit hour requirement. Transferred credits may be used to satisfy any of these requirements. The specific requirements are discussed in detail in the following subsections.
Course Requirements
A student who elects to take the non-thesis option must take 12 hours of core courses, six hours of concentration and 12 hours of electives. Those who elect to take thesis option will substitute the concentration with thesis hours.
Core Courses (12 hours)
The core consists of the following required courses:
CSE 7330 File Organization and Database Management
CSE 7343 Operating Systems and System Software
CSE 7350 Algorithm Engineering
CSE 7381 Computer Architecture
CSE 8098 Computer Science Seminar
These courses may be waived for extremely well-prepared students at the discretion of CSE graduate program committee. In that case, an equivalent number of elective credits would be required.
Concentration (6 hours in one of the following programs):
Algorithms
Two of the following:
CSE 7380 VLSI Algorithms
CSE 8350 Algorithms II
CSE 8351 Computer Arithmetic
CSE 8355 Graph Theory: Algorithms and Applications
Architecture
Two of the following:
CSE 7380 VLSI Algorithms
CSE 8377 Fault-Tolerant Computation
CSE 8380 Parallel and Distributed Processing
CSE 8383 Advanced Computer Architecture
CSE 8387 CAD Methods in VLSI
Software
Two of the following:
CSE 7331 An Introduction to Data Mining and Related Topics
CSE 8313 Object-Oriented Analysis and Design Methodology
CSE 8330 Advanced Database Management Systems
CSE 8331 Data Mining
CSE 8337 Information Retrieval
CSE 8343 Advanced Operating Systems
Electives (12 hours)
CSE 7314 Software Testing and Quality Assurance
CSE 7320 Artificial Intelligence
CSE 7330 File Organization and Database Management
CSE 7331 An Introduction to Data Mining and Related Topics
CSE 7341 Compiler Construction
CSE 7339 Computer System Security
CSE 7342 Concepts of Language Theory and Their Applications
CSE 7344 Computer Networks and Distributed Systems II
CSE 7345 Advanced Java Programming
CSE 7348 Internetworking Protocols and Programming
CSE 7349 Data and Network Security
CSE 7359 Software Security
CSE 7380 VLSI Algorithms
CSE 7382 Computer Graphics
CSE 7385 Microprocessor Architecture and Interfacing
CSE 7387 Digital Systems Design
CSE 8312 Software Generation and Maintenance
CSE 8313 Object-Oriented Analysis and Design
CSE 8314 Software Metrics and Quality Engineering
CSE 8316 User Interface Design
CSE 8317 Software Reliability and Safety
CSE 8320 Knowledge-Intensive Problem Solving
CSE 8321 Machine Learning and Neural Networks
CSE 8322 Natural Language Processing and Internet Applications
CSE 8325 Logic Programming
CSE 8330 Advanced Database Management Systems
CSE 8331 Data Mining
CSE 8337 Information Retrieval
CSE 8340 Advanced Topics in Software Engineering
CSE 8343 Advanced Operating Systems
CSE 8344 Computer Networks
CSE 8349 Advanced Network and System Security
CSE 8350 Algorithms II
CSE 8351 Computer Arithmetic
CSE 8355 Graph Theory: Algorithms and Applications
CSE 8358 Information Structures
CSE 8352 (EE 8372) Cryptography and Data Security
CSE 8377 Fault-Tolerant Computation
CSE 8380 Parallel and Distributed Processing
CSE 8383 Advanced Computer Architecture
CSE 8387 CAD Methods in VLSI
EE 7356 VLSI Design and Lab
EE 8378 Performance Modeling and Evaluation of Computer Networks
EETS 8306 Wireless, Cellular and Personal Telecommunications
EETS 8307 Telecommunications Network Management
EETS 8322 Data Compression for Multimedia Application
Under some circumstances an elective not on the approved list may be taken. You must obtain the consent of your advisor and the CSE Graduate Program Committee.
Thesis Option
A student may elect to write a Master’s thesis, which counts as the six hours of concentration. The student must register for at least six hours under CSE 7(1-6)96. If the thesis option is chosen, all other requirements are the same. The six hours of thesis satisfy six of the nine required hours for advanced courses.
A Master’s thesis represents one or more of the following: synthesis of divergent ideas or a scholarly critique of current literature, a creative research activity or a significant design project, the results of which must be documented in a well-written thesis. The thesis should be of publishable quality, and it is recommended that it be submitted to an appropriate conference or journal before the thesis defense.
A thesis must be supervised by a faculty adviser selected by the student. Any full-time faculty member supporting the student’s concentration area may serve as the thesis adviser. It is the student’s responsibility to find an adviser willing to provide a thesis topic or willing to supervise a topic of the student’s choosing.
Once the student has found an adviser
and a topic has been selected, the student and adviser should jointly form
a thesis supervisory committee. This committee must consist of at least three
members, two of whom must represent the concentration area. The adviser chairs
this committee. The makeup of this committee must be approved by the chair
of CSE and the director of the graduate division.
The student must provide the members of the committee with a written thesis
proposal. Typically, this will be done before faculty agrees to serve on the
committee.
A thesis is judged by the supervisory committee based upon technical merit, originality and presentation. The thesis must be presented orally to the committee at a thesis defense. A copy of the thesis must be made available to each member of the committee at least two weeks before the planned defense. The defense must be scheduled with the CSE department office and posted on appropriate bulletin boards. The defense is open to the public.
Master of Science (Major in Security Engineering)
Security engineering is the computer science and engineering discipline concerned with the design and development of secure systems and applications. Security engineering covers security of computer networks and systems as well as physical security. In addition to the technical aspects such as cryptography, protocols and access control, the curriculum deals with the policy and management issues, integration and logistics and budgeting. Centering on the problems of working professionals in the critical field of security, the SMU program in security engineering serves the needs of both full-time and part-time students.
Admission Requirements
In addition to meeting the School of Engineering admission requirements for a Master of Science degree, applicants are required to satisfy these additional requirements:
- Bachelor’s degree in one of the quantitative sciences, mathematics or computer science or in one of the engineering disciplines
- A minimum of one year of college-level calculus
- A minimum of one year of experience in software/network development and/or maintenance
Degree Requirements
In addition to meeting the School of Engineering degree requirements for a Master of Science degree, candidates are required to satisfy these additional requirements:
1. Satisfactory completion of the core curriculum encompassing four courses:
CSE 7339 Computer System Security
CSE 7343 Operating Systems and System Software
CSE 7349 Data and Network Security
CSE 7359 Software Security
2. Satisfactory completion of three advanced elective courses from the following list:
CSE 7314 Software Testing and Quality Assurance
CSE 7331 An Introduction to Data Mining and Related Topics
EMIS 7340 Logistics Systems Engineering
CSE 8316 User Interface Design
CSE 8317 Software Reliability and Safety
CSE 8331 Data Mining
CSE 8349 Advanced Network Security
EE 8372/CSE 8352 Cryptography and Data Security
CSE 8377 Fault Tolerance
3. Satisfactory completion of three elective courses from available graduate-level course offerings in the School of Engineering and from the following list of special topic courses with approval from the program director or the department chair:
CSE 8394 (Special Topic) Nano-Security
CSE 8395 (Special Topic) Border and Transportation Security
Articulation
All students entering the program are expected to possess knowledge in the following core areas:
- Discrete Computational Structures
- Programming Languages
- Data Structures and Algorithms
- Computer Architecture
- Computer Networks
Students entering the program with an undergraduate degree other than computer science will be asked to take an articulation course, CSE 5311 Fundamentals of Computer Science, to satisfy core competency in the core topic areas. CSE 5311 does not count toward the 30-hour degree requirement. Such students will receive conditional admission to the program. Students must receive a grade of B or better in CSE 5311 to continue in the program.
Master of Science (Major in Software Engineering)
Software engineering is the computer science discipline concerned with developing large applications. Software engineering covers not only the technical aspects of building software systems, but also management
The SMU Master’s degree program in software engineering offers a balanced approach to management issues, such as directing programming teams, scheduling and budgeting and technical expertise necessary to succeed in this critically important field. Many of the courses are based upon those proposed by the Software Engineering Institute, specifically founded by the Department of Defense to assist in the development of a sound foundation for this rapidly emerging field. Centering on the problems of working professionals in this field, the SMU program in software engineering serves the needs of both the full- and part-time student.
Admission Requirements
In addition to meeting the School of Engineering admission requirements for a Master of Science degree, applicants are required to satisfy the following additional requirements:
- Bachelor’s degree in one of the quantitative sciences, mathematics or computer science or in one of the engineering disciplines
- A minimum of one year of college-level calculus
- A minimum of one year of experience in
software development and/or
maintenance
Degree Requirements
In addition to meeting the School of Engineering degree requirements for
a Master of Science degree, candidates are required to satisfy these additional
requirements:
The program requires 30 hours of coursework consisting of 12 hours of core courses
and 18 hours of electives as follows:
1. Satisfactory completion of the core curriculum encompassing four courses:
CSE 7314 Software Testing and Quality Assurance
CSE 7315 Software Project Planning and Management
CSE 7316 Software Requirements
CSE 7319 Software Architecture and Design
2. Satisfactory completion of three advanced elective courses from the following list:
CSE 7345 Advanced Java Programming
CSE 7346 Distributed Java Enterprise Computing
CSE 7349 XML and the Enterprise
CSE 7357 Software Security
CSE 8312 Software Generation and Maintenance
CSE 8313 Object-Oriented Analysis and Design
CSE 8314 Software Metrics and Quality Engineering
CSE 8315 Software Acquisition Practices, Legal and Economic Issues
CSE 8316 User Interface Design
CSE 8317 Software Reliability and Safety
CSE 8340 Advanced Topics in Software Engineering
3. Satisfactory completion of three elective courses from available graduate-level course offerings
Articulation
All students entering the program are expected to possess knowledge in the following core areas:
- Computer Architecture
- Computer Networks
- Discrete Computational Structures
- Programming Languages
- Data Structures and Algorithms
- Operating Systems
- Computer Architecture and Networks
- Object-Oriented Programming
These core topic areas form the basis of an undergraduate major in computer science. Students entering the program with an undergraduate degree other than computer science will be asked to take an articulation course, CSE 5311 Fundamentals of Computer Science, to satisfy core competency in the core topic areas. CSE 5311 does not count toward the 30 hour degree requirement.
Entering students without a background in object-oriented programming will be asked to take CSE 7345 Advanced Java Programming as one of their electives. CSE 7345 will count toward the 30 hour degree requirement.
CSE 5311 assumes the ability to program in Java or C++. Students who are asked to take CSE 5311 and who do not have a background in Java or C++ are advised to take CSE 7345 concurrently or prior to taking CSE 5311.
Students who do not have CS undergraduate degrees and who are asked to take CSE 5311 as an articulation course will receive conditional admission to the program. Students must receive a grade of B or better in CSE 5311 to continue in the program.
Doctor of Philosophy (Major in Computer Engineering)
Students receiving a Ph.D. in computer engineering are expected to achieve and demonstrate a mastery of the discipline and to significantly advance the state of knowledge through an original research effort.
Admission Requirements
1. A Master of Science degree in computer engineering or a related field, including computer science, electrical engineering, mathematics or physics from a U.S. college or university accredited by a regional accrediting association or completion of an international degree that is equivalent to a U.S. Master’s degree from a college or university of recognized standing. In the case of direct admission without a previous Master of Science degree, the baccalaureate degree must be conferred prior to the time the student begins classes as a graduate student, and the student will fulfill the requirements for and obtain a Master of Science degree and then continue working toward the Ph.D. Also, the student’s G.P.A. must be at least 3.4 on a 4.0 scale in the student’s junior and senior years.
2. Excellent academic performance in all completed coursework, with a G.P.A. of at least 3.00 on a 4.00 scale
3. The student should possess a reasonable level of mathematical maturity.
4. Submission of a complete application, including a statement of purpose, official transcripts for all previous undergraduate and graduate studies and payment of appropriate application fee.
5. Submission of official Graduate Record Examination (GRE) general test scores
6. Three letters of recommendation from individuals who can judge the
applicant’s
potential success as a doctoral student
Graduates from foreign countries are required to submit a notarized financial
certification form.
7. All international students whose native language is not English and who have not graduated from an American university must submit a minimum TOEFL score before being considered for admission as follows:
- 550 – paper-based examination
- 213 – computer-based examination
- 59 – Internet-based examination
Degree Requirements
In addition to meeting the School of Engineering requirements for the Doctor of Philosophy degree, candidates are required to satisfy the following:
The graduation requirements fall into the categories of completion of a specified number of graduate credits in appropriate subjects with an acceptable grade point average, demonstration of understanding of the discipline of computer engineering as evidenced by examination and completion of a substantial research effort documented in a doctoral dissertation.
All requirements must be completed within seven years of entry into the program.
The steps for completion of the doctoral program are:
- Initial advising
- Basic coursework to prepare for the commencement of research work
- Selection of a research adviser and supervisory committee
- Advanced coursework in the chosen research area and guided thesis research to prepare for the qualifying examination
- Successful completion of the qualifying examination as determined by the doctoral advising committee
- Dissertation research supervised by the candidate’s doctoral adviser
- Successful defense of the research leading to the Ph.D.
Initial Advising
Upon entry into the Ph.D. program, students are assigned a faculty adviser who acts as an academic adviser. The responsibilities of this adviser are to examine the student’s prior background and current state of knowledge and to recommend courses to be taken in preparation for the commencement of research work.
Credit Requirements
All students entering the program are expected to possess knowledge equivalent to the following CSE courses:
CSE 1341 Principles of Computer Science I
CSE 2240 Assembly Language Programming and Machine Organization
CSE 2341 Principles of Computer Science II
CSE 2353 Discrete Computational Structures
CSE 3342 Programming Languages
CSE 3358 Data Structures
CSE 3381 Digital Logic Design
CSE 4344 Computer Networks and Distributed Systems
CSE 4345 Software Engineering Principles
CSE 4381 Digital Computer Design
A minimum of 54 graduate credits is required beyond the baccalaureate degree in order to achieve the Ph.D. degree. Of this, a minimum of 27 credit hours must be at the 8000 level. In addition to these 54 hours, 24 hours are required for dissertation credit. Of the 54 graduate credits, a maximum of 30 credit hours may be used if an entering student possesses an M.S. in an appropriate major from another institution.
The following core courses must be taken at SMU if the student has not received credit for these at another university:
CSE 7343 Operating Systems and System Software
CSE 7344 Computer Networks and Distributed Systems II
CSE 7381 Computer Architecture
CSE 7387 Digital Systems Design
A minor, usually in an area of computer science, electrical engineering or mathematics, of a minimum of 12 credits supporting the chosen research area is required. These courses may be taken in CSE or a department separate from CSE. The minor requirement may be satisfied by transfer credit.
All full-time Ph.D. students in residence at the main campus of SMU may enroll in the CSE seminar class CSE 8198 for one hour of credit per semester. Students must have at least one hour of credit from CSE 8198 and can have no more than three hours that count toward the coursework requirement. The CSE 8198 course is graded on a pass/fail basis with a grade of pass requiring the attendance of at least two-thirds of the CSE departmental seminars and distinguished speaker series. The seminar coordinator will keep attendance records.
Grades
No graduate credit is earned for a course in which a grade of less than “C-” is earned. Such courses do, however, count toward the total G.P.A. In order to graduate, a student must have a G.P.A. of at least 3.0 on a 4.0 scale. If at any point, a student’s G.P.A. drops below 3.0, the student is placed on academic probation. The student then has one semester to raise his or her G.P.A. back up to a minimum of 3.0 or be dismissed from the program.
For part-time students, one semester is taken to mean six credit hours. It is the policy of the School of Engineering that a course, in which an “incomplete” is granted, affects the G.P.A. effective the semester in which the incomplete was granted rather than when it is removed. Therefore, a student should consider himself or herself to be on academic probation if the grade on currently completed work in the course in which the incomplete was granted would cause the G.P.A. to drop below 3.0.
Advanced Study
Advanced study in computer engineering consists of a major concentration area. A concentration area consists of a number of courses that are related to a specific sub-field of computer engineering. The major concentration consists of a minimum of 18 credits, no more than six of which can be independent study.
Credit earned for the core courses (CSE 7343, 7350, 7381 and 7387) will not be counted for the concentration area. The student must file an advanced study degree plan with the department. No degree plan is accepted until approved by the chair of CSE. Credits received prior to filing a degree plan are not guaranteed to count toward graduation.
Research Adviser and Supervisory Committee
Within two semesters after joining the Ph.D. program, the student must find a research adviser and form a supervisory committee. It is the responsibility of the student to find a faculty member willing to provide a research topic or to supervise a topic of the student’s choosing. The research adviser must be one of the full-time faculty members of the CSE department. The research adviser, together with the student, should prepare the advanced study degree plan. They should also form the supervisory committee.
The supervisory committee is made up of at least five members. Three resident tenured or tenure-track faculty members are drawn from the student’s department and one resident tenured or tenure-track faculty member from each minor field. The chair of the supervisory committee shall be a resident tenured or tenure-track member of the school faculty and shall normally be the dissertation director and a member of the student’s department. Thus, a minimum of four members must be resident tenured or tenure-track faculty of SMU. The supervisory committee must be submitted to the chair of CSE and the director of the graduate division for approval.
Qualifying Examination
The student must complete all the core courses with an average grade of B+ or better before he or she can appear for the qualifying examination. The student will give a written proposal to the committee members. The timing of this submission will be determined by the thesis adviser and usually occurs at the 40 to 50 percent completion point of the thesis research.
Committee members will submit questions to the Ph.D. dissertation director. The director and the members will negotiate the content of the questions. The questions will generally be from areas related to the student’s area of research and, hence, the questions will be submitted only after student has submitted the written proposal. However, should a majority of the committee judge that the student has not shown strong credentials in one or more of the core areas, the examination may include questions designed specifically to determine whether or not the student has sufficient background in those areas. Examinations will be graded by each submitting member and given back to the chair. The chair, along with the other members, will decide the outcome (pass/fail) of the examination.
The written portion of the qualifying examination is a take-home (open-book) examination with four questions. Although there will be more than four members in the committee, usually one member will be from outside CSE and will not be required to submit a question. The questions will be given to the students on a Friday as determined by the committee chair and the answers will be due back on the following Friday. The student must attain an average score of 70 percent and a minimum score of 50 percent on each individual question in order to receive a passing grade.
After passing the written portion, the student will appear for the oral portion of the qualifying examination. In addition to evaluating the presentation based on the proposed research, the oral part will also address any deficiencies the written examination may reveal. The student should schedule the oral presentation at the time the written proposal is submitted, even though he or she will be eligible to appear for the oral presentation only after passing the written portion.
Students will have a maximum of two attempts to pass the qualifying examination.
If a student changes her or his area of research significantly, or if significant changes are made to the composition of the supervising committee, the student may be required to repeat the qualifying examination.
Current students who have already passed the preliminary counseling examination and have not yet taken the qualifying examination will not be required to take the written portion of the qualifying examination.
Change of Committee or Concentration
A student may change concentration, research adviser or supervisory committee at any point, subject to the approval of the CSE faculty. Such a change will generally require the formation of a new supervisory committee and will definitely require the filing of a new advanced study degree plan. The student must take a qualifying examination in the new concentration area to be admitted to candidacy.
In the event that the student changes concentration after being admitted to candidacy, the candidacy is revoked and the student must pass the qualifying examination in the new concentration. Two attempts are allowed for a student in this position.
A student may also change areas before being admitted to candidacy. In this event, it is possible that one or more unsuccessful attempts will have been made to pass the qualifying examination. The student may, at the discretion of CSE, be allowed two attempts in the new concentration, but under no circumstances will more than three attempts be allowed at the examination.
It is also possible that a student will change research adviser or composition of the supervisory committee, while still retaining the same concentration areas. Such changes may be made only with the approval of CSE. If the research adviser is changed, the new research adviser may, at his or her discretion, require a new qualifying examination.
In addition, if the makeup of the supervisory committee changes substantially, CSE may require a new qualifying examination to be taken with the newly constituted committee.
Doctoral Dissertation
The most clearly distinguishing characteristic of a program leading to the Ph.D. degree is the requirement that the candidate write a dissertation embodying the results of a significant and original investigation. The dissertation must make a real contribution to the engineering discipline, and it is expected to be a mature and competent piece of writing. The work reported in the dissertation may be either basic scientific research, engineering research or creative design.
Upon the successful completion of the dissertation defense, the dissertation is uploaded to the SMU/UMI Web site, and the original abstract must be signed by the dissertation adviser, and the original half-title page of the dissertation must by signed by all of the CSE faculty members attending the dissertation defense.
Dissertation Defense (Final Examination)
Upon completion of all other requirements, a dissertation defense of the candidate will be announced, registered with the graduate division and subsequently conducted by the supervisory committee. The candidate must make six unbound copies of his or her dissertation available to the members of the supervisory committee at least two weeks in advance of the dissertation defense.
This defense, which is conducted orally, must enable the supervisory committee to satisfy itself that the dissertation is an original piece of work, either in research or creative design, that it has been carried out in keeping with the highest standards of investigation and reporting and that it makes a contribution to knowledge that is of value to the engineering profession or scientific community. The defense must be scheduled with the CSE departmental office and posted in the School of Engineering. This defense is open to the public, with the possible exception of a period that involves general questions in computer science and engineering and that is open only to committee members and CSE faculty.
Satisfactory performance on this defense constitutes the last requirement to be met for the Ph.D. degree.
Doctor of Philosophy (Major in Computer Science)
Students receiving a Ph.D. in computer science are expected to achieve and demonstrate a mastery of the discipline and to significantly advance the state of knowledge through an original research effort.
Admission Requirements
1. A Master of Science degree in computer science or a related field, including computer engineering, electrical engineering, mathematics or physics from a U.S. college or university accredited by a regional accrediting association or completion of an international degree that is equivalent to a U.S. Master’s degree from a college or university of recognized standing. In the case of direct admission without a previous Master of Science degree, the baccalaureate degree must be conferred prior to the time the student begins classes as a graduate student, and the student will fulfill the requirements for and obtain a Master of Science degree and then continue working toward the Ph.D. Also, the student’s G.P.A. must be at least 3.4 on a 4.0 scale in the student’s junior and senior years.
2. Excellent academic performance in all completed coursework, with a G.P.A. of at least 3.00 on a 4.00 scale
3. The student should possess a reasonable level of mathematical maturity.
4. Submission of a complete application, including a statement of purpose, official transcripts for all previous undergraduate and graduate studies and payment of appropriate application fee.
5. Submission of official Graduate Record Examination (GRE) general test scores
6. Three letters of recommendation from individuals who can judge the applicant’s potential success as a doctoral student
7. Graduates from foreign countries are required to submit a notarized financial certification form. All international students whose native language is not English and who have not graduated from an American university must submit a minimum TOEFL score before being considered for admission as follows:
- 550 – paper-based examination
- 213 – computer-based examination
- 59 – Internet-based examination
Degree Requirements
In addition to meeting the School of Engineering requirements for the Doctor of Philosophy degree, candidates are required to satisfy the following:
The graduation requirements fall into the categories of completion of a specified number of graduate credits in appropriate subjects with an acceptable grade point average, demonstration of understanding of the discipline of computer science as evidenced by examination and completion of a substantial research effort documented in a doctoral dissertation.
All requirements must be completed within seven years of entry into the program.
The steps for completion of the doctoral program are:
- Initial advising
- Basic coursework to prepare for the commencement of research work
- Selection of a research adviser and supervisory committee
- Advanced coursework in the chosen research area and guided thesis research to prepare for the qualifying examination
- Successful completion of the qualifying examination as determined by the doctoral advising committee
- Dissertation research supervised by the candidate’s doctoral adviser
- Successful defense of the research leading to the Ph.D.
Initial Advising
Upon entry into the Ph.D. program, students are assigned a faculty adviser who acts as an academic adviser. The responsibilities of this adviser are to examine the student’s prior background and current state of knowledge and to recommend courses to be taken in preparation for conducting research.
Credit Requirements
All students entering the program are expected to possess knowledge equivalent to the following CSE courses:
CSE 1341 Principles of Computer Science I
CSE 2240 Assembly Language Programming and Machine Organization
CSE 2341 Principles of Computer Science II
CSE 2353 Discrete Computational Structures
CSE 3342 Programming Languages
CSE 3358 Data Structures
CSE 3381 Digital Logic Design
CSE 4345 Software Engineering
CSE 4381 Digital Computer Design
A minimum of 54 graduate credits is required beyond the baccalaureate degree in order to achieve the Ph.D. degree. Of this, a minimum of 27 credit hours must be at the 8000 level. In addition to these 54 hours, 24 hours are required for dissertation credit. Of the 54 graduate credits, a maximum of 30 credit hours may be used if an entering student possesses a M.S. in an appropriate major from another institution. The following core courses must be taken at SMU if the student has not received credit for these at another university:
CSE 7330 File Organization and Database Management
CSE 7343 Operating Systems and System Software
CSE 7350 Algorithm Engineering
CSE 7381 Computer Architecture
A minor, usually in an area of computer engineering, electrical engineering or mathematics, of a minimum of 12 credits supporting the chosen research area is required. These courses may be taken in CSE or in another department in the School of Engineering. The minor requirement may be satisfied by transfer credit.
All full-time Ph.D. students in residence at the main campus of SMU are required to enroll in the CSE seminar class CSE 8198 for one hour of credit per semester. Students must have at least one hour of credit from CSE 8198 and can have no more than three hours that count toward the coursework requirement. The CSE 8198 course is graded on a pass/fail basis with a grade of pass requiring the attendance of at least two-thirds of the CSE departmental seminars and distinguished speaker series. The seminar coordinator will keep attendance records.
Grades
No graduate credit is earned for a course in which a grade of less than “C-” is earned. Such courses do, however, count toward the total G.P.A. In order to graduate, a student must have a G.P.A. of at least 3.0 on a 4.0 scale. If at any point, a student’s G.P.A. drops below 3.0, the student is placed on academic probation. The student then has one semester to raise his or her G.P.A. back up to 3.0 or be dismissed from the program.
For part-time students, one semester is taken to mean six credit hours. It is the policy of the School of Engineering that a course, in which an “incomplete” is granted, affects the G.P.A. effective the semester in which the incomplete was granted rather than when it is removed. Therefore, a student should consider himself or herself to be on academic probation if the grade on currently completed work in the course in which the “incomplete” was granted would cause the G.P.A. to drop below 3.0.
Advanced Study
Advanced study in computer science consists of a major concentration area. A concentration area consists of a number of courses that are related to a specific sub-field of computer science. The major concentration consists of a minimum of 18 credits, no more than six of which can be independent study.
Credit earned for the core courses (CSE 7330, 7343, 7350 and 7381) will not be counted for the concentration area.
The student must file an advanced study degree plan with the department. No degree plan is accepted until approved by the chair of CSE. Credits received prior to filing a degree plan are not guaranteed to count toward graduation.
Research Adviser and Supervisory Committee
Within two semesters after joining the Ph.D. program, the student must find a research adviser and form a supervisory committee. It is the responsibility of the student to find a faculty member willing to provide a research topic or to supervise a topic of the student’s choosing. The research adviser must be one of the full-time faculty members of the CSE department. The research adviser, together with the student, should prepare the advanced study degree plan. They should also form the supervisory committee.
The supervisory committee is made up of at least five members. Three resident tenured or tenure-track faculty members are drawn from the student’s department and one resident tenured or tenure-track faculty member from each minor field. The chair of the supervisory committee shall be a resident tenured or tenure-track member of the school faculty and shall normally be the dissertation director and a member of the student’s department. Thus, a minimum of four members must be resident tenured or tenure-track faculty of SMU. The supervisory committee must be submitted to the chair of CSE and the director of the graduate division for approval.
Qualifying Examination
The student must complete all the core courses with an average grade of B+ or better before he or she can appear for the qualifying examination. The student will give a written proposal to the committee members. The timing of this submission will be determined by the thesis adviser and usually occurs at the 40 to 50 percent completion point of the thesis research.
Committee members will submit questions to the Ph.D. dissertation director. The director and the members will negotiate the content of the questions. The questions will generally be from areas related to the student’s area of research and, hence, the questions will be submitted only after student has submitted the written proposal. However, should a majority of the committee judge that the student has not shown strong credentials in one or more of the core areas, the examination may include questions designed specifically to determine whether or not the student has sufficient background in those areas. Examinations will be graded by each submitting member and given back to the chair. The chair, along with the other members, will decide the outcome (pass/fail) of the examination.
The written portion of the qualifying examination is a take-home (open book) examination with four questions. Although there will be more than four members in the committee, usually one member will be from outside CSE and will not be required to submit a question. The questions will be given to the students on a Friday as determined by the committee chair and the answers will be due back on the following Friday. The student must attain an average score of 70 percent and a minimum score of 50 percent on each individual question in order to receive a passing grade.
After passing the written portion, the student will appear for the oral portion of the qualifying examination. In addition to evaluating the presentation based on the proposed research, the oral part will also address any deficiencies the written examination may reveal. The student should schedule the oral presentation at the time the written proposal is submitted, even though he or she will be eligible to appear for the oral presentation only after passing the written portion.
Students will have a maximum of two attempts to pass the qualifying examination.
If a student changes her or his area of research significantly or if significant changes are made to the composition of the supervising committee, the student may be required to repeat the qualifying examination.
Current students who have already passed the preliminary counseling examination and have not yet taken the qualifying examination will not be required to take the written portion of the qualifying examination.
Change of Committee or Concentration
A student may change concentration, research adviser or supervisory committee at any point, subject to the approval of the CSE faculty. Such a change will generally require the formation of a new supervisory committee and will definitely require the filing of a new advanced study plan. The student must take a qualifying examination in the new concentration area to be admitted to candidacy.
In the event that the student changes concentration after being admitted to candidacy, the candidacy is revoked and the student must pass the qualifying examination in the new concentration. Two attempts are allowed for a student in this position. A student may also change areas before being admitted to candidacy. In this event, it is possible that one or more unsuccessful attempts will have been made to pass the qualifying examination.
The student may, at the discretion of CSE, be allowed two attempts in the new concentration, but under no circumstances will more than three attempts be allowed at the examination. It is also possible that a student will change research adviser or composition of the supervisory committee while still retaining the same concentration areas. Such changes may be made only with the approval of CSE. If the research adviser is changed, the new research adviser may, at his or her discretion, require a new qualifying examination. In addition, if the makeup of the supervisory committee changes substantially, CSE may require a new qualifying examination to be taken with the newly constituted committee.
Doctoral Dissertation
The most clearly distinguishing characteristic of a program leading to the Ph.D. degree is the requirement that the candidate write a dissertation embodying the results of a significant and original investigation. The dissertation must make a real contribution to the computer science discipline, and it is expected to be a mature and competent piece of writing. The work reported in the dissertation may be either basic scientific research, engineering research or creative design.
Upon the successful completion of the dissertation defense, the dissertation is electronically uploaded to the SMU/UMI submission Web site, and the original abstract must be signed by the dissertation adviser, and the original half-title page of the dissertation must by signed by all of the CSE faculty members attending the dissertation defense.
A copy of the bound dissertation will be sent to the student as soon as it is available following successful completion of the dissertation defense.
Dissertation Defense (Final Examination)
Upon completion of all other requirements, a dissertation defense of the candidate will be announced, registered with the graduate division and subsequently conducted by the supervisory committee. The candidate must make six unbound copies of his dissertation available to the members of the supervisory committee at least two weeks in advance of the dissertation defense.
This defense, which is conducted orally, must enable the supervisory committee to satisfy itself that the dissertation is an original piece of work, either in research or creative design, that it has been carried out in keeping with the highest standards of investigation and reporting and that it makes a contribution to knowledge that is of value to the computer profession or scientific community.
The defense must be scheduled with the CSE departmental office and posted in the School of Engineering. This defense is open to the public, with the possible exception of a period that involves general questions in computer science and engineering may be asked and that is open only to committee members and CSE faculty. Satisfactory performance on this defense constitutes the last requirement to be met for the Ph.D. degree.
Doctor of Engineering (Major in Software Engineering)
The DE/SE degree aims to simultaneously achieve the following educational goals:
- Provide a solid foundation and depth in software engineering practice
- Provide breadth across engineering disciplines
- Provide a significant and industrially-relevant engineering innovative experience through the Doctor of Engineering praxis.
Admission Requirements
Applicants must meet the following requirements:
- A Master’s degree in software engineering, computer science, computer engineering, engineering management or a related discipline
- Submission of official GRE test results
Submission of official scores of Test of English as a Foreign Language (TOEFL) if English is not the native language - Approval of the program director of the software engineering program.
Degree Requirements
DE/SE requires successful completion of the School of Engineering requirements for Doctor of Engineering. Specific credit, course and praxis requirements as described:
Credit Requirements
1. Twenty-four credit hours of core software engineering courses. These hours must come from graduate-level courses in software engineering, as specified.
2. Twelve credit hours of core engineering management courses. These hours must come from graduate-level courses in engineering management, as specified.
3. Fifteen credit hours in a technical specialty. These hours must be taken in software engineering, computer science, computer engineering, engineering management, systems engineering or other technical areas consistent with anticipated doctoral work demands.
4. Fifteen credit hours of electives. All elective hours must come from graduate-level courses and must be approved by the advisory committee. These courses should, in some way, complement and strengthen the student’s degree plan. They should broaden the student’s understanding of the issues and problems relating to the application of software technologies to different engineering disciplines.
5. Twelve credit hours of praxis. These hours must be taken in residence. The student enrolls for these hours in the course of preparing the praxis project.
Core Courses in Software Engineering
The following courses, or their equivalents, must be included in the degree plan:
CSE 7316 Software Requirements
CSE 7319 Software Architecture and Design
CSE 7314 Software Testing and Quality Assurance
CSE 7315 Software Project Planning and Management
In addition, at least four of the following courses:
CSE 8312 Software Generation and Maintenance
CSE 8313 Object-Oriented Analysis and Design
CSE 8314 Software Metrics and Quality Engineering
CSE 8315 Software Acquisition Practices, Legal and Economic Issues
CSE 8316 User Interface Design
CSE 8317 Software Reliability and Safety
CSE 8340 Advanced Topics in Software Engineering
Core Courses in Engineering
Management
The following courses, or their equivalents, must be included in the degree plan:
EMIS 7370 Probability and Statistics for Scientists and Engineers
EMIS 7377 Design and Analysis of Experiments
In addition, at least two of the following courses:
EMIS 8360 Operations Research Models
EMIS 8361 Economic Decision Analysis
EMIS 8364 Management for Engineers
EMIS 8378 Optimization Models for Decision Support
Praxis
The student must perform a suitable engineering praxis proposed by the student and approved by the praxis adviser and the supervisory committee. The praxis must include a significant and industrially-relevant engineering innovative experience, typically revolving around a well-defined project relevant to current software engineering practice. Good scholarship and the significance of the student’s praxis could be demonstrated by relevant technical publications, patents (or patent applications) or invention disclosures. As a culmination of the doctoral program, the student must submit an acceptable written praxis report and pass the oral praxis presentation and defense.
Sample Doctoral Degree Plans
The courses comprising a degree plan for a DE/SE student in the program will be determined by the student’s supervisory committee. The plans will vary among students depending on their background and praxis topics. Sample degree plans cover both basic degree requirements and technical specialties.
These are sample technical specialty tracks:
Technical Specialty
All students must select a technical specialty track that is approved by their committee and that relates to their praxis topic. The following are examples of technical specialty tracks appropriate for DE in SE candidates:
Security
CSE 7339 Computer System Security
CSE 7349 Data and Network Security
CSE 7359 Software Security
CSE 8349 Advanced Network and System Security
CSE 8352 Cryptography and Data Security
CSE 7348 Internetworking Protocols and ProgrammingNetworks/Distributed Computing
CSE 7344 Computer Networks and Distributed Systems II
CSE 7346 Java Distributed Enterprise Computing
CSE 7348 Internetworking Protocols and Programming
CSE 8344 Computer Networks
CSE 8377 Fault-Tolerant Computation
CSE 8380 Parallel and Distributed ProcessingData Management
CSE 7330 File Organization and Data Management
CSE 7347 XML and the Enterprise
CSE 8330 Advanced Database Management Systems
CSE 7331 An Introduction to Data Mining and Related Topics
CSE 8331 Data Mining
CSE 8337 Information RetrievalEmbedded Systems
CSE 7380 VLSI Algorithms
CSE 7385 Microprocessor Architecture and Interfacing
CSE 8317 Software Reliability and Safety
CSE 8357 Design of CAD/CAE Tools
CSE 8387 CAD Methods in VLSI
CSE 8388 Embedded SystemsHigh-Performance Applications Engineering (e.g. for Computer Gaming)
CSE 7350 Algorithm Engineering
CSE 7381 Computer Architecture
CSE 7382 Computer Graphics
CSE 8355 Graph Theory: Algorithms and Applications
CSE 8351 Computer Arithmetic
CSE 8383 Advanced Computer Architecture
Recognition of Previous Post-Baccalaureate Coursework
Students with an M.S. in software engineering, engineering management and other related areas may apply up to 30 hours of their M.S. degree credits toward their DE/SE, subject to approval of their supervisory committee.
Certificate Programs
Admission Requirements
- A bachelor’s degree in one of the quantitative sciences, mathematics, computer science, computer engineering or one of the other engineering disciplines from a U.S. college or university accredited by a regional accrediting association or completion of an international degree that is equivalent to a U.S. bachelor’s degree from a college or university of recognized standing
- A minimum G.P.A. of 3.0 on 4.0 scale in previous undergraduate and graduate study
- Working knowledge of at least one programming language
- A minimum of one year of experience in software development and maintenance or computer networks
- Students not meeting these requirements may be admitted on a conditional basis and required to take articulation (bridging) courses (for undergraduate credit).
Certificate Requirements
Completion of the courses specified for the individual certificate with a grade of “B” or better
Software Engineering Certificate Program
The software engineering certificate program presents a series of steps for acquiring basic software engineering knowledge and skills, followed by education in one or more specialty areas. Each certificate comprises selected Master’s level courses from the software engineering curriculum that can form the foundation of a later Master’s degree.
Certificate in Software Engineering Fundamentals
CSE 7314 Software Testing and Quality Assurance
CSE 7315 Software Project Planning and Management
CSE 7316 Software Requirements
CSE 7319 Software Architecture and Design
Software Requirements Engineering: Completion of Fundamentals plus:
CSE 7312 Software Systems Engineering
CSE 8313 Object-Oriented Analysis and Design
Certificate in Software Design Engineering: Completion of Fundamentals plus:
CSE 8313 Object-Oriented Analysis and Design
CSE 8316 User Interface Design
Certificate in Software Construction Engineering: Completion of Fundamentals plus:
CSE 8312 Software Generation and Maintenance
CSE 8313 Object-Oriented Analysis and Design
Certificate in Software Testing and Quality Engineering: Completion of Fundamentals plus:
CSE 8314 Software Metrics and Quality Engineering
CSE 8317 Software Reliability and Safety
Certificate in Distributed Computing Technologies: Completion of Fundamentals plus:
CSE 7346 Java Distributed Enterprise Computing
CSE 7347 XML and the Enterprise
Certificate in Software Management: Completion of Fundamentals plus:
CSE 8314 Software Metrics and Quality Engineering
CSE 8315 Software Acquisition Practices, Legal and Economic Issues
Certificate Program in Computer Security and Information Assurance
The computer security and information assurance certificate program is designed for the computer and network professional seeking education to support focused career objectives in computer security and information assurance. A student will earn a certificate in computer security and information assurance upon completion of three courses from a list of five.
Certificate in Computer Security and Information Assurance
Any three courses from the following list:
CSE 7339 Computer System Security
CSE 7349 Data and Network Security
CSE 7359 Software Security
CSE 8349 Advanced Network and System Security
CSE 8352 (EE 8372) Cryptography and Data Security
The Courses (CSE)
7111. Intellectual Property and Information Technology. Fundamentals in the nature, protection and fair use of intellectual property. Patent, copyright, trademark, trade secret and antitrust principles with an emphasis on the Internet, software, databases and digital transmission technologies. The open source and creative commons alternatives for disseminating intellectual property. The engineer, scientist, manager and creative artist’s professional and ethical responsibilities and opportunities regarding intellectual property. The rapid change in types and uses of intellectual property spawned by computers, digital media, e-commerce and biotechnology. Prerequisite: Graduate standing and a general understanding of software and digital information systems.
7312. Software Systems Engineering. The engineering of complex systems that have a strong software component. For such systems, software often assumes functions previously allocated to mechanical and electrical subsystems, changing the way systems engineers must think about classical systems issues. Provides a framework for addressing systems engineering issues by focusing on the Software Engineering Institute’s Systems Engineering Capability Maturity Model (SE-CMM). Includes deriving and allocating requirements, system and software architectures, integration, interface management, configuration management, quality, verification and validation, reliability and risk.
7314. Software Testing and Quality Assurance. The relationship of software testing to quality with an emphasis on testing techniques and the role of testing in the validation of system requirements. Includes module and unit testing, integration, code inspection, peer reviews, verification and validation, statistical testing methods, preventing and detecting errors, selecting and implementing project metrics and defining test plans and strategies that map to system requirements. Testing principles, formal models of testing, performance monitoring and measurement.
7315. Software Project Planning and Management. The issues associated with the successful management of a software development project. Includes planning, scheduling, tracking, cost and size, estimating, risk management, configuration, management quality, engineering and process improvement. Focuses on the concept of a Software Engineering Process and includes discussion of life cycle models for software development. Includes the SEI software process capability maturity model (CMM) and other process standards.
7316. Software Requirements. Focuses on defining and specifying software requirements that can be used as the basis for designing and testing software. Includes use-cases for describing system behavior, formal methods, specifying functional vs. nonfunctional requirements and the relationship of requirements to software testing.
7317 (MATH 5317). Mathematical Software. Design and construction of numerical and symbolic software as stand-alone segments, packages and libraries. Examples: linear algebra, quadrature, optimization; MATLAB and MAPLE; NAG and IMSL libraries. Impact of computer architecture. Prerequisites: MATH 3315/CSE 3365 or MATH 5315/CSE 7365 or MATH 5316/CSE 7366, a programming course (e.g., C or FORTRAN) and some knowledge of linear algebra or permission of the instructor.
7319. Software Architecture and Design. Successful software development requires both an understanding of software design principles and a broader understanding of software architectures that provide a framework for design. Explores the role of design in the software lifecycle including different approaches to design, design tradeoffs and the use of design patterns in modeling object-oriented solutions. Focuses on important aspects of a system’s architecture including the division of functions among system modules, synchronization, asynchronous and synchronous messaging, interfaces and the representation of shared information.
7320. Artificial Intelligence. Introduction to basic principles and current research topics in artificial intelligence. Formal representation of real-world problems, search of problem spaces for solutions and deduction of knowledge in terms of predicate logic, nonmonotonic reasoning and fuzzy sets. Application of these methods to important areas of artificial intelligence, including expert systems, planning, language understanding, machine learning, neural networks, computer vision and robotics. Prerequisites: CSE 3342 and CSE 3358.
7330. File Organization and Database Management. A survey of current database approaches and systems. Principles of design and use of these systems. Query language design, implementation constraints. Applications of large databases. Includes a survey of file structures and access techniques. Use of a relational DBMS to implement a database design project. Prerequisite: CSE 3358.
7331. An Introduction to Data Mining and Related Topics. An introduction to data mining topics. Emphasis on understanding concepts through an applied hands-on approach. All material covered will be reinforced through hands-on implementation exercises. Includes other related topics, such as data warehousing and dimensional modeling. Prerequisite: CSE 3358.
CSE 7335. Introduction to Bioinformatics. Covers the main fields in bioinformatics, including biological sequence analysis, computational structural biology, high-throughput microarray data analysis, proteomics data analysis, gene ontology, gene and protein networks. Prerequisites: CSE 3358 and CSE 3353 or equivalent or permission of instructor.
7339. Computer System Security. Investigates a broad selection of contemporary issues in computer security, including an assessment of state-of-the-art technology used to address security problems. Includes sources for computer security threats and appropriate reactions, basic encryption and decryption, secure encryption systems, program security, trusted operating systems, database security, network and distributed systems security, administering security and legal and ethical issues.
7341. Compiler Construction. Review of programming language structures, loading, execution and storage allocation. Compilation of simple expressions and statements. Organization of a compiler including compile-time and run-time symbol tables, lexical analysis, syntax analysis, code generation, error diagnostics and simple code optimization techniques. Use of a recursive high-level language to implement a complete compiler. Prerequisites: CSE 3342 and 3358.
7342. Concepts of Language Theory and Their Applications. Introduction to formal languages and their relation to automata. Introduction to denotational and operational semantics. Applications of formal semantics to the design and specification of programming languages and programming language processors including computer architectures. The predicate calculus, logic programming and axiomatic semantics. Application of axiomatic semantics to the verification of programs. 1 TCH Design. Prerequisite: CSE 3342 or permission of the instructor.
7343. Operating Systems and System Software. Theoretical and practical aspects of operating systems, including an overview of system software, time-sharing and multiprogramming operating systems, network operating systems and the Internet, virtual memory management, interprocess communication and synchronization, file organization and case studies. Prerequisite: CSE 3358.
7344. Computer Networks and Distributed Systems II. Introduction to network protocols, layered communication architecture, multimedia applications and protocols, Quality of Service (QoS), congestion control, optical networks, DWDM, network survivability and provisioning and wireless networks. Includes an interdisciplinary project requiring the use of currently available network design and simulation tools. Prerequisite: A grade of C- or better inCSE 4344.
7345. Advanced Java Programming. Provides the student with a foundation for building advanced distributed and embedded systems applications in Java through the use of Java’s support for networking and concurrency. Includes exception handling, object serialization, thread and thread-safe programming issues, component frameworks, remote method invocation, security and concurrency issues. Discussion of the issues and techniques necessary to develop high-performance, object-oriented concurrent Java applications and to be able to apply advanced Java constructs to research projects.
7347. XML and the Enterprise. XML, the Extensible Markup Language, is widely used to define vocabularies for a wide range of applications, including software configuration, data exchange and web-based protocols. Provides a detailed examination of XML as an enterprise technology. Focuses on APIs, interfaces and standards that are driving this technology, including DTDs and XML Schema to structure SML data, XSLT to transform XML, XML protocols for distributed computing and XML security initiatives. Develops a broad understanding of XML and the technical issues and tradeoffs among different alternatives for processing XML. Prerequisites: An understanding of object-oriented concepts and familiarity with Java and/or C++.
7348. Internetworking Protocols and Programming. Processing and Interprocess Communications (IPC), Unix domain sockets, fundamentals of TCP/IP, Internet domain sockets, packet routing and filtering and firewall, SNMP and network management, client-server model and software design, Remote Procedure Call (XDR, RPC, DCE), design of servers and clients, networking protocols for the World Wide Web and internetworking over new network technologies. Prerequisites: CSE 7343 and C programming.
7349. Data and Network Security. Covers conventional as well as state-of-the-art methods in achieving data and network security. Includes private key and public key encryption approaches in detail with coverage on popular algorithms such as DES, Blowfish and RSA. In the network security area, includes authentication protocols, IP security, Web security and system level security. Prerequisite: C- or better in CSE 4344.
7350. Algorithm Engineering. Algorithm design techniques. Methods for evaluating algorithm efficiency. Data structure specification and implementation. Applications to fundamental computational problems in sorting and selection, graphs and networks, scheduling and combinatorial optimization, computational geometry, arithmetic and matrix computation. Introduction to parallel algorithms. Introduction to computational complexity and a survey of NP-complete problems. Prerequisites: CSE 3353 and CSE 3358 (for non-CSE graduate students: CSE 3358).
7359. Software Security. As software is delivered across networks and Web-based environments, security is critical to successful software deployment. Focuses on software security issues that pertain to the network Application Layer in the classic OSI model. At the application network layer, issues related to encryption, validation and authentication are handled programmatically rather that at the network level. Students will work with APIs for cryptography, digital signatures and third-party certificate authorities. Also explores issues related to XML and Web services security by examining standards and technologies for securing data and programs across collaborative networks. Prerequisite: Programming experience in Java and/or C++.
7365 (MATH 5315). Introduction to Numerical Analysis. Numerical solution of linear and nonlinear equations, interpolation and approximation of functions, numerical integration, floating point arithmetic and the numerical solution of initial valve problems in ordinary differential equations. Emphasizes student use of the computer. Prerequisites: FORTRAN and Math 2343 or 3315.
7366 (MATH 5316). Numerical Linear Algebra. The efficient solution of linear systems by both direct and interactive methods. Uses the concept of elementary matrix transformations to provide a unified treatment of direct methods. Develops stationary and conjugate direction methods for efficiently solving sparse linear systems. Prerequisites: FORTRAN or MATLAB, Math 3353, Math 3315 or Math 5315.
7370. Probability and Statistics for Scientists and Engineers. Introduction to fundamentals of probability and distribution theory, statistical techniques used by engineers and physical scientists. Examples of tests of significance, operating characteristic curves, tests of hypothesis about one and two parameters, estimation, analysis of variance and the choice of a particular experimental procedure and sample size. Prerequisite: Math 2339 or equivalent.
7376 (EETS 7301). Introduction to Telecommunications. Overview of public and private telecommunications systems, traffic engineering, switching, transmission and signaling. Channel capacity, media characteristics, Fourier analysis and harmonics, modulation, electromagnetic wave propagation and antennas, modems and interfaces and digital transmission systems. TI carriers, digital microwave, satellites, fiber optics and SONET and Integrated Services Digital Networks.
7380. VLSI Algorithms. Introduction to problems, algorithms and optimization techniques used in the design of high-performance VLSI design. Emphasis on algorithms for partitioning, placement, floor planning, wire routing and layout compaction. Additional focus on constraints for the design for field programmable gate arrays (FPGAs) throughout the course. Prerequisites: C- or better in CSE 3381 and C- or better in CSE 3358.
7381. Computer Architecture. An advanced course introducing students to the state-of-the-art in uniprocessor computer architecture. Focuses on the quantitative analysis and cost performance tradeoffs in instruction-set, pipeline and memory design. Includes real systems and performance data, providing qualitative case studies that complement the quantitative analysis. Covers quantitative performance measures, pipelines, instruction-level parallelism, memory hierarchies, input/output, networks and parallel processors. Prerequisites: CSE 4381 and experience with both a high-level language and a hardware description language.
7382. Computer Graphics. Hardware and software components of computer graphics systems: display files, two-dimensional and three-dimensional transformations, clipping and windowing perspective, hidden line elimination and shaping, interactive graphics and applications. Prerequisite: CSE 3358 or equivalent.
7385. Microprocessor Architecture and Interfacing. Emphasizes the design of Intel-based microprocessor computer systems. Starts with the presentation of Intel microprocessors and continues with the design of a personal computer system with hierarchical memory, input-output peripherals and industry-standard bus interfaces (ISA, EISA, VLB, and PCI). In addition to the hardware design techniques, includes a laboratory and design projects in which students learn to use state-of-the-art CAD tools and laboratory instruments for hardware design, simulation, implementation and debugging. Prerequisites: CSE 3381 and assembly language programming.
7387. Digital Systems Design. Modern topics in digital systems design, including the use of HDLs for circuit specification and automated synthesis tools for realization. Emphasizes the use of programmable logic devices. A heavy laboratory assignment content and a design project. Prerequisite: C- or better in CSE 3381 Digital Logic Design.
7(1-3)9(0-4). Special Topics. Individual or group study of selected topics in computer science. Prerequisite: Permission of the instructor.
8098. Computer Science Seminar. Seminars and colloquia given by the resident faculty and invited guests in various specialized, as well as general, topics in computer science.
8198. Computer Science Seminar. Seminars and colloquia given by the resident faculty and invited guests in various specialized, as well as general, topics in computer science.
8312. Software Generation and Maintenance. Techniques for generating software and maintaining revisions to existing software. Includes alternatives to coding, the use of program generators and very high-level languages, CASE tool, component re-use and the role of standards in the generation of software. Also covered are issues related to maintenance as a part of software evolution, the impact of the design process on long-term software maintainability, software re-engineering and the planning of release cycles.
8313. Object-Oriented Analysis and Design. Object-oriented analysis and design is essential in developing high-quality object-oriented systems. Provides an overview of object-oriented analysis and design by integrating the work of Booch, Rumbaugh, Jacobson and Wirfs-Brock. Includes use-case analysis, responsibility-driven design, object modeling, entity-relationship modeling and the design notation of the Unified Modeling Language (UML). Also object-oriented class libraries, object-oriented databases and the Common Object Request Broker Architecture (CORBA).
8314. Software Metrics and Quality Engineering. Techniques of software quality engineering with emphasis on the role of metrics. The approach is drawn from practical experience and uses many examples from industry. Includes the psychological and behavioral aspects of quality and quality assurance. Presents metrics and quality in relationship to the software process and software process maturity models. Addresses selection of quality metrics in terms of the goal/question/metric paradigm as well as various quality models. Also, methods of storing data for historical purposes, analyzing and presenting data.
8315. Software Acquisition Practices, Legal and Economic Issues. Issues relating to software procurement, contract law, specification and control of product processes. Includes factors that affect cost, cost estimation, cost/benefit analysis, risk analysis and legal implications with respect to ownership and use. Techniques and models of cost estimation studied in detail.
8316. User Interface Design. Design methodologies for user interfaces. Includes life cycles for user interface development, human factors issues, prototyping, user analysis and evaluation and design techniques. Students will perform the analysis, design and evaluation of a user interface through two iterations.
8317. Software Reliability and Safety. In-depth study of techniques for ensuring software reliability and safety. Includes software reliability engineering, software safety engineering and recent developments in those areas. Reliability concepts applied to the software domain and safety concepts applied to computer-intensive systems. Specific techniques such as software reliability models and analysis methods, operational profiles, safety and hazard analysis using fault trees and event trees and formal verification for safety-critical software systems.
8320. Knowledge-Intensive Problem Solving. Focuses on higher-level artificial intelligence techniques for problem-solving guided by domain-specific knowledge. Discusses these techniques via study of planning systems, heuristic rule-based systems, model-based systems and learning systems. Prerequisite: CSE 7320.
8321. Machine Learning and Neural Networks. Introduction to the principles and motivation behind forms of machine learning, including neural networks. Survey of important topics and current areas of research, including back propagation, Boltzmann machines, clustering, inductive learning, genetic learning and analogy. Strengths and weaknesses of each type of learning algorithm. Prerequisite: CSE 7320 or permission of the instructor.
8322. Natural Language Processing and Internet Applications. Covers state-of-the-art methods for natural language processing. After an introduction to the basics of syntax, semantic and discourse analysis, the focus shifts to the integration of these modules into complex natural-language processing systems. In addition to natural language understanding, presents advanced material on lexical knowledge acquisition, natural language generation, machine translation and parallel processing of natural language. Prerequisite: CSE 7320.
8325. Logic Programming. Explores logic-based computing and logic programming. Introduces fundamentals of logic programming and covers basic techniques for solving problems in Prolog, including nondeterministic programming, incomplete data structures, definite clause grammars and meta interpreters. Examines implementation of a logic programming system as a generalization of both traditional programming language systems and traditional databases. Prerequisites: CSE 3342 and 3358.
8330. Advanced Database Management Systems. An extensive investigation of distributed databases and implementation issues. Includes design, data replication, concurrency control and recovery. Implementation project. Prerequisite: CSE 7330.
8331. Data Mining. Examines advanced data mining topics, including temporal mining, web mining, spatial mining and text mining. Case studies and projects. Prerequisite: CSE 7330 and 7331.
8337. Information Retrieval. Examination of techniques used to store and retrieve unformatted/textual data. Also, current research topics in data mining, data warehousing, digital libraries, hypertext and multimedia data. Prerequisite: CSE 7330.
8340. Advanced Topics in Software Engineering. In-depth study of specific topics in software engineering techniques, methodologies and issues. Topics change from term to term and include advanced software reliability models, software development process models, advanced object-oriented design and cleanroom software engineering.
8343. Advanced Operating Systems. Theoretical and practical aspects of operating system design, implementation, system organization and resource management. Emphasis on distributed operating systems and advanced research issues. Prerequisite: CSE 7343.
8344. Computer Networks. Fundamentals of computer communications networks. Introduction to computer networking elements, communications architectures and protocols. Case studies. Design and analysis of computer networks: topology, LAN/MAN technology network interface, LAN/MAN performance internetworking and network management. Prerequisite: CSE 7343. CSE 7376 and 7381 recommended.
8349. Advanced Network and System Security. In-depth analysis of secure networks and systems, security audit, intrusion detection and prevention, storage security, firewall configurations, security log analysis, DMZs, Honey pots, malicious codes, mobile and grid computing security.
8350. Algorithms II. Analysis of dynamic data structures, lower-bound theory, problem equivalence and reducibility, complexity theory, probabilistic algorithms, machine models of sequential and parallel computation and parallel algorithms. Prerequisite: CSE 7350.
8351. Computer Arithmetic. Number presentation and algorithms for arithmetic unit design, redundant radix representation, highly parallel add/multiply/divide/square root algorithms, IEEE floating-point standard, directed roundings, base conversion, VLSI floating-point units, vector and matrix arithmetic, residue arithmetic, rational arithmetic and online arithmetic. Prerequisites: Knowledge of computer organization, data structures and algorithms, e.g. CSE 3358.
8352 (EE 8372). Cryptography and Data Security. Cryptography is the study of mathematical systems for solving two kinds of security problems on public channels: privacy and authentication. Covers the theory and practice of both classical and modern cryptographic systems. The fundamental issues involved in the analysis and design of a modern cryptographic system will be identified or studied. Prerequisite: STAT (CSE) 4340 or equivalent.
8354. Computational Biology. Math and computer science have changed the face of modern biological sciences and influenced a whole new field of computational biology (also related terms: computational molecular biology and bioinformatics). Computational biology derives knowledge from algorithmic treatment and computer analysis of biological data. An introduction to the basic computational methods and algorithms used for the problems arising in biology. Covers sequence alignment problems using dynamic programming, hidden Markov models, suffix trees and heuristics. Focuses on the computational approaches to genetic and physical mapping, DNA sequencing, assembly, gene prediction, protein structure and folding, motif finding, gene regulatory networks and pathways and evolutionary trees. Prerequisite: CSE 3358 or permission of the instructor.
8355. Graph Theory: Algorithms and Applications. Development of algorithmic and computational aspects of graph theory, with application of concepts and techniques to solving problems of connectivity, set covering, scheduling, shortest paths, traveling salesmen, network flow, matching and assignment. Prerequisite: CSE 7350 or permission of the instructor.
8357 (EE 8357). Design of CAD/CAE Tools. Concentrates on algorithm and software development techniques for design and implementation of CAD/CAE tools. Development of tools for VLSI and digital systems design. Includes database development to support design environments and representation, characteristics and design of synthesis, static analysis and dynamic analysis tools. Covers human interface issues and CAD/CAE output formats. Prerequisite: EE 7356 or experience with design using CAD/CAE tools and programming skills.
8358. Information Structures. A graduate-level data structures course that provides students a detailed hands-on examination of advanced data structures and their usage. During the first six weeks, covers advanced data structures, such as skip-lists, heaps, has tables and search structures and applies them in large problem-solving systems. During the following five weeks, covers classes, inheritance and polymorphism in large programming projects, as well as templates, and introduces the Standard Template Library (STL). During the last three weeks, covers TCL and TK and teaches techniques of building interfaces using TCL and TK. Extensive programming assignments in C and C++. Prerequisites: CSE 3358 and CSE 3342.
8375 (EE 8375). Coding Theory and Applications. Information theory concepts, including measure of information, mutual information and entropy. Algebra, including groups, rings, finite fields and algebra of polynomials. Algebraic codes, including linear codes, cyclic codes and BCH codes. Fire codes, including encoding/decoding logic. Arithmetic codes, including AN codes, separate adder and checker. Applications to CSE 8320.
8377. Fault-Tolerant Computation. Faults, errors and failures, hardware fault tolerance, reliability, availability, reliable distributed systems, checkpointing and recovery, atomic actions data and process resiliency, software fault tolerance, case studies. Prerequisite: Permission of the instructor.
8380. Parallel and Distributed Processing. Parallel and distributed processing is a fast-growing technology that permeates many aspects of computer science and engineering. Emphasizes the strong interaction between parallel and distributed algorithms, architectures and software. Includes parallelism analysis in numeric and non-numeric algorithms, array processors, associative processors, multiprocessors, marker-propagation networks, distributed operating systems, networks of workstations, Internet computing and case studies. Prerequisites: Computer architecture and a high-level programming language.
8383. Advanced Computer Architecture. Advanced topics in computer architecture and parallel processing. Prerequisites: CSE 7381 and 7380.
8386. Testing of VLSI Circuits. The objective of testing is to verify that the manufactured custom chips function correctly according to their specifications. Testing process includes fault modeling, mainly automated simulation, test pattern generation and testable and self-testing design synthesizing. Structured chips, such as memories, PLAs and FPGAs, are also tested for correctness. This course will survey the state-of-the-art test approaches used in industry and in other research environments. Prerequisites: Digital logic design, data structures and algorithms.
8387. CAD Methods in VLSI. Advanced topics in switching theory and CAD methods. The underlying theory of the course topics is emphasized in addition to their application. Particular emphasis on the representation and properties of discrete functions and the syntheses and verification problems. In addition to the prerequisites, students are expected to have proficiency using a modern programming language. Previous exposure to an HDL will also be highly beneficial, but it is not a strict prerequisite.
8388. Embedded Computing System Design. Embedded systems are generally part of complex systems. An embedded system carries out the computational subtasks of the main system. The computing systems within home appliances and automobiles are examples of such systems. This course mainly will cover the process of embedded computing system design under cost, power, performance and several system-specific restrictions.
8389. Foundations of Formal Verification and Validation. Detecting and correcting integrated circuit design errors before device fabrication is an increasingly complex and costly problem. A large amount of effort is expended in the design verification and validation process in industry. This course will survey the most common approaches used in industry and in other research environments. Emphasizes tradeoffs between formal methods and validation techniques and uses commercial state-of-the-art software tools. Includes equivalence checking, model checking, theorem proving and advanced topics in validation and simulation. Prerequisite: Programming Languages, Data Structure, Digital Logic Design II, Computer Architecture or consent of the instructor.
8(0-4)90, 8(0-4)93. Graduate Seminar. Special and intensive study of selective topics in computer science aimed at encouraging students to follow recent developments through regular critical reading of the literature.
8(1-4)94, 8(1-4)95. Selected Problems. Independent investigation of topics in computer science approved by the department chair and by the major professor. Prerequisite: 12 term hours of graduate credit.
7(0,1,2,3,6)96. Master’s Thesis. Variable credit, but not more than six term hours in a single term and not more than four in each summer term. Registration in several sections may be needed to obtain the desired number of thesis hours. For example, four term hours of thesis would require registration in CSE 7396 and CSE 7196.
8(0,1,2,3,6)90. Dissertation. Variable credit, but nor more than 15 term hours in a single term and not more than 10 term hours in the summer terms. Registration in several sections may be needed to obtain the desired number of dissertation hours. For example, 12 term hours of dissertation would require registration in CSE 8390 and 8990.
