2000-2001 UAF Catalog

Degrees and Programs


Computer Science

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

Degrees: B.S., M.S.

Minimum Requirements for Degrees: B.S.: 120 credits; M.S.: 30 credits

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.

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 Computing Sciences Accreditation Board, Inc.

The computer science undergraduate program introduces the fundamentals of computer programming, hardware, theory and applications. Mathematics and engineering play critical roles in the core. Problem solving and applications of general principles to real-world problems are emphasized. A solid background in fundamentals enables the graduate to understand today's computers and their uses, and to understandand participate in future developments.

The graduate program in computer science has two tracks: technical and software engineering. The technical track follows the recommendations of the ACM and the IEEE. The software engineering track is derived in part from recommendations of Carnegie Mellon University's Software Engineering Institute.

The M.S. degree in computer science provides breadth and depth in coursework and culminates with a major unifying project. The technical track is available to students who have completed a B.S. in computer science at most institutions. Students from other universities who have completed a substantive portion of a bachelor's 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 M.S. 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 applicants who also submit results of the Test of Spoken English (TSE).

Undergraduate Program

Major

Computer Science -- B.S. Degree

  1. A student may declare a major in computer science only when ready to matriculate into MATH 200X.
  2. Complete the general university requirements. (As part of the core curriculum requirements, complete: MATH 200X* and any approved ethics course.)
  3. Complete the B.S. degree requirements. (As part of the B.S. degree requirements, complete: MATH 201X*; PHYS 103X and PHYS 104X, or PHYS 211X and PHYS 212X.)
  4. Complete the following:*
    MATH 307 -- Discrete Mathematics (3 credits)
    STAT 300 -- Statistics (3 credits)
  5. Complete 1 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 460W,O -- Mathematical Modeling (3 credits)
  6. Complete the following program (major) requirements:*
    CS 201 -- Computer Science I (3 credits)
    CS 202 -- Computer Science 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 402W,O -- Senior Project and Professional Practice (3 credits)
    CS 411 -- Analysis of Algorithms (3)
         or CS 451 -- Automata and Formal Languages (3) (3 credits)
    EE 341 -- Computer Organization I (4 credits)
    EE 342 -- Computer Organization II (4 credits)
    Electives in computer science at the 300- or 400-level
         or approved electives (including EE 443) (9 credits)
  7. Minimum credits required (120 credits)

* Student must earn a C grade or better in each course.

Minor

  1. Complete the following:
    CS 201 -- Computer Science I (3 credits)
    CS 202 -- Computer Science II (3 credits)
    Three electives at the 300- or 400-level from CS, EE 341, AIS 310, MATH 310, MATH 460; or electives approved by a computer science advisor (9 credits)
  2. Minimum credits required (15 credits)

Note: Courses completed to satisfy this minor can be used to simultaneously satisfy other major or general distribution requirements.

Graduate Program

Computer Science --M.S.Degree

Concentrations: Software Engineering, Technical

  1. Complete the general universityrequirements.
  2. Complete the master's degreerequirements.
  3. Complete a software engineering or technical concentration:

    Software Engineering

    1. Complete the following:
      CS 602 -- Project Management and Professional Practice (3 credits)
      CS 670 -- Computer Science for Software Engineers (3 credits)
      CS 671 -- Software Engineering (3 credits)
      CS 690 -- Graduate Seminar and Project (3 credits)
      CS 691 -- Graduate Seminar and Project (3 credits)
      ESM 608 -- Legal Principles for Engineering Management (3)
           or BA 604 -- The Legal Environment of Business (3) (3 credits)
      Approved electives (12 credits)
    2. Minimum credits required (30 credits)

    Technical

    1. Complete the following:
      CS 411 -- Analysis of Algorithms (3)
           or CS 451 -- Automata and Formal Languages (3)
           or CS 611 -- Complexity of Algorithms (3)
           or CS 651 -- The Theory of Computation (3) (3 credits)
      CS 441 -- System Architecture (3)
           or CS 641 -- Advanced Systems Architecture (3) (3 credits)
      CS 631 -- Programming Language Implementation (3 credits)
      CS 671 -- Software Engineering (3 credits)
      CS 690 -- Graduate Seminar and Project (3 credits)
      CS 691 -- Graduate Seminar and Project (3 credits)
      Approved electives (12 credits)
    2. Minimum credits required (30 credits)