Applied Computer Science

The Bachelor of Science degree in Applied Computer Science is designed for those students who want the knowledge and expertise of computer science to work in one of the many disciplines that require advanced computing techniques.  These fields do not merely "use" computing but create new and interesting problems for the computer scientist. 

Required Courses: ACS 110, ACS 111, ACS 210, ACS 220, ACS 310, ACS 320, ACS 330, ACS 410, ACS 420.

Required Contextual Support: MATH 151, MATH 152, MATH 201, MATH 321, MATH 360.

Courses

ACS 110: Programming I

Semester Hours 3.0

An introduction to the theory and development aspects of a high-level programming language.  The course covers programming methodologies, control structures, predefined and user-defined functions, input/output streams, control structures, logical expressions, enumeration, repetition, multidimensional array and string manipulation, structures, searching, sorting techniques, and advanced input/output.  Program analysis, design, development, and testing are emphasized. 

ACS 111: Programming II

Semester Hours 3.0

A continuation of Programming I to include advanced programming techniques, including classes and data abstractions, inheritance and composition, pointers, virtual functions, overloading, exception handling, and recursion.  Students analyze, design, implement, and test complex programs. 

ACS 210: Advanced Programming

Semester Hours 3.0

Provides students the opportunity to gain experience and training in an additional high-level language.  The course focuses on advanced topics, including objects, structures, applets, graphics, exception handling, files, and streaming.

ACS 220: Data Structures and Algorithms

Semester Hours 3.0

A course in fundamental data structures concepts and alternative techniques for solving real-world problems in computer science.  Concepts and applications covered include analysis of data representation and associated algorithms, including linked lists, queues, stacks, arrays, graphs, trees, searching, sorting, string matching, and the application of recursive techniques.  The course will place an emphasis on the implementation of various algorithms and data structures. 

ACS 310: Database Systems

Semester Hours 3.0

The fundamental concepts and structures necessary for the design and implementation of a database management system.  Students design, load, and query a database using tools such as E-R diagrams and SQL.  Also includes data normalization and file and index organization. 

ACS 320: Systems Analysis and Design

Semester Hours 3.0

Study of the analysis of computer-based information systems.  Emphasis is placed on analysis, specifications development, design, and development of information systems, including the software and databases that support the business needs of organizations.  Both data-oriented and process-oriented design methods are covered. Topics include the systems analyst, the systems development life cycle, methodologies, development technology, systems planning, project management, systems analysis, systems design, systems implementation, and systems support. 

ACS 330: Software Engineering

Semester Hours 3.0

Topics are presented that focus on the design and development techniques for large, high-quality software systems. They include project management issues, analysis and design methods, and approaches to testing. 

ACS 410: Operating Systems

Semester Hours 3.0

An overview of operating system functions and components.  Issues include process definition, scheduling, and memory management.  Various modern operating systems are compared. 

ACS 420: Analysis of Algorithms

Semester Hours 3.0

Analyzes computational resources for important problem types by alternative algorithms and their associated data structures, using mathematically rigorous techniques. Specific algorithms analyzed and improved.