Department of Computer Science
- Overview
- Curriculum
- Computer Science Minor
- Computing Technology and Applications Minor
- Courses
cs.ua.edu
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 of Computer Science is to provide a broad-based, high-quality education in computer science. Our program will provide its graduates with a body of knowledge and an attitude toward learning that allows them to contribute positively to the profession and, ultimately, to society. In order to accomplish this, we must provide an academic experience sufficiently rich in both theory and practice to ensure the development of fundamentally sound, skilled graduates.
For our B.S. degree program in computer science, the following set of educational objectives describes what graduates are expected to attain within a few years following graduation:
- successfully engage in professional practice in the computing sciences or apply computer science tools to another field of interest
- pursue advanced study in the computing sciences
- behave in a professional and ethical manner
- communicate effectively both orally and in writing
- work successfully in both independent and team environments
In addition, the following set of student outcomes describes what students are expected to know and do by graduation:
- apply knowledge of computing and mathematics appropriate to the discipline
- analyze a problem and identify and define the computing requirements appropriate to its solution
- design, implement and evaluate a computer-based system, process, component or program to meet desired needs
- function effectively in teams to accomplish a common goal
- understand professional, ethical, legal, security and social issues and responsibilities
- communicate effectively with a range of audiences
- analyze the local and global impact of computing on individuals, organizations and society
- recognize the need for and engage in continuing professional development
- use current techniques, skills and tools necessary for computing practice
- apply mathematical foundations, algorithmic principles and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
- apply design and development principles in the construction of software systems of varying complexity
Concentration in Software Engineering
In addition to the standard Bachelor of Science in Computer Science degree, the department offers a Concentration in Software Engineering. This concentration will give students a deeper understanding of software engineering, a sub-discipline of Computer Science. This concentration requires 12 hours of CS 400 level software engineering classes, chosen from an approved list. Students who successfully complete this concentration will have the designation indicated in their transcripts.
To complete this concentration, a student must complete the following courses within the Computer Science portion of their B.S. curriculum:
Software Engineering
|
||
---|---|---|
CS 100 | CS I for Majors | 4 |
CS 101 | CS II for Majors | 4 |
CS 200 | Software Design and Engineering | 4 |
CS 201 | Data Structures and Algorithms | 4 |
CS 403 | Programming Languages | 3 |
CS 426 | Intro Operating Systems | 3 |
CS 457 | Database Management Systems | 3 |
CS 475 | Formal Languages & Machines | 3 |
CS 495 | Capstone Computing | 3 |
12 Hours of restricted software engineering elective courses from an approved list | 12 |
The current list of approved Software Engineering electives can be found on the Department of Computer Science's website.
This concentration does not require the student to take more than the 120 hours required for the B.S. degree, since six of these course hours replace six hours of CS electives, and the other six hours can be taken from the free electives in the B.S in CS curriculum.
Minors for Computer Science Majors
A minor is not required for students majoring in computer science. However, we strongly encourage all students to combine their individual interests with the free electives in the program to complete a minor in an area of interest to them. For example, computer science majors may earn a minor in mathematics by completing the mathematics courses required by the computer science curriculum plus Calculus III (MATH 227) and one additional math course numbered 300 or above, such as Theory Of Probability (MATH 355).
Computer Science Curriculum
Freshman | |||
---|---|---|---|
Fall | Hours | Spring | Hours |
EN 101 | 3 | EN 102 | 3 |
CS 100 (Computer Science I) | 4 | CS 101 (CS II for Majors) | 4 |
ENGR 111 or CS 121 | 1 | ENGR 103 | 3 |
MATH 125 | 4 | MATH 126 | 4 |
HI/SB elective1 | 3 | ||
15 | 14 | ||
Sophomore | |||
Fall | Hours | Spring | Hours |
CS 200 (Software Design and Engineering) | 4 | CS 201 (Data Structures & Algorithms) | 4 |
ECE 380 | 4 | ECE 383 | 4 |
MATH 301 | 3 | MATH 302 | 1 |
HU/L/FA elective1 | 3 | HU/L/FA elective1 | 3 |
Approved Nat Science (N) Elective* | 4 | ||
14 | 16 | ||
Junior | |||
Fall | Hours | Spring | Hours |
CS 403 | 3 | CS 426 | 3 |
CS 475 | 3 | CS 457 | 3 |
GES 255 or ST 450 | 3 | MATH 237 | 3 |
HI/SB Elective | 3 | Complete the sequence of HI/SB or HU/L/FA electives1 | 3 |
Free elective3 | 3 | Free elective3 | 3 |
15 | 15 | ||
Senior | |||
Fall | Hours | Spring | Hours |
Computer Science elective, 400 level | 3 | CS 495 | 3 |
Computer Science elective, 400 level | 3 | Approved natural science (N) elective (must complete a sequence when paired with either of the two N electives previously chosen)* | 4 |
Approved Natural Science (N) elective* | 4 | Free electives3 | 8 |
HU/L/FA or HI/SB elective to complete 3rd course in each category. | 3 | ||
Free elective3 | 3 | ||
16 | 15 | ||
Total Hours: 120 |
*Approved Natural Science (N) electives must be chosen from majors courses. Potential courses include:
AY 101 | Intro To Astronomy (Must take AY 102 to complete the N credit) | 3 |
AY 102 | Intro Astronomy Lab (Must take AY 101 to complete the N credit) | 1 |
AY 203 | Observational Astronomy (Must take AY 204 to complete the N credit) | 2 |
AY 204 | Solar System Astronomy (Must take AY 204 to complete the N credit) | 3 |
BSC 114 | Principles Of Biology I (Must take BSC 115) | 3 |
BSC 115 | Laboratory Biology I | 1 |
BSC 116 | Principles Biology II (Must take BSC 117) | 3 |
BSC 117 | Biology II Laboratory | 1 |
CH 101 or | General Chemistry | 4 |
CH 117 | Honors General Chemistry | |
CH 102 or | General Chemistry | 4 |
CH 118 | Honors General Chemistry | |
GEO 101 | The Dynamic Earth | 4 |
GEO 102 | The Earth Through Time | 4 |
GEO 105 | Sustainable Earth | 4 |
GY 101 | Atmospheric Proc & Patterns | 4 |
GY 102 | Earth Surface Processes | 4 |
PH 101 | General Physics I | 4 |
PH 102 | General Physics II | 4 |
PH 105 or | General Physics W/Calc I | 4 |
PH 125 | Honors Gen Ph W/Calculus | |
PH 106 or | Generl Physics W/Calc II | 4 |
PH 126 | Honors Gen Ph W/Calculus |
1Students must complete a sequence of two of the HU/L/FA or HI/SB elective courses from the same department.
2Students may substitute CS 499 Undergraduate Thesis Research for the capstone project course upon adviser approval.
3Free electives may be chosen from any course offered at UA, with the exception of CS 102 Microcomputer Applications and mathematics courses lower than MATH 125 Calculus I.
Computer Science Minor
Admission into the Minor
If students want or need a minor, they are expected to formally declare a minor. With the assistance of an adviser, students should complete the Declaration of Minor form before or during the third year of full-time enrollment.
Grade Point Average
A 2.0 grade point average in the minor is required. The minor GPA is calculated based on all courses applicable to the minor that the student has attempted at UA.
Minor Courses
The minor in computer science requires the successful completion of the following 20 semester hours:
Hours | ||
---|---|---|
CS 121 | The Discipline of Computing | 1 |
CS 100 | CS I for Majors (CS I) | 4 |
CS 101 | CS II for Majors (CS II for Majors) | 4 |
CS 200 | Software Design and Engineering (Software Design & Engineering) | 4 |
MATH 301 | Discrete Mathematics | 3 |
CS 201 | Data Structures and Algorithms (Data Structures & Algorithms) | 4 |
Total Hours | 20 |
Upper-level Residency
For A&S majors, a minimum of six hours of 300- or 400-level courses in the minor must be earned on this campus.
Ancillary Courses
MATH 125 | Calculus I | 4 |
MATH 302 | Topics in Discrete Mathematics | 1 |
Additional Minor Requirements
Students are responsible for ensuring that they have met all University, college, major and minor requirements. However, each student must meet with an adviser for the major department for academic planning and to be cleared for registration each semester. College advisers are also available for additional assistance with minor, college and University requirements.
Computing Technology and Applications Minor
Admission into the Minor
Students are expected to formally declare a minor. With the assistance of an adviser in the minor department, students should complete the Declaration of Minor form before or during the third year of full-time enrollment.
Grade Point Average
A 2.0 grade point average in the minor is required. The minor GPA is calculated based on all courses applicable to the minor that the student has attempted at UA.
Minor Courses
The minor in computing technology and applications (offered by the Department of Computer Science) is primarily designed for students who are seeking to become computer literate in today's rapidly advancing technology. This minor requires 18 hours of CS courses that are specifically designed for non-majors.
Requirements
Course Requirements | Hours | |
---|---|---|
CS 102 | Microcomputer Applications | 3 |
Six hours of one of the following four sequences: | 6 | |
CS 202 & CS 205 | Intro to the Internet and Web Site Design | |
CS 285 & CS 385 | Microcomputer Appl II and Prototyping In Visual Environm | |
CS 302 & CS 305 | Computerized Database Systems and Advanced Computerized Database Systems | |
CS 340 & CS 345 | Legal & Ethical Issues in Comp and Advanced Legal and Ethical Issues in Computing | |
Nine hours of additional courses offered by the Computer Science Department. Most students select their nine-hour courses from the list below: | 9 | |
CS 202 | Intro to the Internet | |
CS 205 | Web Site Design | |
CS 285 | Microcomputer Appl II | |
CS 302 | Computerized Database Systems | |
CS 305 | Advanced Computerized Database Systems | |
CS 340 | Legal & Ethical Issues in Comp | |
CS 345 | Advanced Legal and Ethical Issues in Computing | |
CS 385 | Prototyping In Visual Environm | |
CS 391 | Special Topics * | |
Total Hours | 18 |
*CS 391 Special Topics courses will count towards the 18 hours for this minor. However, they do not carry a C-designation and thus cannot be used towards your Core Curriculum requirements.
The following courses all carry a C-designation and thus can be used towards the completion of your Core Curriculum requirements: CS 202 Intro to the Internet, CS 205 Web Site Design, CS 285 Microcomputer Appl II, CS 302 Computerized Database Systems, CS 340 Legal & Ethical Issues in Comp, CS 345 Advanced Legal and Ethical Issues in Computing, and CS 385 Prototyping In Visual Environm.
Students who pass the CS 102 Microcomputer Applications placement test must still complete 18 hours of CS coursework.
For students in the College of Arts and Sciences, at least two of your CS courses must be 300 level or higher.
Upper-level Residency
A minimum of six hours of 300- or 400-level courses in the minor must be earned on this campus.
Ancillary Courses
This minor does not require ancillary courses.
Additional Minor Requirements
Students are responsible for ensuring that they have met all University, college, major and minor requirements. However, each student must meet with an adviser in the major department for academic planning and to be cleared for registration each semester. College advisers are also available for additional assistance with minor, college and University requirements.
Courses
CS 100. CS I for Majors. 4 sem. hrs.
A first course in programming for students majoring in computer science. Language concepts include primitives, variables, sequences, function, selection, iteration and recursion. Software engineering concepts include testing and debugging. System concepts include directories, paths, files, and text editing.
Prerequisite(s): (MATH 112 and MATH 113) or MATH 115 or UA ACT Subject Math Placement 565 or UA Placement Mathematics 440
Prerequisite(s) with concurrency: MATH 125 or MATH 126 or MATH 145 or MATH 146.
CS 101. CS II for Majors. 4 sem. hrs.
A second course in programming for students majoring in computer science. Using a high-level language, student use object-oriented practices to study fundamental data structures and algorithms. Issues such as computability, problem complexity and algorithm analysis, efficient searching and sorting, data structures, and the object-oriented programming paradigm are introduced and explained.
Prerequisite(s): (CS 100 or CBH 102 or (CS 150 and ECE 285)) and (MATH 125 or MATH 145).
CS 102. Microcomputer Applications. 3 sem. hrs.
Familiarization with Windows, fundamental and intermediate word processing commands, spreadsheet applications, and database management. (Credit for this course will not be applied to the requirements for a computer science degree).
CS 104. Computer Science Principles. 3 sem. hrs.
An introductory course that overviews the core principles of computer science from a broad spectrum of topics. The course content is focused on computing and its relation to creativity, abstraction, algorithms, programming, Big Data, Internet/networking, and societal impact. Students will work on team-based projects that explore topics in Big Data, investigate the impact of the internet, and create their own games and/or smartphone applications. This course is restricted to Math and Math Education majors only.
Prerequisite(s) with concurrency: MATH 112 or MATH 115 or MATH 125 or MATH 126 or MATH 145 or MATH 146.
CS 120. Business Programming I. 3 sem. hrs.
An introduction to programming. The topics include procedural information enabled problem formulation, design and development of business computer solutions. This course concentrates on the construction and testing of individual programs.
Prereq