Department of 
Computer Science

Search our Site

Line

ON THIS PAGE:

Suggested Plan of Study for all Years

Notes on the Freshman / Sophomore Years

Notes on the Junior / Senior Years

  Suggested Program of Study for the
Bachelor of Science in Computer Science

The following suggested program of study for B.S. majors satisfies graduation requirements that were in place as of August 2001. (Downloadable/printable PDF version)

Suggested Plan of Study for all Years

Year Fall Semester Spring Semester
F
R
E
S
H
M
A
N
  • ENGL 101
  • Foreign Language 21
  • General College Perspective 13
  • MATH 2315
  • Freshman Seminar or COMP 1102
  • ENGL 102
  • Foreign Language 3
  • General College Perspective 2
  • MATH 232
  • COMP 401
  • S
    O
    P
    H
    O
    M
    O
    R
    E
  • Foreign Language 4
  • General College Perspective 3
  • PHYS 116
  • MATH 233
  • COMP 410
  • General College Perspective 4
  • General College Perspective 5
  • PHYS 117
  • MATH 381 or STOR 2156
  • COMP 4116
  • J
    U
    N
    I
    O
    R
  • General College Perspective 6
  • General College Perspective 7
  • COMP 5509
  • CS Distribution Requirement 17,9
  • CS Distribution Requirement 2
  • Cultural Diversity/Free Elective4
  • Non-CS Elective 18
  • MATH 5479
  • CS Distribution Requirement 3
  • CS Distribution Requirement 4
  • S
    E
    N
    I
    O
    R
  • Non-CS Elective 2
  • Non-CS Elective 3
  • Free Elective
  • Free Elective
  • CS Distribution Requirement 5
  • Non-CS Elective 4
  • Free Elective
  • Free Elective
  • STOR 4359
  • CS Distribution Requirement 6
  • Notes on the Freshman/Sophomore Years

    1. This program of study assumes that students will place out of Foreign Language 1. If this is not the case then the student will have to start with Foreign Language 1 (and have one fewer Free Elective in their senior year).

    2. COMP 110 (Introduction to Programming) is a required prerequisite for COMP 401. However, we assume most computer science students will have acquired a sufficient knowledge of programming basics prior to enrolling at UNC to skip COMP 110 and start with COMP 401. Students who are able to begin their programming education with COMP 401 may do so in their first semester and either advance the suggested program of study by one semester (giving themselves an extra free elective in their junior/senior years), or take another meritorious course such as a Freshman Seminar as an elective in the freshman year. (In either case, note that neither COMP 110 nor a Freshman Seminar are required courses in the major.)

      Students with no programming experience should begin their program of study with COMP 110.

    3. "General College Perspectives" refer to a set of 9 courses that are selected according to the following College-specified requirements:

      Natural Sciences Perspective 2 courses--CS majors are required to take PHYS 116 and PHYS 117 as their Natural Sciences Perspectives.
      Social Sciences Perspective 2 courses
      Aesthetic Perspective 2 courses--One in literature and one in fine arts.
      Western Historical / Non-Western / Comparative Perspective 2 courses--One covering a period of Western history before 1700 and one additional Western, non-Western, or comparative history course.
      Philosophical Perspective 1 course

      Please note that there are additional restrictions on the choice of specific courses used to satisfy the perspective requirements. Students are encouraged to consult the Undergraduate Bulletin or a General College advisor for the precise definitions of the General College Perspectives.

    4. All undergraduates are required to take one course to satisfy a College Cultural Diversity requirement. Most students typically select a cultural diversity course that also satisfies a General College Perspectives requirement. Students who make such a selection will have an extra free elective in their program.

    5. Courses listed in boldface in the suggested program indicate the courses whose completion is required for admittance into the Computer Science major. In order to be admitted into the major students must complete the following nine courses with a grade of C or better in each course:

      PHYS 116 Mechanics
      PHYS 117 Electromagnetism and Optics
      MATH 231 Calculus of Functions of One Variable I
      MATH 232 Calculus of Functions of One Variable II
      MATH 233 Calculus of Functions of Several Variables
      MATH 381 or STOR 215 Discrete Mathematics
      COMP 401 Foundations of Programming
      COMP 410 Data Structures
      COMP 411 Machine Organization

      Students may not declare the Computer Science major until they have completed these nine courses with a grade of C or better in each course. Students who earn a grade of C- or lower in any of these courses must retake the course* and receive a grade of C or better in order to declare the Computer Science major. Students in this situation are strongly advised to consult with a General College advisor to assess their suitability for the Computer Science major.

      * Note that the permission of a Dean is required in order to take a course for a second time.

    6. The nine required freshman/sophomore courses should be taken in the order listed in the Program of Study and no later than the semester listed. If this ordering and minimal scheduling of courses is not followed, students will be unable to declare the Computer Science major during the nominal major declaration period in the second semester of their sophomore year.

      The only exceptions to the ordering of freshman/sophomore courses are Discrete Mathematics (either MATH 381 or STOR 215) and MATH 233, which may be taken in any order, and COMP 410 and COMP 411 which may be taken in any order, subject to the following provisos:

      • Students who receive a grade lower than a B in COMP 401 should take COMP 410 first to gain additional maturity in programming before taking COMP 411.
      • Discrete Mathematics (MATH 381 or STOR 215) is a co-requisite for COMP 410. Hence if one takes COMP 411 before COMP 410 they will likely have to take MATH 381 or STOR 215 before MATH 233.

      Notes on the Junior/Senior Years

    7. "CS Distribution Requirements" refer to a set of 6 courses that are selected from the following list:

      Theory Group
      (At least 1 course)
    8. MATH 566: Numerical Analysis
    9. COMP 455: Models of Languages and Computation
    10. Systems Group
      (At least 1 course)
    11. COMP 431: Internet Protocols and Services
    12. COMP 530: Introduction to Operating Systems
    13. COMP 541: Digital Logic and Computer Design
    14. INLS 578: Protocols and Network Management
    15. Programming
      Languages Group

      (At least 1 course)
    16. COMP 520: Compilers
    17. COMP 524: Programming Language Concepts
    18. COMP 523: Software Engineering Laboratory
    19. Applications Group
      (At least 1 course)
    20. COMP 426: Advanced WWW Programming
    21. COMP 521: Files and Databases
    22. COMP 575: Introduction to Graphics
    23. Interdisciplinary
      Group

      (At most 1 course)
    24. MATH >520: Any MATH course numbered greater than 520
    25. STOR 415, 445, 515: Appropriate courses from Operations Research
    26. LING 540: Appropriate courses from Linguistics
    27. INLS 484, 509, 512: Appropriate courses from Information & Library Science
    28. BMME 410, 430, 440: Appropriate courses from Biomedical Engineering
    29. Other computing-related courses than those listed in the Interdisciplinary Group can be counted as an Interdisciplinary course with the (advance) approval of the Director of Undergraduate Studies in the Department of Computer Science.

      Note that of the six required Distribution courses, at least one course must be selected from each of the Theory, Systems, Programming Languages, and Applications groups. Students are not required to take any courses from the Interdisciplinary Group. However, if courses are selected from the Interdisciplinary Group, at most one of these courses may be counted towards satisfying the Distribution requirement.

      Note further that not all courses are offered every semester. Students should consult the Undergraduate Bulletin and/or the Directory of Classes for the current schedule of course offerings.

    30. "Non-CS Electives" refer to a set of 4 courses taken outside of Computer Science. The four courses are selected according to the following general requirements:

      Humanities/Fine Arts 1 course
      Social Sciences 1 course
      Natural Science 1 course
      Elective 1 course

      The fourth elective can be any non-computing related course taken outside of Computer Science, Mathematics, and affiliated departments. None of these electives may be taken Pass/Fail.

    31. In order to graduate, students must amass a GPA of 2.0 or higher in the nine required junior/senior courses in the major (i.e., COMP 550, MATH 547, STOR 435, and the six required Distribution courses). In addition, students may not receive any grade lower than a C- in any of these nine courses.

    32. The ordering of the specific required courses listed in the junior and senior years (i.e., COMP 550, MATH 547, and STOR 435 and the courses taken to satisfy the Distribution requirement) is merely suggestive. These courses may be taken in any order. (Note however, that COMP 550 is a prerequisite course for some of the courses in the Distribution list.)

    33. Not shown in this schedule are two 1-hour Physical Education Activities that are required of all UNC students. These courses may be taken at any time.

    Horizontal Line
    Department of Computer Science
    Campus Box 3175, Sitterson Hall
    College of Arts & Sciences
    The University of North Carolina at Chapel Hill
    Chapel Hill, NC 27599-3175 USA
    Phone: (919) 962-1700
    Fax: (919) 962-1799
    Content Manager: Director of Undergraduate Studies
    Server Manager: webmaster@cs.unc.edu
    Last Content Review: 2 September 2009