| Previous | Next | Contents | Search | UA |
Professor David W. Cordes, Head
Office: 101 Houser Hall
The Department of Computer Science offers interdisciplinary graduate programs leading to the master of science and doctor of philosophy degrees. The programs are for students who are interested in professional careers in computer science. Two master's degree programs are available. The Plan I degree is a research-oriented degree, while Plan II is for students who are principally interested in design.
Research activity in the department includes active investigations in software engineering, algorithms, artificial intelligence, database management, networks, parallel and distributed computation, programming languages, and human-computer interaction. Laboratory facilities include networked connections to some of the world's most advanced computer systems.
In addition to meeting the admission requirements established by the Graduate School, students applying for graduate study in the department must also meet the following general requirements: (1) demonstrated competence in programming with assembly and several high-level languages; (2) completion of the equivalent of the department's undergraduate core computer science curriculum; and (3) demonstration, by an appropriate score on the general test of the Graduate Record Examination, of competence in the discipline of computer science.
Each student must submit scores from the Graduate Record Examination general test. This requirement may be waived for a student who graduated from an institution accredited by CSAB (Computer Science Accreditation Board) with a GPA of 3.0 or higher on a 4.0 scale. It is strongly recommended that each student submit a score from the GRE Subject Exam in Computer Science, particularly students who wish to be considered for funding opportunities.
In addition to the above requirements, the maximum number of hours a student may transfer from another institution and apply toward the M.S. degree is 6; for the Ph.D. degree, the maximum number of transferable hours is 18. Courses may be transferred only subject to the approval of the faculty of the Department of Computer Science.
Additional details of these requirements may be obtained directly from the department. Applicants who present most but not all of these qualifications may be considered for conditional admission.
Departmental degree requirements for the M.S. degree, which are in addition to those established by the College and by the Graduate School, are as follows for Plan I and Plan II students:
Each Plan I candidate must earn a minimum of 27 semester hours of credit for coursework, plus a 6-hour thesis under the direction of a faculty member.
Each Plan II candidate must earn a minimum of 33 semester hours of credit for coursework, which may include a 3-hour nonthesis project under the direction of a faculty member.
Unlike the general College of Engineering requirements, graduate credit may not be obtained for courses at the 400-level.
Both plans also have core and depth requirements, which can be found at the department's Web site: http://www.cs.ua.edu.
The doctor of philosophy degree is regarded as a research degree and is granted on the basis of scholarly proficiency, distinctive achievement in a special field, and the capacity for independent, original investigation. The first two criteria are tested in coursework and a qualifying examination, the last by a dissertation that must present the results of substantial research clearly and effectively. A combination of these accomplishments, rather than the mere accumulation of residency and course credits, is the essential consideration in awarding the Ph.D. degree.
A minimum of 48 semester hours of course credit is required. Approval of the selection of courses must be obtained from the student's adviser and supervisory committee, and the course of study as a whole must be unified so that all its parts contribute to an organized program of study and research. Unlike the general College of Engineering requirements, graduate credit may not be obtained for courses at the 400-level.
In addition, a student is expected to have completed at least 24 semester hours of dissertation research and to have fulfilled residency and other requirements of the Graduate School. Additional details of these requirements can be found at the department's Web site: http://www.cs.ua.edu.
CS 511 Introduction to Computing for Non-Majors. (3-0) Three hours.
Prerequisite: CS 124 or CS 412 or CS 512.
Introduction to computer science topics including machine organization, assembly language, and data structures. For graduate students with limited computer science backgrounds.
CS 512 C++ Programming for Non-Majors. (3-0) Three hours.
Prerequisite: Any computer science programming course.
Concepts of programming using the C++ programming language. For graduate students with limited computer science backgrounds.
CS 513 Introduction to Computer Science. (6-0) Six hours.
Prerequisites: CS 325 and CS 357, or CS 511 and CS 512.
Concentrated introduction to computer science for graduate students who wish to major in computer science. Fundamental computer science topics including programming languages, operating systems, and algorithms.
CS 514 Java Programming for Non-Majors. (3-0) Three hours.
Prerequisite: CS 512.
Concepts of programming using the Java programming language, with emphasis on the use of Java in the Internet environment.
CS 524 Java Programming. (3-0) Three hours.
Prerequisites: CS 325, CS 357, and ECE 383, or CS 513.
Object-oriented programming using the Java programming language and applications programming interfaces.
CS 535 Computer Graphics and Image Processing. (3-0) Three hours.
Prerequisite: CS 435 or CS 513.
Display memory, generation of points, vectors, etc. Interactive versus passive graphics, analog storage of images on microfilm, etc. Digitizing and digital storage, pattern recognition by features, syntax tables, and random nets. The mathematics of three dimensions, projections, and the hidden-line problem.
CS 567 Computer Systems Architecture. (3-0) Three hours. Same as ECE 584.
Prerequisite: ECE 480.
For description, see ECE 584.
CS 580 System Simulation. (3-0) Three hours.
Prerequisites: CS 480 or CS 513 and either GES 255 or ST 254.
Use of digital computer simulation in the analysis of large-scale systems. Comparison of discrete change simulation language; design of simulation experiments for optimization; validation of simulation models.
CS 591 Special Topics in Computer Science. (3-0) Three hours.
Formal courses that cover new and innovative topics in computer science and do not yet have their own course numbers. Specific course titles will be announced.
CS 592 Independent Study in Computer Science. Variable credit.
This course requires a written proposal that must be approved by the sponsoring faculty member before registration.
CS 595:596 Seminar. (1-0) One hour.
Current topics in computer science, oral communication with audiovisual aids, written reports, and literature searches.
CS 598 Research Not Related to Thesis. Variable credit.
CS 599 Master's Thesis Research. Variable credit.
CS 600 Foundations of Software Engineering. (3-0) Three hours.
Prerequisite: CS 415 or CS 513.
Introduction to formal software development techniques; theoretical foundations of specification, design, and testing; and programming methodologies and software reuse.
CS 601 Design and Analysis of Computer Algorithms. (3-0) Three hours.
Prerequisite: CS 470 or CS 513.
A study of algorithm design techniques; analysis of performance of algorithms; and fundamental principles and concepts of algorithm construction, proof, and analysis.
CS 602 Advanced Formal Languages and Machines. (3-0) Three hours.
Prerequisite: CS 470, CS 475, or CS 513.
Regular languages, context-free languages, recursive and recursively enumerable languages, nondeterminism, and undecidability.
CS 603 Organization of Programming Languages. (3-0) Three hours.
Prerequisite: CS 403 or CS 513.
Design and implementation of programming languages; syntax and translation; semantic structures and run-time representations; data, operations, control structures, and storage management.
CS 605 Theory of Artificial Intelligence. (3-0) Three hours.
Prerequisite: CS 465 or CS 513.
Concepts of artificial intelligence, with emphasis on problem solving, knowledge representation, logic and deduction, and machine learning.
CS 606 Analysis of Operating Systems. (3-0) Three hours.
Prerequisite: CS 426 or CS 513.
Design of operating systems; advanced examination of synchronization, deadlock, virtual memory, and security; and parallel and distributed systems.
CS 607 Software User Interface Design and Analysis. (3-0) Three hours.
Prerequisites: CS 407 or CS 513.
Concepts of the human-computer interface, emphasizing the software aspects. Dialog styles, form models, user documentation, and the evaluation of human-computer software interfaces.
CS 609 Database Management. (3-0) Three hours.
Prerequisite: CS 457 or CS 513.
Data model theory, comparison of existing database systems, implementation technology, selection, evaluation techniques, integrity, security, authorization and protection, and hardware architecture.
CS 610 Introduction to Cognitive Science. (3-0) Three hours.
Prerequisite: CS 465 or CS 513.
This course introduces the basic concepts of cognitive science. It involves cross-disciplinary study of cognitive processes in humans and machines. It explores the possibility of building truly intelligent systems.
CS 611 Computer Systems Resource Management. (3-0) Three hours.
Prerequisite: CS 513.
Hardware configurations; equipment selection and replacement; and economic analysis and feasibility studies. Software procurement and libraries. System accounting, user services, and utilities. Budgeting and costing practices. Performance analysis. Managing operations personnel.
CS 613 Computer Communications and Networks. (3-0) Three hours.
Prerequisite: CS 426 or CS 513 and either GES 255 or ST 254.
Study of computer networks, including telecommunications and related data transmission techniques. Network philosophy, design, and implementation.
CS 614 Theory and Construction of Compilers. (3-0) Three hours.
Prerequisite: CS 434 or CS 513.
Definition and specification of language syntax and semantics, lexical scans, operational notations, and compilation methods. Compiler writing systems. A formal approach to compiler theory.
CS 620 Information Storage and Retrieval. (3-0) Three hours.
Prerequisite: CS 609.
Natural language processing; analysis of textual material by statistical, syntactic, and logical methods; retrieval system models, dictionary construction, query processing, file structures, and content analysis; automatic retrieval systems and question-answering systems; and evaluation of retrieval effectiveness.
CS 626 Distributed Computing Systems. (3-0) Three hours.
Prerequisite: CS 606.
An advanced treatment of the theory and practice of constructing distributed systems, in which concurrent processes communicate by exchanging messages.
CS 630 Advanced Software Engineering Principles. (3-0) Three hours.
Prerequisite: CS 600.
Advanced study in theoretical foundations of software engineering: software process modeling, metrics, and cost estimation; formal specifications; testing and verification techniques; exposure to research methods.
CS 631 Software Engineering Practice and Experience. (3-0) Three hours.
Prerequisite: CS 600.
Introduction to the application of software engineering principles to large-scale programming projects. Emphasis is on object-based construction, CASE tools, and the Ada programming language.
CS 651 Object-Oriented and Intelligent Database Systems. (3-0) Three hours.
Prerequisite: CS 609.
Research- and design-oriented combination of the concepts of the traditional databases (relational, networked, and hierarchical) with developing concepts such as object-oriented and intelligent databases.
CS 661 Expert Systems. (3-0) Three hours.
Prerequisite: CS 605.
Advanced study of the development of expert systems. Programming technologies for designing, building, implementing, and testing expert systems are included.
CS 662 Advanced Neural Computation. (3-0) Three hours.
Prerequisite: CS 605, AEM 587, or equivalent; or permission of the instructor.
A study of artificial neural systems on computers, including modern theories of learning and neural processing. Emphasis is on neural network architectures with methodologies for designing, building, and implementing such systems.
CS 663 Connectionist Models. (3-0) Three hours.
Prerequisite: CS 610.
This course covers recent developments in research in connectionist models, especially in integrating symbolic processing and rule-based reasoning.
CS 664 Advanced Cognitive Science. (3-0) Three hours.
Prerequisite: CS 610.
This course presents some of the most important computational models in cognitive science. It contains basic approaches and methodologies for studying cognition, and it extends to the exploration of several fundamental cognitive functions.
CS 665 Fuzzy Set Theory. (3-0) Three hours.
Prerequisite: CS 605.
This course covers the various issues of uncertainty, information theory, and system complexity from a perspective based on fuzzy set theory. Mathematical foundations of fuzzy sets, various aspects of fuzzy relations, and fuzzy measures and their relation to information theory are discussed.
CS 670 Advanced Algorithms and Data Structures. (3-0) Three hours.
Prerequisite: CS 601.
This course presents selected advanced topics related to design and analysis of algorithms and data structures.
CS 671 Graph Theory and Algorithms. (3-0) Three hours.
Prerequisite: CS 601 or MATH 550.
This course presents advanced algorithms for solving graph problems. Classical results from graph theory are introduced to motivate or explain these algorithms.
CS 672 Parallel Computation. (3-0) Three hours.
Prerequisite: CS 601 or ECE 684.
This course presents techniques for designing and analyzing algorithms for many models of parallel computation.
CS 673 Computational Complexity. (3-0) Three hours.
Prerequisite: CS 601 or CS 602.
This course presents techniques for determining that certain problems are inherently difficult or even impossible to solve on any computer.
CS 686 Advanced Computer-Human Interface. (3-0) Three hours.
Prerequisite: CS 607.
Corequisite: IE 533.
Advanced topics in the computer-human interface, including graphical user interfaces, computer-supported cooperative work, different interface styles, user interface management systems, online documentation, and hypermedia. Software user interface design philosophy and evaluation methods.
CS 691 Special Topics in Computer Science. (3-0) Three hours.
Formal courses that cover new and innovative topics in computer science and do not yet have their own numbers; specific course titles will be announced.
CS 692 Independent Study in Computer Science. Variable credit.
This course requires a written proposal that must be approved by the sponsoring faculty member before registration.
CS 695:696 Seminar. (1-0) One hour.
Formal presentations at departmental colloquium series. Enrollment must be approved by major professor.
CS 699 Dissertation Research. Variable credit. Three-hour minimum.
| Top | Previous | Next | Contents | Search | UA |