FAQs about Undergraduate Study in Computer Science

Table Of Contents

General Questions About The BS Degree In Computer Science

Q: When can I declare the Computer Science major?
A: In general, students interested in majoring in computer science can declare the major at any time. In fact, students are encouraged to declare the major as early as possible so that they can benefit from departmental advising.

Q: Are there any prerequisites for declaring the Computer Science major?
A: No. Students can declare the computer science major at any time.

Note that prior to 2008 students had to complete a set of required courses in order to declare the major. This requirement has been removed.

Q: Can I minor in Computer Science?
A: Yes. A minor in computer science requires the completion of five (5) COMP courses chosen from a particular list. Please visit this page for more information.

Questions About COMP 110 And 401

Q: Is COMP 110 a required course for the Computer Science major?
A: Strictly speaking, the answer is “no.” The first required programming course for the major is COMP 401. COMP 401 lists COMP 110 as a formal prerequisite, however, students who have had a formal introduction to programming (e.g., students who have complete an AP Computer Science course in high school or who have taken a programming course at another university), should be able to start their study in the Computer Science major with COMP 401. Students who are unsure of their background or have questions about whether or not to take COMP 110 are strongly advised to speak with a COMP 401 instructor.

Q: I took a programming course at another institution. Can I get credit for COMP 110 ? 
A: For the majority of persons asking this question, the answer is “No.” Transfer credit is (very) rarely awarded for COMP 110. However, students who have had a rigorous introduction to programming may receive Placement credit for COMP 110 by taking COMP 401 and earning a grade of B or better.

In rare circumstances, when a student transfers to UNC from a peer institution (i.e., a Research 1 university), transfer credit for COMP courses can be awarded but only after an audit of the student’s course work by the Director of Undergraduate Studies.

Of special note is the fact that credit is never awarded for any course (other than COMP 101 and COMP 380) for courses taken at community colleges. Unless unusual circumstances exist, students are not encouraged to petition the department for exemptions to this rule.

Q: I took an AP Computer Science in high school. Can I get credit for COMP 110 or 401? 
A: Students who take the College Board AP Computer Science AB exam and receive a score of 4 or 5, or students who take the College Board AP Computer Science A exam and receive a score of 5, may receive By Examination credit for COMP 110 . One can also get credit for COMP 110 by taking COMP 401 and getting a grade of B or better as explained above. It is not possible to get AP credit for COMP 401.

Questions About COMP 110 And 116

Q: What’s the difference between COMP 110 and 116? 
A: COMP 110 and COMP 401 form the introduction to programming sequence for computer science majors. COMP 116 is a created at the request of faculty in mathematics and the sciences, that is intended to be a more self-contained introduction to programming that is also more focused on examples in mathematics and science. COMP 116 uses MATLAB to teach computation and programming, and introduces the C language in the later parts of the course. COMP 116 does fulfill prerequisites for COMP 401, so that students who become interested in computer science can continue in the discipline, but it is not designed to be or recommended to be used as a substitute for COMP 110 . Students wishing to major in computer science should begin with COMP 110 . Finally, whereas COMP 110 only requires prior knowledge of algebra (e.g., MATH 10), COMP 116 requires a first course in calculus (e.g., MATH 231).

Questions About COMP 410 And 411

Q: In what order should COMP 410 and 411 be taken? 
A: COMP 410 and 411 may be taken in any order and may even be taken together. However, it is recommended for most students that COMP 410 be taken before COMP 411. In any event, note that the two courses have different prerequisites. COMP 410 and 411 both require COMP 401.

Questions About COMP 283, MATH 381, And STOR 215

Q: What is the difference between COMP 283, MATH 381, and STOR 215?

A: COMP 283, Discrete Structures, covers the mathematics behind formal reasoning and writing in computer science (including first-order logic, sets, counting, proof techniques, induction, relations, invariants, graphs, discrete probability, and others). It does so using examples from many of the computer science courses that students will take concurrently or afterwards. The prerequisite is the first semester of calculus, MATH 231.

