Department of Computer Science

The department of computer science at The University of Alabama is a part of the College of Engineering and offers a series of degrees that encompass the study of computers and algorithmic processes, including their foundational principles, their software designs, their various applications and their impact on society. We cover the full range of foundational ideas of computer science in our curriculum, with areas of strength concentrated in software engineering, wireless networks and robotics. Several recent grants from the National Science Foundation have supported development of a new curriculum that addresses computer science education in a way that promotes fresh and innovative pedagogy. We strongly encourage our undergraduate students to participant in research experiences, and we provide multiple opportunities that match student interests to ongoing research projects. Our faculty consists of practitioners who regularly interact with industry partners and bring that experience to the classroom.

Visit Department Website

Programs

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.

Faculty

Professor and Department Head
  • David Cordes
Professors
  • David Brown
  • Jeff Gray
  • Yang Xiao
Associate Professor
  • Monica Anderson
  • Richard Borie
  • Jeffrey Carver
  • Brandon Dixon
  • Xiaoyan Hong
  • John Lusth
  • Randy Smith
  • Susan Vrbsky
  • Jingyuan Zhang
Assistant Professors
  • Travis Atkison
  • Zhe Jiang
  • Aibek Musaev
Instructors
  • Leslie Dixon
  • Brandi Freeman
  • Kathleen Morris
  • Rebecca Odom-Bartel
  • Marc Skipwith
  • Maegan Slaten Biehn
  • Jennifer Watson
  • Kimberly Wright
Professor Emeritus
  • Allen Parrish

Courses

CS
100
Hours
4
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): (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
C
Hours
4
CS II for Majors

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)
Computer Science

View All Courses