University Catalog 2005-2006

Computer Science

(Skip Outline)

Phone: 703-993-1530
Web: cs.gmu.edu

Faculty

Introduction

Computer science is the discipline concerned with the design, implementation, and maintenance of computer systems used in almost all other professions. Computer scientists must be well grounded in the technologies needed for the acquisition, representation, storage, transmission, transformation, and use of information in digital form, and capable of working closely with members of other professions associated with computing.

Course Work

The Computer Science Department offers all courses designated CS in the "Course Descriptions" chapter of this catalog as well as some of the IT courses.

Undergraduate Programs

Mason's bachelor's degree program in computer science is accredited by the Computing Accreditation Commission of the Accreditation Board for Engineering and Technology (ABET), 111 Market Place, Suite 1050, Baltimore, Md. 21202-4012.

Applied Computer Science, BS*

*subject to SCHEV approval

This program presents an innovative approach to the integration of computer science with disciplines where knowledge of computation provides the required expertise for an emerging sub-discipline.

In addition to university general education requirements, including humanities, social sciences and basic science requirements (if needed), the program requires foundation, core, and concentration courses as described below. These course requirements provide expertise in programming, computer systems, software engineering, formal methods, and analysis of algorithms.

Biology
Geography

Sample Schedule (Biology Concentration)

First semester
CS 112 Computer Science I 4
MATH 113 Analytic Geometry and Calculus I 4
ENGL 101 Composition 3
BIOL 213 Cell Structure and Function 4
Second semester
CS 211 Computer Science II 3
MATH 114 Analytic Geometry and Calculus II 4
BIOL 303 Animal Biology 4
CS 105 Computer Ethics and Society 1
COMM 100 Oral Communications 3
Third semester
CS 310 Computer Science III 3
ECE 303 Digital Logic 4
MATH 125 Discrete Mathematics 3
CHEM 211 General Chemistry I 4
Fourth semester
CS 330 Formal Methods and Models 3
BIOL 304 Plant Biology 4
CHEM 212 General Chemistry II 4
Western Civics Elective 3
Fifth semester
CS 365 Computer Systems Architecture 3
CS 367 Computer Systems and Programming 3
MATH 203 Matrix Algebra 3
BIOL 305/6 Biology of Micro-Organisms 4
Literature Elective 3
Sixth semester
CS 421 Introduction to Software Engineering 3
BIOL 311 Genetics 4
BIOL 482 Introduction to Molecular Biology 3
U.S. History elective 3
ENGL 302 Advanced Composition 3
Seventh semester
BIOL 385 Biotechnology & Genetic Engineering 3
BIOL 312 Biostatistics (or STAT 344) 3
Global Understanding 3
Social Science 3
CS 483 Data Structures and Analysis of Algorithms 3
Eighth semester
BIOL 580 Computer Applications in the Life Sciences 3
CS Senior 3
BIOL Senior 3
Synthesis 3
Elective 3

Sample Schedule (Geography Concentration)

First semester
CS 112 Computer Science I 4
MATH 113 Analytic Geometry and Calculus I 4
ENGL 101 Composition 3
GEOG 102 Physical Geography 3
Second semester
CS 211 Computer Science II 3
MATH 114 Analytic Geometry and Calculus II 4
GEOG 103 Human Geography 3
CS 105 Computer Ethics and Society 1
COMM 100 Oral Communications 3
Third semester
CS 310 Computer Science III 3
ECE 303 Digital Logic 4
MATH 125 Discrete Mathematics 3
Western Civics Elective 3
GEOG 101 Major World Regions 3
Fourth semester
CS 330 Formal Methods and Models 3
GEOG 311 Introduction to Geographic Information Systems 3
GEOG 110 Maps and Mapping 3
U.S. History Elective 3
MATH 203 Matrix Algebra 3
Fifth semester
CS 365 Computer Systems Architecture 3
CS 367 Computer Systems and Programming 3
GEOG 300 Quantitative Methods for Geographical Analysis 3
GEOG 412 Aerial Photography Interpretation 3
Natural Science 4
Sixth semester
CS 421 Introduction to Software Engineering 3
GEOG 310 Introduction to Digital Cartography 3
GEOG 416 Satellite Image Analysis 3
STAT 344 Introduction to Statistics 3
Literature Elective 3
Seventh semester
GEOG 411 Advanced Digital Cartography 3
GEOG Senior 3
CS 483 Data Structures and Analysis of Algorithms 3
ENGL 302 Advanced Composition 3
Elective 3
Eighth semester
GEOG 463 Applied Geographic Information Systems 3
CS Senior 3
Synthesis 3
Electives 6

