Contact Staff About Us Department of Computer Science

Steps to a UAF CS Bachelor's Degree

This is an overview of the process for completing an ordinary BS in Computer Science (CS) at the Department of Computer Science at UAF. This page is derived from the UAF Catalog and department policy, which are the definitive, official sources.
  1. While in high school, take some hard classes like math, science, and engineering.  Develop good study habits: the ability to take good notes, ask good questions, and make good use of your time.  Advanced Placement (AP) courses area good way to do some challenging work and earn college credit while you're still in high school.
  2. In the middle of your senior year of high school, apply to the UAF bachelor's program and get accepted.  If you need money, apply for as many scholarships as possible--your high school guidance councellor can help you with this.
  3. Unless you have other housing nearby, we recommend you move in to the residence halls for your first year.  It's hard enough living away from home, and it's nice to just let Residence Life find you a roomate and set up the network, phone, power, water, and meals--at an apartment, you would have to arrange for all of these things yourself!  As a freshman, you'll participate in the EDGE program.
See the degree requirements in the catalog or in the CS BS Checklist.

For example, a typical CS bachelor's degree might look as listed below.  There are many options, but the CS and MATH courses are generally listed at the last possible time you can take them and still graduate in four years.  Pay particular attention to the courses on the "critical path"--the courses that have long chains of prerequisites, and hence need to be started early.  Courses on the CS 441 critical path are marked with *; this path can be made a year shorter by choosing to take EE 341 and EE 443 your senior year.  Courses on the CS 402 critical path are marked with +.
  1. Fall, freshman year
    • Take CS 103 (Introduction to Programming) if you've never had programming before, or else jump right into CS 201.
    • Take MATH 200 (Calculus I), needed before Physics 211 or Math 201. *  If you aren't ready for calculus, you'll need to take MATH 107X (Functions for Calculus) or MATH 108 (Trigonometry).
    • Take Chem 105 or another science course.
    • Take ENGL 111X.
    • Take COMM 131X or 141X.
  2. Spring, freshman year
    • Take Chem 106 or another science course.
    • Take MATH 201 (Calculus II), needed before Math 202. *  Or continue your developmental math.
    • Take ANTH or SOC 100X.
    • Take ECON or PS 100X.
    • Take HIST 100X.
  3. Fall, sophomore year
    • Take CS 201 (Computer Science I), needed before CS 202 or CS 301.+
    • Take Physics 211 (General Physics I), needed before Physics 212. *
    • Take ENGL/FL 200X.
    • Take ART/MUS/THR 200X, HUM 201X, or ANS 202X.
    • Take an elective.
  4. Spring, sophomore year
    • Take CS 202 (Computer Science II), needed before CS 311.+
      Take MATH 202 (Calculus III), needed before or during Physics 212.*
    • Take Physics 212 (General Physics I), needed before EE 341. *
    • Take ENGL 211X.
    • Take an elective.
  5. Fall, junior year
    • Take CS 311 (Data Structures and Algorithms), needed before CS 471 and many CS electives.+
    • Take CS 301 (Assembly Language), needed before CS 321. *
    • Take MATH 307 (Discrete Math), needed before CS 411 or CS 451.
    • Take EE 341, the CS electrical engineering course. *  If you wait until your senior year to take this, you'll then need to take EE 443, because CS 441 is only offered in the fall.
    • Take ENGL 314X
  6. Spring, junior year
    • Take CS 321 (Operating Systems), needed before CS 441 and others. *
    • Take CS 331 (Programming Languages).
    • Take an ethics course: BA 323X, COMM 300X, NRM 303X, PS 300X, or PHIL 322X.
    • Take STAT 300.
    • Take an elective.
  7. Fall, senior year
    • Take CS 471 (Software Engineering), needed before CS 402. +
    • Take CS 441 (System Architecture), or take EE 443 in the spring. *
    • Take CS 411 (Analysis of Algorithms), or take CS 451 if offered in a nearby spring.
    • Take two electives.
    • You should start to think about what you want to do after graduation.  If you want to move on to graduate school, be aware most schools' application deadline is early January to start in the fall.
  8. Spring, senior year
    • At the start of the semester, fill out the Application for Graduation form and turn it in to the Registrar's Office.
    • Take CS 402 (Senior Project) +
    • Take four electives.  You'll need a total of three upper-division CS electives and one math elective to graduate.
    • You should now have your post-bachelor's plans finalized.
We professors have a lot of advice to give you:
  1. Each semester, you should plan on taking about 15 credits--about five courses' worth.  It's mathematically impossible to finish a 120-credit degree in 4 years if you take less than this on average, and taking a few more credit hours allows you to branch out and explore some fields you find interesting, rather than just sticking to what is required.
  2. While at school, develop good habits:
    • Go to class.  It's very difficult to learn the material if you're just cramming from a book the night before an exam.
    • Participate in the class.  Do the reading the night before, pay attention to the lecture, ask questions about stuff that's unclear, think about .
    • Get started on homeworks and projects early.  Give yourself some extra time in case things go wrong.  Zeros on the homeworks can drag down your grade very quickly!
  3. Your first year or two will consist of "core" classes, taken from a variety of departments, that are designed to broaden your mind and give you a basic understanding of other disciplines.   You'll then focus down onto CS and Math courses to cover the core of computer science.  The last year, you'll be taking mostly high-level CS classes, and have opportunities to take electives.
  4. When you have questions, talk to a professor.  We're here to help!


Department of Computer Science, UAF
Thursday, 24-Jan-2008 13:34:32 AKST (Webmaster)