May 18, 2024  
2017-2018 Undergraduate Catalog 
2017-2018 Undergraduate Catalog [ARCHIVED CATALOG]

Computer Science and Engineering

Return to {$returnto_text} Return to: Lyle School of Engineering

Professor Mitchell A. Thornton, Chair

Professors: Frederick R. Chang, Ira Greenberg, David W. Matula, Sukumaran V.S. Nair, Mitchell A. Thornton, Jeff Tian
Associate Professors: Jennifer L. Dworak, LiGuo Huang
Assistant Professor: Eric C. Larson
Senior Lecturer: Frank P. Coyle
Lecturer: Donald E. Evans
Clinical Professors: Mark E. Fontenot, Theodore W. Manikas
Adjunct Faculty: Ben A. Calloni, Hakki C. Cankaya, John P. Carbone, Christian P. Christensen, Maya El Dayeh, Aaron L. Estes, Dennis J. Frailey, Manal Houri, Kenneth R. Howard, Mihaela Iridon, Bhanu Kapoor, Karl C. Lewis, D. Kall Loper, Matthew R. McBride, Lee D. McFearin, Freeman L. Moore, Padmaraj M.V. Nair, Luis G. Resendis, Gheorghe M. Spiride, Raymond E. Van Dyke

General Information

The Department of Computer Science and Engineering at SMU offers academic programs in computer engineering and computer science. Faculty specializations include computer architecture, data mining, knowledge engineering, software engineering, design and analysis of algorithms, parallel processing, database management, very large-scale integration computer-aided design methods, bioinformatics, computer networks, data and network security, mobile computing, theory of computation, and computer arithmetic. The educational objectives of the undergraduate programs in the CSE Department are to produce graduates who become productive professionals in an information technology discipline, pursue graduate or professional degrees, are successful entrepreneurs and managers, have a broad knowledge and wide range of interests, are valuable members of their general community and take a leadership role in their chosen field. As such, the programs are designed to ensure that graduates have the following abilities:

For graduates with degrees in computer science

  1. The ability to apply knowledge of computing and mathematics to software design and computing problems.
  2. The ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
  3. The ability to design, implement and evaluate a computer-based system, process, component or program to meet desired needs.
  4. The ability to function effectively on teams to accomplish a common goal.
  5. An understanding of professional, ethical, legal, security and social issues and responsibilities.
  6. The ability to communicate effectively with a range of audiences both in an oral and written form.
  7. The broad liberal arts education necessary to analyze the local and global impact of computing on individuals, organizations and society.
  8. The recognition of the need for and the ability to engage in continuing professional development and lifelong learning.
  9. The ability to use the techniques, skills and modern computing and software engineering tools necessary for computing practice.

For graduates with degrees in computer engineering

  1. The ability to apply knowledge of mathematics, science and engineering to software and hardware design problems.
  2. The ability to design and conduct experiments and to analyze and interpret data related to software and hardware design solutions.
  3. The ability to design a system, component or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability.
  4. The ability to function on multidisciplinary teams using current computer engineering tools and technologies.
  5. The ability to identify, formulate and solve engineering problems based on a fundamental understanding of concepts of computer engineering topics.
  6. An understanding of personal, professional and ethical responsibility.
  7. The ability to communicate effectively both in an oral and written form.
  8. The broad liberal arts education necessary to understand the impact of engineering solutions in a global, economic, environmental and societal context.
  9. The recognition of the need for and the ability to engage in lifelong learning.
  10. A knowledge of contemporary issues in computer engineering.
  11. The ability to use the techniques, skills and modern engineering tools necessary for computer engineering practice.

The CSE Department is engaged in an ongoing assessment process that evaluates the success in meeting these outcomes and enhances the development of the program.


The CSE Department offers undergraduate degrees as follows:

Bachelor of Science With a Major in Computer Science
Bachelor of Science With a Major in Computer Engineering
Bachelor of Arts With a Major in Computer Science

The undergraduate program in computer engineering is accredited by the Engineering Accreditation Commission of ABET, The undergraduate computer science program that awards the degree Bachelor of Science is accredited by the Computing Accreditation Commission of ABET. The undergraduate computer science program that awards the degree Bachelor of Arts is not accredited by a Commission of ABET.

