Department of Computer Science

The Department of Computer Science offers multifaceted programs that encompass a broad range of topics. One end of the spectrum focuses on the theoretical capabilities of computers and on the properties of various general problems and algorithms. The other end of the spectrum deals with application-oriented techniques for the cyber security, design, and construction of machines as well as advanced applications of computers in all aspects of our society. 

Visit Department Website


The Department of Computer Science at The University of Alabama is part of the College of Engineering and offers programs in traditional Computer Science and in Cyber Security. This series of programs encompasses the study of computers and algorithmic processes, including their foundational principles, their software designs, their various applications, their security, and their impact on society.  We strongly encourage our undergraduate students to participate in research experiences, and we provide multiple opportunities that match student interests to ongoing research projects. Our faculty are experts in their fields who regularly interact with industry partners and bring that experience to the classroom.

Computer Science at The University of Alabama covers the full range of foundational ideas of computer science in our curriculum, with areas of strength concentrated in cyber security, wireless networks, robotics, software engineering and computer science education.  Computer science students not only design, implement, test and maintain individual software applications, but also develop and manage larger systems that integrate a wide range of components. Students graduating from our program find themselves working in careers such as software analysts, security specialists, database designers, software engineers, systems managers and program analysts.

Cyber Security is designed to provide a rigorous, technical degree that imparts the necessary knowledge, skills, and motivations to protect and defend digital information from attacks.  This degree was developed in response to the growing need for professionals skilled in the protection and defense of digital information.  Our Cyber Security graduates will possess the specific knowledge set needed to be on the forefront of designing, identifying and proposing new security strategies. 


Interim Department Head
  • Susan Vrbsky
  • Purushotham Bangalore
  • David Brown
  • Jeffrey Carver
  • Jeff Gray
  • Allen Parrish
  • Yang Xiao
Associate Professors
  • Monica Anderson
  • Travis Atkison
  • Brandon Dixon
  • Jiaqi Gong
  • Xiaoyan Hong
  • Randy Smith
  • Jingyuan Zhang
Assistant Professors
  • Chris Crawford
  • Lina Pu
  • Donald Yessick
  • Leslie Dixon
  • Brandi Gehrke
  • Matthew-Lane May
  • Kathleen Morris
  • Rebecca Odom-Bartel
  • Marc Skipwith
  • Maegan Slaten Biehn
  • Jennifer Watson
  • Kim Wright
Professor Emeritus
  • David Cordes
  • John Lusth


CS I for Majors

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): UA Placement Mathematics 440 or UA ACT Subject Math Placement 565 or ACT Mathematics 30 or SAT Mathematics 680 or SAT Mathematics (New) 710 or (Undergraduate level MATH 112 Minimum Grade of C- and Undergraduate level MATH 113 Minimum Grade of C-) or Undergraduate level MATH 115 Minimum Grade of C-
CS II for Majors

A second course in programming for students majoring in computer science. Using a high-level language, students 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. Computing proficiency is required for a passing grade in this course.

Prerequisite(s): (CS 100 or CS 110) and (MATH 125 or MATH 145)
Computer Science

View All Courses