[College of Engineering]DEPARTMENT OF COMPUTER SCIENCE (CS)
Professor David W. Cordes, Department Head
Office: 101 Houser Hall
Computer science is a multifaceted discipline that encompasses a broad range of topics. At one end of the spectrum, computer science focuses on the theoretical capabilities of computers and on the properties of various general problems and algorithms. At the other, applications-oriented end of the spectrum, computer science deals with techniques for the design and construction of machines and with advanced applications of computers in all aspects of our society. Graduates of the program will be prepared for admission to graduate study or for immediate employment in business, industry, or government positions involving computer systems and techniques.
Program Objectives
The mission of the department's undergraduate degree program is to provide a broad-based, high-quality education in computer science. Our program should provide its graduates with a body of knowledge and an attitude toward learning that will enable them to contribute positively to the profession, and ultimately, to society itself. In order to accomplish this task, we must provide an academic experience that is sufficiently rich in both theory and practice to ensure the development of fundamentally sound, skilled graduates. Specifically, we must put into place a continuously improving program of study that ensures our students possess
- a solid foundation in the fundamentals of our discipline
- the ability to synthesize diverse knowledge bases to create solutions to pressing technical problems
- the ability to recognize and define problems, develop and evaluate alternative solutions, and implement a solution
- an organized approach to problem-solving, based on scientific method
- the ability to speak and write effectively, thus permitting them to communicate their knowledge to others
- an appreciation for the ethical and social implications of their work and for the discipline as a whole
- a commitment to lifelong learning
Laboratories. In addition to the University's central computer facilities, computer science students have access to a wide range of resources at both the College and departmental level. The PCs and workstations are fully networked, providing access to other Internet computing resources within the University and across the country. The department also maintains its own dedicated PC laboratory used for closed lab sessions in the introductory computer science courses. Additionally, the department's laboratories house a variety of special-purpose computing equipment.
Requirements for the minor in computer science. The department offers three distinct minor programs, each designed to meet the needs of a particular set of students. These minors include (1) a science-based minor in computer science that focuses on the fundamentals of the discipline; (2) a minor in computing technology and applications that emphasizes the use of computing technology in today's workplace; and (3) a minor in computer software systems (designed primarily for MIS students).
A minor in computer science requires 20 hours, including
CS 114:116,
CS 124,
CS 325,
CS 357,
ECE 380, and
ECE 383. Students considering graduate work in computer science should include
CS 403,
CS 426, and
CS 470 in their programs. In addition, they are advised to take
ST 410 and
ST 411.
A minor in computing technology and applications requires 18 hours, including
CS 102,
CS 466, and any four other CS courses (12 hours).
A minor in computer software systems (designed primarily for MIS students) requires 19 hours, including
CS 114:116,
CS 124,
CS 313,
CS 325,
CS 385, and
CS 415.
Minors for computer science majors. Currently, all computer science majors minor in mathematics simply by completing the mathematics courses required in the computer science curriculum (a "C" average in the required math courses must be maintained).
Policy on the Core Curriculum. All students in computer science must complete the standard University's Core Curriculum in order to graduate. CS majors are not allowed to use the Core Curriculum exceptions granted for other engineering majors. In addition, students majoring in computer science are not allowed to count more than six hours from any one discipline in either their HU/L/FA or their HI/SB courses.
Policy on repeating courses. All College of Engineering policies concerning admission and retention are enforced for all computer science majors, whether they are enrolled through the College of Engineering or through the College of Arts and Sciences.
In addition, computer science majors must earn a "C" or higher in all computer science, mathematics, physics, electrical engineering, and statistics courses required in the major.
Policy on CS 114:116. CS 114 and
CS 116 are corequisites and must be taken simultaneously. A student may not register for the first time for one course in the pair without registering for the other. For students enrolled in CS 114:116, withdrawal from one course requires withdrawal from the other. For example, if a student is enrolled in CS 114 and CS 116 and withdraws from CS 116, the student must withdraw from CS 114 as well. If a student receives a grade below "C" in either CS 114 or CS 116, the student may retake the course in which the grade below "C" was earned
without retaking the corequisite.
Graduate programs. The graduate programs leading to the master of science and doctor of philosophy in computer science degrees are broadly based and designed for students who are primarily interested in careers in computer science. Areas of specialization include algorithms, artificial intelligence, database systems, distributed systems, human-computer interfaces, neural networks, and software engineering. A student may also choose to concentrate in a field related to computer science. Please refer to the University of Alabama graduate catalog for details of these programs.
COMPUTER SCIENCE CURRICULUM
| FRESHMAN YEAR |
| First Semester |
Hours |
| COM 123 Public Speaking |
3 |
| CS 114 Introduction to Computer Programming |
3 |
| CS 116 Introduction to Computer Programming Laboratory |
1 |
| EN 101 English Composition I (FC) |
3 |
| MATH 125 Calculus I (MA) |
4 |
|
___ |
|
14 |
| |
| Second Semester |
| CS 124 Introduction to Computer Science (C) |
3 |
| EN 102 English Composition II (FC) |
3 |
| MATH 126 Calculus II (MA) |
4 |
| PH 105 General Physics with Calculus I (N) |
4 |
|
___ |
|
14 |
| |
| SOPHOMORE YEAR |
| First Semester |
| CS 325 Software Development and Systems |
3 |
| ECE 380 Digital Computer Fundamentals |
3 |
| MATH 227 Calculus III (MA) |
4 |
| PH 106 General Physics with Calculus II (N) |
4 |
|
___ |
|
14 |
| |
| Second Semester |
| CS 357 Data Structures (C) |
3 |
| ECE 383 Microcomputers (C) |
4 |
| MATH 301 Discrete Mathematics |
3 |
| Fine arts (FA) elective |
3 |
| History (HI) or behavioral sciences elective (must take one HI |
| course if completing in-depth sequence in L) |
3 |
|
___ |
|
16 |
| |
| JUNIOR YEAR |
| First Semester |
| CS 403 Programming Languages (W) |
3 |
| CS 470 Introduction to Computer Algorithms |
3 |
| Humanities (HU), literature (L), or fine arts (FA) elective (must take |
| one L course if completing in-depth sequence in HI) |
3 |
| ECE 480/ECE 481 Introduction to Computer Engineering |
4 |
| MATH 237 Applied Matrix Theory |
3 |
|
___ |
|
16 |
| |
| Second Semester |
| CS 426 Introduction to Operating Systems |
3 |
| CS 434 Compiler Construction |
3 |
| MATH 300 Introduction to Numerical Analysis |
3 |
| Humanities (HU) or fine arts (FA) elective (must take one L course if |
| completing in-depth sequence in HI) |
3 |
| Natural science elective (N) |
4 |
|
___ |
|
16 |
| |
| SENIOR YEAR |
| First Semester |
| CS 415 Software Design and Development |
3 |
| GES 255 Engineering Statistics I or ST 410 Concepts of Probability |
3 |
| Computer science electives, 400 level |
3 |
| Six hours of Core Curriculum courses, including a sequence in |
| either history (HI) or literature (L): |
| a) HI sequence course and HU/FA elective course or |
| b) L sequence course and HI/SB elective course |
6 |
|
___ |
|
15 |
| Second Semester |
| CS 440 Ethical and Societal Issues in Computer Science |
3 |
| GES 257 Engineering Statistics II or ST 411 Statistical Inference |
3 |
| Computer science elective, 400 level |
3 |
| Six hours of Core Curriculum courses, including a sequence in |
| either history (HI) or literature (L): |
| a) HI sequence course and HU/FA elective course or |
| b) L sequence course and HI/SB elective course |
6 |
|
___ |
|
15 |
| |
| Total: 120 hours |