Computer Science, BS

For the BS degree, students must complete 120 credits, including the university general education requirements and all of the following:

Students should consult the sample schedule below and ensure that course prerequisites are satisfied. Students should obtain computer-generated audits periodically to ensure that degree requirements are met.

Sample Schedule

First Semester
MATH 113 Analytic Geometry and Calculus I 4
CS 112 Computer Science I 4
ENGL 101 Composition 3
HIST 100 History of Western Civilization 3
Total 14
Second Semester
CS 211 Computer Science II 3
MATH 114 Analytic Geometry and Calculus II 4
HIST 120 U.S. History 3
CS 105 Computer Ethics and Society 1
Literature general education course 3
Total 14
Third Semester
ECE 303 Digital Design and Hardware/Software Integration 4
MATH 213 Analytic Geometry and Calculus III 3
General elective 3
Social and behavioral science general education 3
General elective 1
Total 14
Fourth Semester
CS 310 Computer Science III 3
MATH 125 Discrete Mathematics I 3
ENGL 302 Advanced Composition 3
Natural science course 4
COMM 100 Oral Communication or 104 Presenting with Technology 3
Total 16
Fifth Semester
CS 330 Formal Methods and Models 3
CS 421 Introduction to Software Engineering 3
CS 367 Computer Systems and Programming 3
MATH 203 Matrix Algebra 3
General elective 3
Total 15
Sixth Semester
CS 365 Computer Systems Architecture 3
Senior computer science course 3
STAT 344 Probability and Statistics for Engineers and Scientists I 3
Computer science-related elective 3
Arts, humanities, or social science elective 3
Total 15
Seventh Semester
Senior computer science course 3
CS 483 Data Structures and Analysis of Algorithms 3
OR 481 Numerical Methods in Engineering 3
Computer science-related elective 3
Natural science with lab 4
Total 16
Eighth Semester
Senior computer science courses (2) 6
Natural science with lab 4
Global understanding general education 3
CS 306 (Synthesis general education) 3
Total 16

Change of Major

Students requesting a change of major to computer science must have a GPA of at least 2.75 and have successfully completed two of these courses: CS 112, 211; MATH 113, 114, or 125.

Advanced Placement, Credit by Exam

Some students may receive credit for CS 112 or 211 by passing departmentally administered exams. In addition, a score of 3 on the Advanced Placement (AP) computer science exam qualifies the student for credit in CS 112. An AP score of 4, together with demonstrated competence in the programming language used in CS 211, qualifies the student for credit in CS 211. A score of 4 on the International Baccalaureate (IB) program computer science exam qualifies the student for credit in CS 112, and a score of 5 or more qualifies the student for credit in CS 211.

Writing-Intensive Requirement

Computer science majors complete the writing-intensive requirement through a sequence of projects and reports in CS 421 and 306. Faculty members provide feedback on students' expository writing.

Grades

A student must earn a C or better in any course intended to satisfy a prerequisite for a computer science course. Computer science majors may not use more than one course with an unsatisfactory grade toward departmental requirements.

Cooperative Education

A computer science major may participate in the Mason cooperative education program or in a work-study program in the Washington, D.C., metropolitan area.

BS/Accelerated MS in Computer Science

This program is for those interested in immediately continuing on to graduate studies in computer science.

Admission Requirements

Students in the BS program may apply for the BS/accelerated MS program if they have earned 90 undergraduate credits with an overall GPA of at least 3.50. Criteria for admission are identical to the criteria for admission to the MS program.

Degree Requirements

