THE UNIVERSITY OF ALABAMA GRADUATE CATALOG | |
Table of Contents > College of Engineering | |
11.6.5 DEPARTMENT OF COMPUTER SCIENCE (CS)
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 (thesis) degree is a research-oriented degree, while the Plan II degree is for students who are interested primarily in design.
Research activity in the department includes active investigations in software engineering, algorithms, database management, networks, parallel and distributed computation, programming languages, robotics, and human-computer interaction.
Admission Requirements
Each student must submit scores from the Graduate Record Examination general test. This requirement may be waived for a student who graduated with a GPA of 3.0 or higher on a 4.0 scale from an institution accredited by the CAC Accreditation Commission of ABET, 111 Market Place, Suite 1050, Baltimore, MD 21202-4012 telephone (410) 347-7700. 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.
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.
Degree Requirements:
Master of Science Departmental degree requirements for the MS 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:
Both plans also have core and depth requirements, which can be found at the website of the Department of Computer Science. Additional information is in the Degree Requirements section of this catalog.
Doctor of Philosophy 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 PhD degree.
A minimum of 48 semester hours of course credit is required. Graduate credit may not be obtained for courses at the 400-level. Approval of the selection of courses must be obtained from the student's advisor 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. A PhD Plan of Study (available at the Graduate School website) must be prepared and submitted to the Graduate School not later than the semester in which the student accumulates 30 hours of transfer and/or UA course work.
Students also must complete at least 24 semester hours of dissertation research and have fulfilled residency, passed the comprehensive (preliminary) and other exams. A department-approved Admission to Candidacy for the Doctoral Degree is submitted to the Graduate School as soon as possible after passing the comprehensive (preliminary) examination. See the website for the Department of Computer Science and Graduate Catalog (Sec. 4.11.3) for details on plan of study, admission to candidacy, and all other degree requirements.
All requirements for the PhD must be completed within 7 years (21 fall, spring and summer semesters) of the admission semester. See this catalog's time limits section for details.
Course Descriptions Prerequisite(s): MA 301, and either CS 470 or CS 570. This course applies techniques of discrete mathematics to computer science problems. Topics include logic, proofs, number theory, graphs, trees, sets, relations, counting, recurrences, generating functions, probability, and expectation.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 403.) This course provides a graduate level presentation of Programming Languages. Formal student of programming language specification, analysis, implementation, and run-time support structures; organization of programming languages with emphasis on language constructs and mechanisms; and study of non-programming paradigms.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 407.) Concepts of the human-computer interface, emphasizing the software aspects. Dialog styles, form models, user documentation and the evaluation of human-computer software interfaces.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 415.) This course provides a graduate level presentation of Software Design and Development. Introduction to software engineering; the software crisis, program life-cycle, software systems analysis techniques, theory and practice of design, structured techniques, program testing methodologies, programmer team organization, and program verification and synthesis.
Prerequisite(s): CS 315; and CS 350 or CS 351; and CS 360; and ECE 383. (Not open to students who have earned credit for CS 416.) Study of verification & validation and related processes. Topics include techniques and tools for software analysis, testing, and quality assurance.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 426.) This course provides a graduate level presentation of Introduction to Operating Systems. Study of basic operating system concepts with an emphasis on memory processor, device, and information management.
Prerequisite(s): CS 426. (Not open to students who have earned credit for CS 428.) An examination of computer security concepts, such as cryptographic tools, user authentication, access control, database security, intrusion detection, malicious software, denial of service, firewalls and intrusion prevention systems, trusted computing and multilevel security, buffer overflow, software security, physical and infrastructure security, human factors, and security auditing.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 434.) This course provides a graduate level presentation of Compiler construction. Syntax and semantics of procedure-oriented languages and translation techniques used in their compilation; includes computer implementation.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 435.) 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.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 438.) This course provides a graduate level presentation of Computer Communications and Networks. The student of the issues related to Computer communications. Topics include physical topologies, switching, error detection and correction, routing, congestion control, and connection management for global networks (such as the Internet) and local area networks (such as Ethernet). In addition, network programming and applications will be considered.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 457.) This course provides a graduate level presentation of Database Management Systems. Constituent parts of database management (design, creation, and manipulation of databases), client-server, relational, and object-oriented data models.
Prerequisite(s): CS 426. (Not open to students who have earned credit for CS 460.) Issues involved with the implementation of robot control software including motion, kinematics, simulation testing, sensor incorporation and unmodeled factors.
Same as ECE 584. For description, see ECE 584.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 470.) This course provides a graduate level presentation of Introduction to Computer Algorithms. Construction of efficient algorithms for computer implementation.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 475.) Regular expressions and finite automata. Context free grammars and pushdown automata. Recursively enumerable languages and turing machine. The Chomsky hierarchy.
Prerequisite(s): CS 315; and CS 350 or CS 351 or CS 352 or CS 325; and CS 360 or CS 357; and ECE 383. (Not open to students who have earned credit for CS 480.)
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 609 Database Management.
Three hours. CS 612 Advanced Data Structures. Three hours. Prerequisites: CS 357, and either CS 470 or CS 570 A graduate-level study of data structures. Topics include self-balancing trees binomial and Fibonacci heaps, disjoint sets, graphs and digraphs.
CS 613 Advanced Computer Communication and Networks. Three
hours. Prerequisites: CS 438/538 or CS 613 or ECE 406/506 or ECE 502. Other-consent of instructor. Network protocol design and analysis in wireless and mobile networks. Topics include ad hoc routing, mobility management, TCP over wireless links, quality of service and privacy, energy-efficient design, cross-layer design, and emerging applications.
CS 620
Information Storage and Retrieval. Three hours. Prerequisites: Graduate standing in Computer Science or Computer Engineering. An investigation of collaborative software that allows multiple users to interact with a single computer simultaneously through large-format displays. Topics include architectures, OS support, input devices, graphical user interfaces, APIs for collaborative software and migration of existing software to multiuser environments.
CS 665 Fuzzy Set Theory. Three hours. |
|
THE UNIVERSITY OF ALABAMA GRADUATE CATALOG |
:: TABLE OF CONTENTS |
The Graduate School | UA Catalogs | Graduate Publications | Contact |
|