Computer Science | AUM

Computer Science

Program Description

Do you want to know how to design and program the computers powering some of today’s greatest innovations? Ever wondered how your phone knows where the nearest Starbucks is, how Google’s self-driving car is even possible, or how your music and photos live in the cloud? Maybe you want to know how computers protect businesses — and people — and other cybersecurity issues. AUM’s Computer Science Program, with a curriculum based on the latest ACM/IEEE recommendations and an emphasis on high-performance computing,  will prepare you for a career in computer programming, networking, database management, multimedia design or technology architecture.

Points of Pride

  • You'll have access to the most powerful computational resources and expertise in the country through our partnership with the NSF-supported Extreme Science and Engineering Discovery Environment.
  • Computer Science faculty are engaged in the private sector, supporting research and partnerships with national and international user groups and initiatives.

Put Your Degree to Work

Note: While salaries vary depending on several factors including your level of experience, education and training, and geography and industry, here is a sampling of the future job growth and salaries in this area.

Employment of computer and information technology occupations is projected to grow 12 percent from 2014 to 2024, faster than the average for all other occupations. The most recent median annual wage for computer and information technology occupations $79,390 — higher than the median annual wage for all other occupations.

U. S. Bureau of Labor Statistics sample data


Median Pay

Job Growth through 2024

Computer and Information Research Scientist

 $108,360 per year

11% (2700 more jobs)

Computer Network Architects

 $98,430 per year

9% (12,700 more jobs)

Computer Analyst

$82,710 per year

21% (118,600 more jobs)

For More Information

Department of Mathematics and Computer Science
Auburn University at Montgomery
Goodwyn Hall 213

Soaring Warhawks

  • Jonathon Henson is a Software Development Engineer for Amazon.
  • Manal Abdalla earned an internship at Lawrence Livermore National Laboratory.

Program Overview

The course listings below are a representation of what this academic program requires. For a full review of this program in detail please see our official online catalog AND consult with an academic advisor. This listing does not include the core curriculum courses required for all majors and may not include some program-specific information, such as admissions, retention and termination standards.

Plan of Study


Course Name



Survey of Computer Applications

(3). Pr., MATH 0800 or MATH 1100 or MATH 1120 or MATH 1150. Applications such as text editing, spreadsheets and database systems. Includes an introduction to microcomputers and their hardware, communications, operating systems and programming. Includes hands-on laboratory sessions. No prior knowledge of computers is assumed.


Introduction to Computer Science

(3). Pr., MATH 800. Introduction to computer science for students with little or no programming experience. Students learn how to program and how to use computational techniques to solve problems. Topics include algorithms, simulation techniques, and use of software libraries.


Introduction to Computing for Engineers and Scientists

(3). Pr., MATH 1150. Computer programming in a high-level language (MATLAB programming), with emphasis on the use of the computer as a tool for engineering or science.


Structured Programming I

(3). Pr., MATH 1120 or MATH 1610. Timeshared computer systems; programming methodology and problem-solving techniques; numeric and string processing; static and dynamic data structures; procedures, functions and recursion; files. Conducted in the computer language C++.


Structured Programming II

(3). Pr., CSCI 2000, MATH 1620 (Coreq). Advanced programming techniques, including software development methodology, abstract data types and implementation and application of classic data structures such as stacks, queues and binary trees; programming assignments in Ada.


Unix and C

(3). Pr., CSCI 3000. An advanced survey of the C programming language and Unix-like operating systems. Emphasis on the implementation of algorithms in C and to use of the major Unix utilities.


Parallel Programming

(3). Pr., CSCI 3100. Introduction to parallel computer systems and its programming paradigms. Concepts of parallelism, parallel communication and coordination as well as parallel algorithms and errors in parallel codes are covered. It covers MPI, openMP, CUDA and openCL.


Introduction to Computer Architecture

(3). Pr., CSCI 2200. Introduction to the architecture and function of computers. Topics include microprocessors, memory, control units, storage, I/O systems, machine language, assembly language, high-level languages, functional organization, relationship between computer architecture and system software.


Fundamental Algorithm Design and Analysis

(3). Pr., CSCI 3400. Algorithms for standard computational problems; design and implementation of efficient algorithms; mathematical analysis of algorithm efficiency


Ethics in Computer Science

(3). Pr., ENGL 1010 and CSCI 3600. This course focuses on the social, legal, ethical and cultural issues involved in the deployment and use of computer technology. Includes information about code of ethics documents produced by national and international professional societies and organizations.


Software Components

(3). Pr., CSCI 3400. The abstraction and implementation of reusable computer software components with applications to data structures and algorithms and to the engineering of large, software-intensive programs. Uses Ada; assumes a background in fundamentals of Ada.


Theory of Formal Languages

(3). Pr., CSCI 3000. Mathematical models of regular sets, context-free languages and Turing machines; deterministic and non-deterministic models, closure properties, normal forms and applications.


Introduction to Operating Systems

(3). Pr., CSCI 3100 and CSCI 3300. An introduction to fundamental concepts in operating systems. Topics include process management, main memory management, virtual memory, I/O and device drivers, file systems, secondary storage management, introduction to critical sections and deadlocks.


Network Systems

(3). Pr., CSCI 3000 and CSCI 3300. Focuses on fundamental concepts of modern network systems, network architecture/organization and network communication (e.g. OSI and TCP/IP models). Topics include wireless networks, switching and routing, congestion, internet traffic, and network security.


Distributed Computing

(3). Pr., CSCI 3100 and CSCI 3300. This course discusses the fundamentals of distributed systems. Systems that can harness idle CPU cycles and storage spaces of many networked systems, client-server applications, concepts of Grid and Cloud computing are introduced.


Data Intensive Computing

(3). Pr., CSCI 3770 and CSCI 4400. This course covers a spectrum of topics from core techniques in relational data management to highly scalable data processing using parallel database systems such as principles of query processing, data storage, scalable data processing, and concurrency control.


Mobile Computing

(3). Pr., CSCI 4100. This course introduces smart phone or tablet device programming on platforms using Apple iOS or Android. A brief introduction to Objective-C (iOS), Java (Android), HTML5, PHP, Javascript, etc. This course is a hands-on example oriented course.


Computer Graphics

(3). Pr., CSCI 3400 and MATH 2660. The architecture of graphics systems is introduced, 2-and 3-D transformations, matrix formulations, and concatenation. Clipping and windowing. Data structures for graphics systems, segmented display files, rings, etc. Hidden line and surface elimination. Shading


Computer Science Internship

(3). Pr., permission of instructor. Qualified students will be jointly supervised by faculty and computer professionals. Internship allows students to gain industrial work experience


Senior Seminar in Computer Science

(3). Pr., ENGL 1010 and permission of instructor. Student is guided in the presentation of a technical topic and completes an appropriate project. Occupational and employment information and guidance is offered.


Special Topics in Computer Science

(1-3). Pr., permission of instructor. The student works under the direction of a staff member on some topic of mutual interest. With the approval of the mathematics department head, may be taken pass/fail.