MATH 381, Discrete Mathematics, does somewhat the same (logic, sets, counting, and proof techniques) but focuses on number theory, and has the prerequisite of the second semester of calculus, MATH 232.

STOR 215, Introduction to Decision Sciences, uses examples from operations research, and has the prerequisite of the first semester of calculus, MATH 231.  It is no longer accepted for either of the degrees.

Q: Which of the three should I take?

A: Historically, MATH 381 was required for the major. With the introduction of the BA program, the department decided that a department-specific course that required only one semester of calculus suited the needs of our diverse students better and also allows us to focus on topics most relevant to the study of computer science. Thus, COMP 283 is the preferred way to satisfy this requirement in both the BA and BS program in Computer Science.

Q:  Can COMP 283 be used toward CS UG minor?

A:  Not under the current CS minor requirements (Fall 2016).

Q:  Can MATH 381 be substituted for COMP 283 in previous CS UG minor requirements (Prior Fall 2016)?

A:  No.  Math 381 Can not be used for the minor in any case.

Questions About COMP 590

Q: Can COMP 590 be used to count toward the major? 
A: Maybe! In the Computer Science Department, COMP 590 (officially “Topics in Computer Science”) is used as a placeholder for one-time courses or courses that are in the process of becoming a “regular” course. Thus it is not uncommon for COMP 590 to be on completely different topics in two different semesters.

Whether or not COMP 590 can be used toward the major requirements depends entirely on the content of the specific offering of the course. Usually during the beginning of the course the instructor will make some announcement about the ability of their course to count toward the major. Thus to learn if a particular offering of COMP 590 can be used to satisfy any graduation requirement, contact either the instructor or the Director of Undergraduate Studies. If the 590 is allowed to count toward the major, you can include one offering of 590 in your plan of study for the major without requiring any further approval. If you would like to count two or more 590 courses as part of your plan of study, you need to secure approval from a departmental advisor.

Questions About PHYS 116 And 117

Q: I recently switched majors into Computer Science and my previous major required only PHYS 104 and 105. Do I have to take PHYS 116 and 117? 
A: Yes you do. We require calculus-based physics for the major and although you cannot get credit hours towards graduation for both PHYS 104, 105 and 116, 117, you must take PHYS 116 and 117.

Q: I took AP Physics in high school and received placement credit for PHYS 105 and 25/105. Do I have to take PHYS 116 and 117? 
A: Yes you do. However, if your high school course was taught using calculus, you can ask the Physics and Astronomy Department to examine you on the material in PHYS 116, 117 for the purpose of getting By Examination credit for PHYS 116 and/or 117.

Questions About COMP 396 (Independent Study)

Q: I’m interested in doing an independent study project and/or taking COMP 396. What is the process? 
A: COMP 396 is the vehicle for getting credit for an independent study or undergraduate research project. There are typically two ways in which sections of COMP 396 are created. If the student has an agenda for a project, she can work with the Director of Undergraduate Studies to find a mentor/sponsor for the project. Once a sponsor is found a section of COMP 396 will be created for the student. Alternatively, if the student either has no agenda or is open to suggestions for projects, the Director of Undergraduate Studies will poll the faculty for potential projects and attempt to place the student with either a faculty member or research group.

Q: Can one enroll in COMP 396 more than once? 
A: Yes. For example, if the faculty sponsor approves, a COMP 396 project may span two semesters.

Q: Can COMP 396 be used toward the major requirements? 
A: No. COMP 396 cannot be used to satisfy any graduation requirement for the major other than count as hours towards graduation. COMP 396 is considered a free elective.

Questions About COMP 392 (Computer Science Practicum)

Q: Is it possible to get course credit for work experiences? What is the process? 
A: Yes it is possible. If the work experience is deemed to be a substantive educational experience, Pass/Fail course credit can be obtained by enrolling in COMP 392. Enrollment in COMP 392 is by permission of the Director of Undergraduate Studies only. The Director of Undergraduate Studies will evaluate the work experience to determine if it is substantive enough to be worthy of University credit.