Students are permitted to take additional graduate core courses in their undergraduate programs. In such cases, they must satisfy core requirements for the MS by taking more advanced courses from the same concentration. For example, if CS 580 and 583 are the two overlapping core courses, and CS 540 is taken as part of the BS program, then the student needs to take a more advanced course from the concentration (systems) corresponding to CS 540 to satisfy the core requirements for the MS.

Degree Conferral

Students may apply to have the BS degree conferred during the semester in which they expect to complete BS requirements. At the completion of MS requirements, a master's degree is granted.

BS in Computer Science/Accelerated MS in Related Fields

The BS program in computer science coordinates with the MS programs in information systems, software engineering and telecommunications. For information on these accelerated programs, please refer to the MS program in the appropriate section of this catalog.

Minor in Computer Science

The minor requires the completion of 17 credits. Required courses are CS 105 or 305, 112, 211, and 310.

Two additional computer science courses should be selected from the following: CS 265, 330, 332, 363, 365, 421, 450, 455, 471, 480, and 483. Students should pay careful attention to prerequisites when selecting courses.

Computer Science, Computer Engineering Double Major

Computer science majors can earn a double major in computer science and computer engineering if they complete an additional 17 credits of courses beyond the 120 credits required for the computer science degree. The additional 17 credits must be part of an approved plan of study. For more information, go to ite.gmu.edu.

Post Bachelor in Computer Science Certificate

This certificate targets students who are either working on or possess an undergraduate degree in a technical (science or engineering) field but lack formal certification in the computer science field. The certificate also targets students who have shown an aptitude for graduate study but do not have the academic prerequisites required for admittance into a graduate MS CS program.

Admissions Requirements

Students must have programming experience at the level of CS 112 and 211, and either a BS in a technical field with a 3.00 GPA or higher, or current enrollment in a technical undergraduate major.

Degree Requirements

Basic Computer Science: CS 310, 330, 365, 367; and ECE 303

Math: MATH 125, 213

Completion of one of the following:

Graduate Programs

In addition to offering the MS and PhD in computer science, the department participates in the PhD in Information Technology.

Computer Science, MS

The graduate program leading to an MS in computer science prepares students for research and professional practice in computer science and related technologies. The program includes both fundamentals and advanced work in the core areas of algorithms, artificial intelligence, image processing and graphics, software engineering, and computer systems and networks. In addition, students have the opportunity to receive in-depth understanding in current technologies associated with adaptive systems, agent systems, distributed systems, embedded computing, graphics, image analysis, robotics, and web technologies. Certificates in computer networking, biometrics, and intelligent agents are available. Graduate classes are generally offered in the late afternoon and evening. Financial aid in the form of graduate assistantships may be available for full-time, degree-seeking students.

Plan of Study

Before the end of the second semester, students must have a plan of study approved by their academic advisor. This plan should be kept up to date by regular consultation with the academic advisor. A final, signed version of the plan must be included when the student submits a graduation application.

Admission Requirements

In addition to fulfilling Mason's admission requirements for graduate study, applicants must meet the following requirements:

Submit transcripts of all postsecondary education; a self-assessment form (included in the application package or available from the department); three letters of recommendation; and an official GRE report.

Degree Requirements

In addition to the general university requirements, completion of this program requires 30 credits of graduate courses, as follows:

Core Courses (12 credits):

Additional 18 credits of computer science or computer science-related courses. At least 15 of these credits must qualify as "advanced" by having suitable graduate courses as prerequisites. At least 12 of these credits must be in courses specifically designated CS. The courses must include entries in three different concentration areas. Courses listed under more than one concentration count only once for satisfying this requirement. (The Department of Computer Science maintains a list of computer science-related courses, indicating which are at an advanced level. These are available on the web and in the department office, as are lists of courses in the concentration areas.)

Project/Thesis (optional): 3 to 6 of the advanced credits may be replaced by a project (3 credits of CS 798) or a thesis (3 to 6 credits of CS 799). The project or thesis must be guided and approved by a committee of three appropriate faculty members, and presented at an appropriate -forum. Theses must meet relevant university requirements.