Combined Degree Program

The Lyle School of Engineering offers a combined degree with the Meadows School of the Arts that leads to the degrees of B.A. in music and B.A. in computer science. Students should contact the department for additional details. Other combined majors can be arranged in consultation with an adviser.

4+1 Master’s Degree Program

The 4+1 Program allows students to complete both B.S. and M.S. degrees in five years. In the CSE Department, students may participate in the 4+1 Program in either the computer science or computer engineering area. Up to nine total credit hours of graduate courses may be applied toward fulfilling the student’s undergraduate program requirements in the final year of the baccalaureate degree. For additional information, students should contact the undergraduate program director.

Teaching Certification

Computer science majors interested in earning a teaching certificate should contact the Simmons School of Education for information on additional course and student teaching requirements.

Computer Facilities

Students in the CSE Department 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 that run OSF1 and Linux are available. A wireless network is also available throughout the CSE facilities. Windows-based PC labs are used during the first two years of coursework.

Curriculum in Computer Science

Computers play an ever-increasing role in society. Their use permeates all other academic disciplines and industrial arenas. Computer science is the study of the concepts and theory surrounding computer design and software construction. The SMU undergraduate program in computer science is designed to give students a solid understanding of these concepts, providing them with the technical knowledge needed to pursue either an advanced degree or a challenging career in the computer industry. The diversity of the Lyle School of Engineering computer environment exposes undergraduate computer science students to many different hardware and software systems.

To study and use computers, one must communicate with them through a variety of software interfaces, including programming languages. At SMU, the student will study several high-level languages – such as C++ and Java – that simplify the use of computers. In addition, students are exposed to a variety of computer-aided software engineering tools. Assembly languages and operating systems (such as Linux/UNIX) for microcomputers, mainframes and supercomputers are studied to provide an understanding of the architecture and organization of a digital computer. Mathematical topics such as discrete mathematics, graph theory, and Boolean and linear algebra are included in required undergraduate classes so that students may better understand the internal structure of the computer and the effective utilization of its languages.

Knowledge of the computer’s internal structure is important to understanding its capabilities. Thus, computer science students take courses in assembly language, computer logic and computer organization. Courses in systems programming and operating systems extend this structural study into the “software” of the computer. A required sequence of software engineering courses prepares students for advanced systems and software applications.

Many of the computer science core courses (CSE 2341 , CSE 3345 , CSE 3353 , CSE 4345 , CSE 4351  and CSE 4352 ) contain major project-oriented components to prepare students for applying their theoretical knowledge in teams.

The free electives in the B.A. in computer science program can be used to individually tailor a student’s study plan. For example, students who want a program even more intensive than the computer science major could satisfy their free electives with more computer science courses. Students interested in a broader education could satisfy these electives with courses offered by any department in the University.

The B.S. degree allows students to major in any of five concentration tracks or to pursue a general program where they can choose nine hours of computer science electives. The research track allows students to participate in an undergraduate research project of their choice. Like graduate students, undergraduate students majoring in research are required to perform independent research in an area of their choice (with a tenure-track faculty member as an adviser), document the research results and present the results of the research in a presentation open to the entire University community. The security track facilitates a more in-depth study of software security issues. The data-intensive computing track introduces concepts of data storage and analysis necessary for many modern applications. The software engineering track focuses on software design and testing. The game development track is provided in collaboration with SMU Guildhall.

Curriculum in Computer Engineering

Computer engineering deals with computers and computing systems. Computer engineers must be capable of addressing problems in hardware, software and algorithms, especially those problems whose solutions depend upon the interaction of these elements. Career opportunities for computer engineers require a broad range of knowledge. The design and analysis of logical and arithmetic processes that are the basis of computer science provide basic knowledge. Computer engineering courses are concentrated on the interacting nature of hardware and software. Basic electrical engineering is a clear foundation for computer engineers.




      Computer Science and Engineering
      Page: 1 | 2

      Return to {$returnto_text} Return to: Lyle School of Engineering