Computing touches everyone’s daily lives – the results of computer scientists can be found not only in video games, smartphones and the latest animated movie, but also can be found in automobiles, airplanes and commonly used appliances, such as microwaves, televisions and most other electronic devices. Through studying computer science, students develop and extend logical thinking and problem‐solving skills useful in many career roles. Graduates in computer science 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 educational objectives describe 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

Students may substitute CS 499 Undergraduate Thesis Research for the capstone project course upon adviser approval. 

Freshman
FallHoursSpringHours
EN 1013EN 1023
CS 100 (Computer Science I)4CS 101 (CS II for Majors)4
ENGR 111 or CS 1211ENGR 1033
MATH 1254MATH 1264
HI/SB elective3 
 15 14
Sophomore
FallHoursSpringHours
CS 200 (Software Design and Engineering)4CS 201 (Data Structures & Algorithms)4
ECE 3804ECE 3834
MATH 3013MATH 3021
HU/L/FA elective3HU/L/FA elective3
 Approved Nat Science (N) Elective4
 14 16
Junior
FallHoursSpringHours
CS 4033CS 4263
CS 4753CS 4573
GES 255 or ST 4503MATH 2373
HI/SB Elective3Complete the sequence of HI/SB or HU/L/FA electives3
Free elective3Free elective3
 15 15
Senior
FallHoursSpringHours
Computer Science elective, 400 level3CS 4953
Computer Science elective, 400 level3Approved natural science (N) elective (must complete a sequence when paired with either of the two N electives previously chosen)4
Approved Natural Science (N) elective4Free electives8
HU/L/FA or HI/SB elective to complete 3rd course in each category.3 
Free elective3 
 16 15
Total Hours: 120
1

Students must complete a sequence of two of the HU/L/FA or HI/SB elective courses from the same department.

2

Free 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.

Approved Natural Science Electives

Approved Natural Science (N) electives must be chosen from majors courses. Potential courses include:

Hours
AY 101Intro To Astronomy (Must take AY 102 to complete the N credit)3
AY 102Intro Astronomy Lab (Must take AY 101 to complete the N credit)1
AY 203Observational Astronomy (Must take AY 204 to complete the N credit)2
AY 204Solar System Astronomy (Must take AY 204 to complete the N credit)3
BSC 114Principles Of Biology I (Must take BSC 115)3
BSC 115Laboratory Biology I1
BSC 116Principles Biology II (Must take BSC 117)3
BSC 117Biology II Laboratory1
CH 101 or General Chemistry4
CH 117 Honors General Chemistry
CH 102 or General Chemistry4
CH 118 Honors General Chemistry
GEO 101The Dynamic Earth4
GEO 102The Earth Through Time4
GEO 105Sustainable Earth4
GY 101Atmospheric Proc & Patterns4
GY 102Earth Surface Processes4
PH 101General Physics I4
PH 102General Physics II4
PH 105 or General Physics W/Calc I4
PH 125 Honors Gen Ph W/Calculus
PH 106 or General Physics W/Calc II4
PH 126 Honors Gen Ph W/Calculus II
Total Hours61

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 MATH 227 Calculus III and one additional math course numbered 300 or above, such as MATH 355 Theory Of Probability.

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 400 level software engineering classes, chosen from an approved list. Students who successfully complete this concentration will have the designation indicated on their transcripts.

The coursework required for the software engineering concentration is the same as what is shown above for the computer science degree. The six hours of 400-level CS electives and six of the free elective hours must be approved software engineering electives. 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.

Students with a computer science degree may work in a traditional software company such as Google, Microsoft or IBM or in many industries driven by automation needs.

Types of Jobs Accepted

Our students primarily are employed in the computer industry as software developers, software engineers and security and program analysts. Recent graduates are employed at places such as Amazon, Google, Intergraph, IBM, ADTRAN, Southern Company, AT&T and Walmart.

Jobs of Experienced Alumni

Our students advance to positions such as owner of their own company, software designer, network engineer and IT/IS supervisory roles. These jobs involve the direction and management of large-scale software development projects and their deployment.

Learn more about opportunities in this field at the Career Center