Certificate in Computer Networking

When brought together to form computer networks, the technologies of computing and communications exhibit a synergy that is revolutionizing our world. In-depth knowledge of the new discipline of computer networking increasingly is in demand as a basis for design and deployment of new information systems ranging from aspects of the global Internet to distributed systems in a variety of application domains. The courses for this certificate have been selected to provide a solid basis for understanding the core software and communications technologies upon which today's networks are based, and how they may be combined to create effective computer networks. Courses included cover both mainstream and leading-edge technology considerations, ensuring that students are prepared to function at the professional level in this fast-moving and technologically challenging field. Course work toward the graduate certificate can be used for credit toward the MS in computer science with a specialization in networks. However, the certificate also may be pursued concurrently with any of the graduate degree programs in IT&E.

Admission Requirements

The certificate program in computer networking is open to all students who are eligible for entrance into the master's degree program in computer science or in any scientific or engineering discipline at Mason.

Certificate Requirements

To obtain the certificate, candidates must complete the following courses, for a total of 15 credits:

Required of all students (6 credits):

Plus at least one of the following (3 or 6 credits):

Plus one or two of the following elective courses (3 or 6 credits):

Certificate in Biometrics

Biometrics, the science of recovering or verifying a person's identity, measures the physical characteristics that make people unique—including fingerprints, an eye's retina or iris, face, hand geometry, signature and voice—and uses those measurements for recognition or authentication.

Admission Requirements

The certificate is open to all students who are eligible for entrance into the master's degree program in computer science or in any scientific or engineering discipline at Mason.

Certificate Requirements

The certificate reflects depth rather than breadth in CS. It requires completion of 15 credits, and consists of two required courses and three additional courses . Project (3 credits) can substitute for one of the choice courses. One of the three choice courses can be taken from another department, with advisor's approval, provided that it belongs to the certificate's area.

Required Courses (6 credits):

Three from the following list (9 credits):

Certificate in Intelligent Agents

This certificate concentrates on the theory and practice of designing and developing systems that rely on knowledge and reasoning, generically called Intelligent Agents: expert systems, knowledge-based systems, knowledge-based decision support systems, expert database systems, and intelligent tutoring systems. Capturing, using, preserving, transferring, and sharing knowledge is of critical importance to any organization as the society evolves from an information society to a knowledge society. Therefore, the ability to design and develop intelligent agents for a wide variety of domains is becoming a highly valuable expertise. The courses in this certificate program cover both the basics of knowledge engineering and intelligent agents, as well as advanced research topics. Basic topics include knowledge representation, knowledge acquisition, heuristic search, problem-solving and planning, uncertainty reasoning, machine learning, natural language processing, design of expert systems, human-computer interaction, data mining, knowledge discovery, and knowledge management. Advanced topics include the development of multiagent systems, mixed-initiative intelligent systems, web-based intelligent agents, and distributed ontologies. Course work toward this certificate can be used for credit toward the MS or PhD in computer science or information technology. However, the certificate also may be pursued concurrently with any of the graduate degree programs in IT&E.

Admission Requirements

The program is open to all students who are eligible for entrance into the master's degree program in computer science, or in any scientific or engineering discipline at Mason.

Certificate Requirements

Students must complete the following courses, for a total of 15 credits:

Required (3 credits):

Plus four of the following elective courses (12 credits):

One of the four courses can be taken from another MS or PhD program in IT&E with advisor approval, provided that it belongs to the certificate area.

Computer Science, PhD

Because research in computer science at Mason is distributed across the Department of Computer Science and the Department of Information and Software Engineering, the PhD program is coordinated by a committee drawn from these two departments. The program is designed for breadth, depth, flexibility, and interaction. In recognition of the diverse forms of preparation and experience that students may possess, the foundational breadth requirement takes the form of a qualifying exam rather than specified course work. Standard courses are available to help prepare for these exams, but not all students need all the courses. In the next phase, individuals pursue unique combinations of courses, including individual study, selected with the guidance of their advisory committee. This advanced work leads to a comprehensive exam, and culminates in a dissertation. The general doctoral requirements of Mason apply to this program.

