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 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
  • Cordes, David W.
Professors
  • Brown, David B.
  • Gray, Jeff
  • Xiao, Yang
Associate Professor
  • Anderson, Monica
  • Borie, Richard B.
  • Carver, Jeffrey
  • Dixon, Brandon
  • Hong, Xiaoyan
  • Lusth, John
  • Smith, Randy K.
  • Vrbsky, Susan V.
  • Zhang, Jingyuan
Instructors
  • Rebecca Odom-Bartel
  • Dixon, Leslie
  • Hooper, Dana
  • Hooper, Ralph E.
  • Morris, Kathleen
  • Marc Skipwith
  • Watson, Jennifer
  • Wright, Kimberly

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

View All Courses