CS-BA - Computer Science
Download as PDF
Academic Plan Code
Plan Type
Degree Designation
Career
CIP Code
Minimum Hours
Department(s)
Program Description
General Information
The educational objectives of the undergraduate programs in the CS 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.
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, a student will study high-level languages – such as Java – that simplify the use of computers. In addition, students will systematically study data structures and algorithms to gain an in-depth understanding of the design principles and solutions to real-world problems, and the data structures that support them. 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 and organization is important to understanding its capabilities. Beyond this hardware foundation course, a software foundation course will extend this structural study into the “software” of the computer. On top of this, a collection of courses will introduce students to modern computer science techniques in the fields of operating systems, networking and distributed system, databases, and software engineering. A senior design course will prepare students for advanced systems and software applications.
Many of the computer science courses contain major project- oriented components to prepare students for applying their 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.