Students interested in COMP 392 should contact the Director of Undergraduate Studies for an assessment of the proposed work experience. This initial contact should ideally occur before the work experience has started. If the work experience is deemed to be substantive, approval for enrollment in COMP 392 will be given, however, the student will not actually enroll in COMP 392 until after the work experience has been completed. (See below.)

Q: What does one “do” in COMP 392? 
A: One writes a paper in COMP 392. To get credit for COMP 392 the student must get a favorable report from his or her work supervisor and write a paper describing their work experience. The paper is typically 15-20 pages long and is written after the work experience has ended.

Q: What sorts of work experiences qualify for COMP 392 credit? 
A: The work experience should involve a learning experience that is roughly comparable to that had in an undergraduate COMP course. An example of an acceptable experience would be learning a new programming language and participating on an implementation team to build or maintain a software product. An example of an unacceptable experience would be creating a set of web pages for an organization.

Q: Can one enroll in COMP 392 more than once? 
A: Yes. COMP 392 may be taken for a maximum of 6 credit hours. However, if the course is taken more than once, the work experiences used as the basis of each course must be unrelated.

Questions About Graduate-Level (600-Level) COMP Courses

Q: Is it possible for an undergraduate to enroll in a 600-level COMP course? 
A: 600-level courses are courses for graduate students. It is possible for an undergraduate to take 600-level course, however it requires the explicit permission of the instructor. As a general rule only candidates for graduation with Honors should attempt graduate COMP courses and should only do so after consulting with their Computer Science advisor and the instructor of the course in question. For example, in many cases it will turn out that a COMP 396 Independent Study project in the subject area in question is more appropriate for the student than taking a graduate-level course.

Questions About Graduation With Honors

Q: What are the requirements for Graduation with Honors? 
A: The requirements for Graduation with Honors:

  • A cumulative GPA of 3.2 or better.
  • A GPA in the major (either B.S. or B.A.) of 3.2 or better.
  • Enrollment in two semesters of COMP 396, Independent Study
  • Successful completion and presentation of an Honors thesis with a computer science faculty member.

Q: What exactly is an Honors project? Do I have to enroll in a special course to do an Honors project? 
A: An Honors project is a collaboration between a student and a Computer Science faculty member on a problem or topic of mutual interest. Virtually every aspect of the project is negotiable between the student and the faculty supervisor, however, the scope and depth of the final agreed upon project must be approved by the Director of Undergraduate Studies.

The project requires enrollment in at least two semesters of COMP 396, Independent Study, or work as a Research Assistant. The enrollment in COMP 396 typically occurs in two consecutive semesters, however, enrollment in consecutive semesters is not required. The instances of COMP 396 can be taken at anytime that your Honors project supervisor approves of but most typically occurs in the student’s Senior year.

Q: What exactly is an Honors thesis? 
A: An Honors thesis is a technical paper, authored solely by the student, that fully documents the student’s Honors project. A thesis most typically describes the problem under investigation along with any background information required for a non-specialist reader to understand the problem. The thesis further discusses the most relevant related work from the literature, presents the approach undertaken, the results obtained, and discusses any limitations to the work or suggestions for future work. Theses vary in length but are typically between 20-50 pages. The Thesis must be approved by the project supervisor and publicly presented. The presentation happens at annual Undergraduate Research Symposium held in late April of each year. The symposium is open to the public and is meant to be more celebratory than a graduation requirement.

Q: What courses are included in the computation of my major GPA? 
A: All COMP, MATH, STAT, OR, and PHYS courses taken to satisfy graduation requirements in the major are counted.

Q: What is required for graduation with Highest Honors? 
If one achieves a GPA of 3.6 or higher in the major as well as overall, they are eligible for Graduation with Highest Honors. The decision as to whether such a student will be awarded Honors or Highest Honors will be determined by the student’s project supervisor based on the quality of the student’s performance on the research project.

Q: How do I register my interest in Graduation with Honors? 
A: Students who are eligible for, and interested in, Graduation with Honors, are strongly encouraged to start discussing possible Honors projects with prospective faculty, or the Director of Undergraduate Studies, in their sophomore or junior years. This is important as most Honors projects require a certain amount of planning and preparation.

