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 31/2315
  • Freshman Seminar or COMP 14/1102
  • ENGL 102
  • Foreign Language 3
  • General College Perspective 2
  • MATH 32/232
  • COMP 114/401
  • S
    O
    P
    H
    O
    M
    O
    R
    E
  • Foreign Language 4
  • General College Perspective 3
  • PHYS 26/116
  • MATH 33/233
  • COMP 121/410
  • General College Perspective 4
  • General College Perspective 5
  • PHYS 27/117
  • MATH 81/381 or OR 41/2156
  • COMP 120/4116
  • J
    U
    N
    I
    O
    R
  • General College Perspective 6
  • General College Perspective 7
  • COMP 122/5509
  • CS Distribution Requirement 17,9
  • CS Distribution Requirement 2
  • Cultural Diversity/Free Elective4
  • Non-CS Elective 18
  • MATH 147/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
  • STAT 126/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 14/110 (Introduction to Programming) is a required prerequisite for COMP 114/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 14/110 and start with COMP 114/401. Students who are able to begin their programming education with COMP 114/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 14/110 nor a Freshman Seminar are required courses in the major.)

      Students with no programming experience should begin their program of study with COMP 14/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 26/116 and PHYS 27/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 26/116 Mechanics
      PHYS 27/117 Electromagnetism and Optics
      MATH 31/231 Calculus of Functions of One Variable I
      MATH 32/232 Calculus of Functions of One Variable II
      MATH 33/233 Calculus of Functions of Several Variables
      MATH 81/381 or OR 41/215 Discrete Mathematics
      COMP 114/401 Foundations of Programming
      COMP 121/410 Data Structures
      COMP 120/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 81/381 or OR 41/215) and MATH 33/233, which may be taken in any order, and COMP 121/410 and COMP 120/411 which may be taken in any order, subject to the following provisos:

      • Students who receive a grade lower than a B in COMP 114/401 should take COMP 121/410 first to gain additional maturity in programming before taking COMP 120/411.
      • Discrete Mathematics (MATH 81/381 or OR 41/215) is a co-requisite for COMP 121/410. Hence if one takes COMP 120/411 before COMP 121/410 they will likely have to take MATH 81/381 or OR 41/215 before MATH 33/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 181/455: Models of Languages and Computation
    10. Systems Group
      (At least 1 course)
    11. COMP 123/431: Internet Protocols and Services
    12. COMP 142/530: Introduction to Operating Systems
    13. COMP 160/541: Digital Logic and Computer Design
    14. INLS 578: Protocols and Network Management
    15. Programming
      Languages Group

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

      (At most 1 course)
    25. MATH >520: Any MATH course numbered greater than 520
    26. OR 415, 445, 515: Appropriate courses from Operations Research
    27. LING 540: Appropriate courses from Linguistics
    28. INLS 484, 509, 512: Appropriate courses from Information & Library Science
    29. BMME 410, 430, 440: Appropriate courses from Biomedical Engineering
    30. 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.

    31. "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.

    32. 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 122/550, MATH 547, STAT 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.

    33. The ordering of the specific required courses listed in the junior and senior years (i.e., COMP 122/550, MATH 547, and STAT 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 122/550 is a prerequisite course for some of the courses in the Distribution list.)

    34. 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 October 2006