Skip to Content

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 Engineeringspacer

CS 100CS I for Majors4
CS 101CS II for Majors4
CS 200Software Design and Engineering4
CS 201Data Structures and Algorithms 4
CS 403Programming Languages3
CS 426Intro Operating Systems3
CS 457Database Management Systems3
CS 475Formal Languages & Machines3
CS 495Capstone Computing3
12 Hours of restricted software engineering elective courses from an approved list12

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
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 elective13 
 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 elective13HU/L/FA elective13
 Approved Nat Science (N) Elective*4
 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 electives13
Free elective33Free elective33
 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) elective*4Free electives38
HU/L/FA or HI/SB elective to complete 3rd course in each category.3 
Free elective33 
 16 15
Total Hours: 120

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

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 Generl Physics W/Calc II4
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 121The Discipline of Computing1
CS 100CS I for Majors (CS I)4
CS 101CS II for Majors (CS II for Majors)4
CS 200Software Design and Engineering (Software Design & Engineering)4
MATH 301Discrete Mathematics3
CS 201Data Structures and Algorithms (Data Structures & Algorithms)4
Total Hours20

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 125Calculus I4
MATH 302Topics in Discrete Mathematics1

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 102Microcomputer Applications3
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 Hours18

*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 InternetCS 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

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.