Questions About Grades

Q: I received a grade lower than a C in one of the eight preliminary courses in the Computer Science major. Do I have to repeat the course? major?
A: If a student receives a grade lower than a C in any of the courses:

  • MATH 231, 232, or 233, 381 (or COMP 283 or STOR 215)
  • COMP 401, 410, or 411,
  • PHYS 116

then they must retake the course and receive at least a C. (Note that the permission of a Dean is required in order to take a course for a second time.) Students in this situation are strongly advised to consult with a General College or a departmental advisor to assess their suitability for the Computer Science major.

Q: I received a D in a junior/senior class that is required for the major. Do I have to retake the class? 
A: If the course is an explicitly required course (e.g., MATH 547, STOR 435, COMP 455 or COMP 550), then you must retake the course and receive a grade of at least a C-. If the course is one of the additional 5 courses numbered 426 or higher that are required for the major, then the student has the option of either retaking the course or taking a different course to count toward the major requirements. Note that in all cases the permission of a Dean is required in order to take a course for a second time.

Q: How do I compute my computer science major GPA? Which classes “count” in the major GPA?
A: Your major GPA is computed from the grades received in all of the required COMP, MATH, PHYS, and STOR courses.

Questions About Taking COMP/MATH Classes Over The Summer

Q: I’m behind in my program of study for the major. How can I catch up? In particular, can I catch up by taking courses over the Summer? 
A: Students who are behind in their program of study typically have little option other than enrolling for an extra semester. In particular, at present the Department of Computer Science normally offers only COMP 101, 110, and 380 during the Summer and hence Summer School is not an effective vehicle for catching up on COMP coursework. (However, note that there are a few of the required advanced MATH courses offered each Summer.)

In special and rare circumstances it is possible for students to arrange to take an advanced COMP course over the summer as an Independent Study course. This requires the approval of the Director of Undergraduate Studies and the consent of a faculty member to offer the Independent Study course. Requests for summer offerings of Independent Study are typically approved only for students with above average grades who have a compelling reason why they cannot take the desired course during the regular school year. Examples of compelling reasons include trying to graduate on time after a semester of study abroad or after withdrawing from the University for reasons beyond the student’s control. Examples of non-compelling reasons include trying to graduate early or trying to make up time after transferring to UNC from another institution.

Questions About Taking Classes At Other Universities

Q: Can I take a computer science class at another University over the summer and use the course to satisfy a specific graduation requirement? 
A: In general students are discouraged from taking computer science classes at other Universities and using these course to satisfy UNC graduation requirements. While all courses taken outside UNC will be evaluated for transfer credit, transfer credit for courses beyond COMP 110 is rarely granted. Therefore, any student intending to satisfy a graduation requirement by taking a computer science course outside UNC is strongly advised to consult the Director of Undergraduate Studies before they enroll in the course. As a general rule, only courses taken at peer institutions (i.e., a Research 1 university) are likely candidates for transfer credit.

Questions About Jobs And Internships

Q: I’m interested in a computer science internship in local industry. How do I go about finding information about internships? 
A: The student’s primary point of contact for information regarding internships should be University Career Services (UCS). UCS assists students in finding internships and full-time jobs through on-campus interviews, career fairs, career panels, and more. For more information, please call 962-6507 or visit the UCS website at http://careers.unc.edu.

Note that it is possible for Computer Science majors to earn academic credit for certain internships or job experiences. See the section “Questions about COMP 392” above.

Q: I know that the Department of Computer Science offers support jobs and internships to Computer Science majors. How do I go about finding information about these positions? 
A: The Department of Computer Science typically hires several undergraduate students as research interns each year. The process of finding an internship within the department is the same as arranging an Independent Study project (see “Questions about COMP 396” above).

The Computer Services organization within the department also hires several undergraduates during both the academic year and the summer months to assist with various computer support and systems administration functions.

For More Information, Contact:

Prof. Diane Pozefsky
Director of Undergraduate Studies
FB 146, (919) 590-6117
pozefsky (at) cs.unc.edu