Admission Requirements

Applicants are evaluated on an individual basis by the PhD Admissions Committee. A master of science degree with a very strong background in computer science or a closely related field, such as software engineering or information systems, is required. The admission process involves submitting the application for admission, all postsecondary transcripts, GRE scores in computer science, three letters of reference, a resume, and a short statement of career goals and aspirations. Application forms are available online at www.admissions.gmu.edu.

Qualifying Exam

Students take a written qualifying exam, given twice a year, in the fall and spring semesters. This must be done before continuing beyond 36 credits. Students must choose four areas in which to be examined, one of which must be algorithms and theory. The other three are chosen from among the following: language processing and formal models, artificial intelligence, computer systems, software engineering, and databases and information engineering. The exams are pass/fail. To qualify, a student must pass all four exams. A student who passes three of four at the first attempt is permitted to retake the one failed exam. A student who passes fewer than three exam must retake the entire set of exams. Any retaking must occur within a year of the original exam. Failure after two attempts is grounds for dismissal from the program.

Course Requirements

In addition to courses taken to prepare for the qualifying exam, students must take at least eight courses, including two computer science courses at the 600 level or above; CS 700 Quantitative Methods and Experimental Design in Computer Science; and five other courses in computer science at the 700 level or above, chosen from a list maintained by the program.

Planning and Advising

Each student forms a faculty advisory committee to advise in establishing and carrying out a plan of study that meets the above requirements, and to help prepare the student properly for the dissertation phase. The members and chair of this advising committee must qualify as a dissertation committee, as specified below. Usually some or all members will later belong to the student's dissertation committee, so these individuals will be able to ensure relevance of the plan of study to an emerging dissertation topic.

Seminar

Each PhD student is required to attend a seminar series in the first year, at which faculty members present their own computer science research. The purpose of the seminar is to provide common experiences for new students, familiarize new students with the computer science research done at Mason, and help students choose a dissertation director and committee.

Comprehensive Exam

Each student must take a combined written and oral comprehensive exam after completion of all course requirements. The purpose of this exam is to evaluate the student's knowledge and ability to complete a PhD dissertation. The student must pass both the written and oral parts. Each part can be retaken no more than once if it is failed

Dissertation Committee Selection

The student forms a dissertation supervisory committee consisting of four or five appropriately qualified individuals, three of whom must be tenured or tenure-track faculty members in the Computer Science Department or Information and Software Engineering Department. Committee membership must transcend a single department. It is recommended that the committee include a member outside the two departments. The chair of the supervisory committee, who is also the dissertation director, must be tenured or tenure-track in IT&E. The committee must be approved by the chair of the Computer Science Department and the associate dean for graduate studies of IT&E.

Dissertation Proposal Defense

Each student prepares a written dissertation proposal, which is presented to the supervisory committee. The student may enroll in CS 998 Doctoral Dissertation Proposal to complete this effort. The committee assesses the proposal and assists the student in fulfilling the responsibility to have a clear topic with the potential to make a significant contribution to the field, along with a clear methodology. The committee also assesses whether the student has the intellectual background and resources to have a good chance of completing a successful dissertation in a timely manner. After successfully completing this requirement, the student is formally advanced to candidacy for the PhD degree.

Dissertation and Defense

The student must complete a minimum of 24 credits from CS 990, 998, and 999, with a minimum of 12 credits of CS 999. The work must represent an achievement in research; be a significant contribution to its field; and deemed publishable in refereed journals or conferences. The document must meet format guidelines specified by the Guide for Preparing Graduate Theses, Dissertations, and Projects.

The student prepares to defend the dissertation in consultation with the dissertation director. Usually, there is a predefense with only the committee members present. There must be a public defense at a date that is agreed upon by all members of the committee and preceded by at least two weeks of public announcement by the program. The dissertation must be made available to the committee at least two weeks in advance. If the candidate successfully defends the dissertation, the committee recommends that the final form of the dissertation be completed, and that the graduate faculty of Mason accept the candidate for the PhD.