1997-98 UAF Catalog

Degrees and Programs


Course Description Index


Computer Science

College of Science, Engineering and Mathematics
Department of Mathematical Sciences
(907) 474-7332

Degrees: B.S., M.S.

Minimum Requirements: B.S.: 120 credits; M.S.: 30 additional credits

The computer science program is administered by the Department of Mathematical Sciences within the College of Science, Engineering and Mathematics. Computer science is the study of information handling and its application to the problems of the world. Computing is widely used in support of activities in science, engineering, business, law, medicine, education, and the social sciences. The potential for employment is one of the highest in the entire range of subjects spanned by the College of Science, Engineering and Mathematics.

Both the B.S. and M.S. degrees follow the recommendations of the Association for Computing Machinery (ACM) and the Institute for Electrical and Electronic Engineers (IEEE). The B.S. degree is accredited by the Computer Sciences Accreditation Board, Inc. The curriculum for the B.S. in computer science consists of a core of courses which introduces the student to the fundamentals of computer programming, hardware, theory, and applications. Mathematics and engineering play critical roles in the core. Throughout the curriculum the emphasis is on problem solving and applications of general principles to real-world problems. A solid background in fundamentals enables the graduate not only to understand today's computers and their uses, but also to understand and participate in future developments.

One track of the M.S. Degree, the Technical track, follows the recommendations of the Association for Computing Machinery (ACM) and the Institute for Electrical and Electronic Engineering (IEEE). A second track, the Software Engineering track, is also available. This track is derived in part from recommendations of Carnegie Mellon University's Software Engineering Institute.

The intent of the M.S. degree in computer science is to provide breadth and depth in coursework and to culminate with a major unifying project. The Technical track is accessible to students who have completed a B.S. in C.S. at most institutions. Students from other universities who have completed a substantive portion of a Bachelors level computer science program may be admitted to the M.S. program. In such cases, undergraduate courses may be required to remedy deficiencies. The Software Engineering track is intended for software practitioners with a Bachelor's degree and at least two years of relevant experience.

For admission to the MS Computer Science program, both tracks require the GRE general exam. The Technical track requires the GRE Computer Science subject exam in addition. For teaching assistantship consideration, foreign applicants whose native language is not English must submit a TOEFL score of at least 600, and the department is currently giving preference to those applicants who also submit results of the Test of Spoken English (TSE).

Undergraduate Degree Requirements

A student may declare a major in Computer Science only when she/he is ready to matriculate into MATH 200, Calculus I.

Computer Science -- B.S. Degree

  1. Complete the general university requirements and B.S. degree requirements. A portion of the Perspectives on the Human Condition requirement should be met with ethics (PHIL 322X). The mathematics requirement for the B.S. should be met with MATH 200X-201X. A portion of the science requirement for the B.S. should be met with a one year physics sequence, PHYS 103X-104X or PHYS 211X-212X.
  2. Complete the following mathematics requirement: Credits
    MATH 307 -- Discrete Mathematical Structures (3 credits)
    STAT 300 -- Statistics (3 credits)
    One of the following:
    MATH 302 -- Differential Equations (3 credits)
    MATH 308 -- Abstract Algebra (3 credits)
    MATH 310 -- Numerical Analysis (3 credits)
    MATH 314 -- Linear Algebra (3 credits)
    MATH 371 -- Probability (3 credits)
    MATH 408 -- Mathematical Statistics (3 credits)
    MATH 460 -- Mathematical Modeling (3 credits)
  3. Complete the following major requirements:
    CS 201 -- Computer Programming I (3 credits)
    CS 202 -- Computer Programming II (3 credits)
    CS 301 -- Assembly Language Programming (3 credits)
    CS 311 -- Data Structures and Algorithms (3 credits)
    CS 321 -- Operating System (3 credits)
    CS 331 -- Programming Languages (3 credits)
    CS 402 -- Senior Project and Professional Practice (3 credits)
    CS 411 -- Analysis of Algorithms
         or CS 451 -- Automata and Formal Languages (3 credits)
    EE 341 -- Computer Organization I (4 credits)
    EE 342 -- Computer Organization II (4 credits)
    Upper Division electives: either CS courses or approved electives such as AIS 310, EE 443, EE 454 (9 credits)
  4. Total Credits Required (120 credits)

MINOR in Computer Science

  • CS 201 -- Computer Programming I (3 credits)
    CS 202 -- Computer Programming II (3 credits)
    Three upper division elective courses from CS, EE 341, AIS 310, MATH 310, MATH 460 or approved by CS advisor (9 credits)
    These courses can be used to simultaneously satisfy other major or general distribution requirements.

Graduate Degree Requirements

Computer Science -- M.S. Degree

Degree Requirements: (Technical and Software Engineering Tracks)

  1. Complete UAF degree requirements.
  2. Upon completion of core coursework, the candidate must pass a comprehensive examination based on the core material.
  3. Course Requirements (30 credits):
    At least 24 credits must be at the 600 level.
    Technical Track
    Required Courses (12 credits)
    CS 631 -- Programming Language Implementation (3 credits)
    CS 411 -- Analysis of Algorithms or
    CS 611 -- Complexity of Algorithms or
    CS 451 -- Automata and Formal Languages or
    CS 651 -- The Theory of Computation (3 credits)
    CS 448 -- System Architecture or
    CS 641 -- Advanced System Architecture (3 credits)
    CS 671 -- Software Engineering (3 credits)
    Approved electives (12 credits)
    CS 690-691 -- Graduate Seminar and Project (6 credits)
    Total Credits Required (30 credits)
    Software Engineering Track (30 credits):
    Required Courses (12 Credits) Credits
    CS 670 -- Computer Science for Software Engineers (3 credits)
    CS 671 -- Software Engineering (3 credits)
    CS 402 -- Senior Project and Professional Practice or
    ESM 609 -- Project Management (3 credits)
    ESM 608 -- Legal Principles for Engineering Mgmnt or
    BA 604 -- The Legal Environment of Business (3 credits)
    Approved Electives (12 credits)
    CS 690-691 -- Graduate Seminar and Project (6 credits)
    Total Credits Required (30 credits)