For current class offerings, times, and additional information, visit the Office of the Registrar.
A first course for studying computers and information. Provides a foundation for using computers in other courses and curricula for research, communication and writing. Hands-on experience in productivity enhancement, software, hardware, systems development, uses of the Internet and World Wide Web, and future directions and trends for computers and information. Usually offered every term.
This course explores how computers enhance the creative process in virtually every aspect of the arts. Examples include computer graphics, multimedia computing in literature and art, synthetic music, and virtual reality systems for simulating stage productions. Usually offered every term.
Problem solving and algorithm development. Structured programming, basic data types, and canonical structures; arrays and subprograms; recursion. Social implications of computing. Elementary applications from business and science. Usually offered every term. Prerequisite: familiarity with using files, e-mail, and the World Wide Web.
Continuation of problem solving. Emphasis on larger programs built from modules. Introduction to abstract data structures: stacks, queues, graphs and trees and their implementations and associated algorithms. Elementary numerical methods. Usually offered every term. Prerequisite: CSC-280.
Basic concepts of computer architecture and organization. Assembly-language programming: instruction formats, addressing techniques, macros, and input/output. Program segmentation and linkage. The assembly process. Usually offered every term. Prerequisite: ITEC-234 or CSC-280.
Systems (3)
A geographic information system (GIS) is a system of hardware, software, data, people, organizations, and institutional arrangements for collecting, storing, analyzing, and disseminating information about areas of the earth. This course provides an introduction to GIS, GIS software, and applications of GIS. Usually offered every fall. Prerequisite: completion of the College Writing and English Competency Requirement, and familiarity with spreadsheets, e-mail, and the World Wide Web.
Logical circuit design, integrated circuits and digital functions, data representation, register transfer operations and microprogramming, basic computer organization, the central processor, and arithmetic operations. Usually offered every term. Prerequisite: completion of the College Writing and English Competency Requirement, and ITEC-234 or CSC-280.
Introduction to mathematical subjects required in computer science, such as graphs, sets and relations, logic, and recurrence. Usually offered every spring. Prerequisite: completion of the College Writing and English Competency Requirement, MATH-15x, and ITEC-235 or CSC-280.
Designed to teach scientific rigor in the use of computers and/or computational tools. Techniques from mathematics are introduced which lead to efficient algorithm design, algorithm analysis, data classification, data manipulation, and scientific computation. Includes data types, induction, recursion, sorting, searching, summation, optimization, asymptotic analysis, basic number theory, discrete probability, and parallel computing. Meets with MATH-360. Usually offered every fall. Prerequisite: CSC-280, CSC-281, MATH-221, and MATH-222.
Prerequisite: permission of instructor and department chair.
Topics vary by section, may be repeated for credit with different topic.
Design and implementation of simulation models for systems design and analysis. Emphasis on discrete stochastic systems and real-world business and government problems including resource allocation, queuing, inventory control, and industrial production. Overview of principal simulation languages and their applicability to problem solving. Usually offered every spring. Prerequisite: completion of the College Writing and English Competency Requirement, and ITEC-211 and ITEC-234, or CSC-280, and STAT-202.
This course presents and applies the web programming languages (HTML, DHTML, Javascript, Coldfusion), tools, and techniques used to develop professional web sites. The course moves step-by-step through the processes involved in planning, designing, launching, and maintaining successful web sites, with an emphasis on teamwork. Usually offered every term. Prerequisite: completion of the College Writing and English Competency Requirement, and ITEC-234 or CSC-280.
This course focuses on creating and manipulating databases using PL/SQL programming language for Oracle databases. Includes on-line SQL as well as batch programs using PS/SQL features such as IF statements, loops, stored procedures/functions, tables, cursors, stored packages, and stored triggers in creating and maintaining Oracle databases. Usually offered every summer. Prerequisite: completion of the College Writing and English Competency Requirement, and CSC-280 or ITEC-234, and familiarity with databases.
Current methods for analyzing and developing client-server systems and distributed information systems including: communication networks to support client-server architectures, international standards, concepts of hardware, software and data distribution, layered architectures, role of client, server, and middleware, data and transaction management in client-server environments, tools, and systems development. Usually offered every fall. Prerequisite: completion of the College Writing and English Competency Requirement, either CSC-330 or ITEC-455, and CSC-570.
CSC-490: Independent Study Project (1-6)
Prerequisite: permission of instructor and department chair.
Prerequisite: permission of instructor and department chair.
May be repeated for credit. Students complete a semester-long design project related to one or more areas of computer science. The focus is on the design process, documentation, and project presentation. Topics related to the professional practice of computer science, including careers, ethics, technical writing, and speaking, and contemporary issues in computer science are also covered. Usually offered every term. Prerequisite: CSC-280, CSC-281, and one other CSC course at the 300-level or above.
Copyright, patent, contract, tort, antitrust, privacy, and telecommunications issues. Usually offered every fall. Prerequisite: junior standing.
Design and analysis of efficient algorithms. Implementation and manipulation of data structures, including linked lists, stacks, queues, trees, and graphs. Memory management. Internal and external searching and sorting. Usually offered every term. Prerequisite: CSC-281 and junior standing in computer science, or graduate degree standing in computer science.
Study of desirable features and specifications of programming languages by investigation of data types, control structures, data flow, and run-time behavior of several languages, such as Prolog, Smalltalk, LISP, Ada, etc. At least one non-procedural language is studied in detail. Elements of compiling and interpreting. Usually offered every term. Prerequisite: CSC-281 and junior standing in computer science, or graduate degree standing in computer science.
This course provides the technical aspects of web application development, as well as the conceptual issues that affect this technology. Students develop an independent web-based project based on available authoring tools. Usually offered every term. Prerequisite: junior standing.
Investigation of the structure of a modern computing system. Alternative computer organizations are discussed so that students may appreciate the range of possible design choices. Assembly, linking, and loading are presented in detail. The relation between system software and computer organization is discussed. Usually offered every fall. Prerequisite: graduate degree or nondegree standing, or permission of department.
A study of object-oriented concepts and their use in systems development. This course analyzes abstractions called objects and develops analysis-level models of systems using objects. The properties of these object models are discussed and methods for systematic development of the models are studied. The translations of the analysis-level models into system design is performed to understand how systems can be realized in software implementations. Usually offered every fall. Prerequisite: junior standing.
Advanced use of an object-oriented programming language in the implementation of object-oriented systems. The language is studied in depth to see how advanced concepts are realized in the language, and is used to produce example systems. Emphasis is placed on the most recent advanced features. Usually offered once a year. Prerequisite: CSC-281 or equivalent.
An introduction to the basic concepts of computer networks. The architecture of data communication systems, the seven-layer model of a network, and the physical, data link, network, transport, and session layers are explored. Protocol algorithms are considered for the implementation of the various network layers. Usually offered alternate springs.
Historical background. Operating system functions and concepts: processes; processor allocation; memory management; virtual memory; I/O and files; protection; and design and implementation. Several existing operating systems are discussed. A group project to design and implement a small operating system is usually required. Usually offered every spring. Prerequisite: CSC-281 and junior standing in computer science, or graduate degree standing in computer science.
Application of computers to tasks usually thought to require human intelligence, such as game playing, problem solving, learning, pattern recognition, natural language understanding, and expert systems. Usually offered every spring. Prerequisite: junior standing.
Examination of database management systems, distributed systems, evaluation and selection of computer systems, privacy and security, and performance evaluation. This course provides a fundamental exposure to relational architecture through exercises in Microsoft Access and Oracle 8, including an introduction to SQL. Prerequisite: ITEC-234 or CSC-281, and either ITEC-211 or MMDD-200; or CSC-520.
Topics vary by section, may be repeated for credit with different topic. Rotating topics include artificial intelligence programming, computer graphics, the history of computing, and neural networks.
Prerequisite: permission of instructor and department chair.
Topics vary by section, may be repeated for credit with different topic.
Design and implementation of simulation systems. Covers discrete-event, stochastic simulations with examples chosen from a variety of fields. At least one simulation language is studied in detail. Prerequisite: admission to MS degree in an AU science program or permission of department.
A geographic information system (GIS) is a system of hardware, software, data, people, organizations, and institutional arrangements for collecting, storing, analyzing, and disseminating information about areas of the earth. This course provides an introduction to GIS, GIS software, and applications of GIS. Usually offered every fall. Prerequisite: familiarity with spreadsheets, e-mail, and the World Wide Web.
Advanced query capabilities and procedural constructs are described using SQL and PL/SQL. The theoretical foundation for using these capabilities is presented. Performance issues are discussed including indexing, key definitions, and data constraints. The role of application development in ease of use, query optimization, and system performance is discussed. Usually offered every fall. Prerequisite: CSC-570.
Database administration subjects including space allocation, recovery, security, configuration management, and performance tuning are discussed. Administration capabilities are presented using a real environment. Recovery issues include commit and rollback capabilities, check points, and data logs. Physical design and implementation constraints are addressed. Usually offered every spring. Prerequisite: CSC-570.
Topics vary by section, may be repeated for credit with different topic. Rotating topics include design and analysis of algorithms, expert systems, simulation and modeling, client server computing, and computer network design and analysis.
Prerequisite: permission of instructor and department chair.
Prerequisite: permission of instructor and department chair.
With guidance from their advisor and the project class coordinator, students select an application area in computer science where an open-ended problem can be identified. Students research the literature and current domain solutions in the application area. Projects are documented and defended. Prerequisite: Completion of minimum of 24 credits hours of graduate study in computer science.
Topics vary by section, may be repeated for credit with different topic.
Prerequisite: completion of 24 graduate credit hours and permission of department.



