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. 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 prerequisite, however, students who have had a formal introduction to programming (e.g., students who have completed 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 or a computer science adviser.

Q: I took a programming course at another institution. Can I get credit for COMP 110? 
A: Students may receive Placement credit for COMP 110 by taking COMP 401 and earning a grade of B or better.  This can be beneficial for the student in another major that has a COMP 110 requirement.

Students transferring to UNC may receive transfer credit for COMP courses by using the standard transfer request process.  Computer science courses almost always require a request for re-evaluation and require that you submit the syllabus for the course as well as the assignments (not the solutions).  The process requires the evaluation of the course by the Director of Undergraduate Studies and faculty that teach the course.  You, therefore, should assume that this is not an immediate process.  s

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 or Python to teach computation and programming. 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 .

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. 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 afterward. 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: Yes.  We now only assign the “590” course number to courses that can be counted toward the major.

Questions About PHYS 116 And 118

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 or 118? 
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 and 116 or 118, you must take PHYS 118 or get placement credit for PHYS 116.

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? 
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 for the purpose of getting By Examination credit for PHYS 116.

Questions About Independent Study Courses in Computer Science

Q: I’m interested in doing an independent study project COMP 396. What is the process? 
A: There are six different independent study courses available:

  • COMP 293 allows a student to get academic credit for an internship
  • COMP 393 allows a student to work with a computer science mentor and client on an unpaid project for academic credit
  • COMP 495 allows a student to work with a faculty mentor on a research project
  • COMP 496 allows a student to study an academic topic that could be taught as a computer science course but is not available at the current time
  • COMP 691H and 692H constitute the two-semester sequence taken to work on an honors thesis.

All of these courses require the completion of a learning contract (using the Online Learning contract Manager beginning in Fall 2018).

In order to register for any of the courses other than COMP 293, the student needs to find a faculty member willing to be the instructor and should work with that faculty member to develop a course plan and learning contract.  Registration is done once the learning contract has been approved.

Registration for COMP 293 requires that the internship be approved by the Director of Undergraduate Studies.  The student must be registered for the course at the time that they are doing the internship and the process must be completed before the internship and the semester begins.

Q: Can one enroll in these courses more than once? 
A: restrictions on taking these courses more than once differ by course and do change as the courses and processes are refined.  To determine the current status, review the current course descriptions.  COMP 691H and 692H cannot be taken more than once.

Q: Can any of these courses be used toward the major requirements? 
A: No. These courses cannot be used to satisfy any graduation requirement for the major other than count as hours towards graduation. 

Q: Is it possible to get course credit for work experiences? What is the process? 
A: Yes it is possible to get credit for work experience through COMP 293 if the work experience is deemed to be a substantive educational experience, In general, the knowledge gained by the experience should be equivalent to what a student would learn in a 500-level course.  Most development activities would meet this criterion; data entry or call center jobs are unlikely to meet the bar. 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 293 should contact the Director of Undergraduate Studies for an assessment of the proposed work experience as early as possible.

Q: What are the requirements for COMP 293 other than doing the internship or job? 
A:Your supervisor is required to confirm the content of your work 2 weeks after the internship or job begins and must comnfirm your successful completion at its end.  At the end of the course, the student writes a one-page reflection of what they learned during the experience.

Q: What sorts of work experiences qualify for COMP 293 credit? 
A: The work experience should involve a learning experience that is roughly comparable to that had in an undergraduate COMP 500-level course. An example of an acceptable experience would be 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.

Questions About Graduate-Level COMP Courses

Q: Is it possible for an undergraduate to enroll in a 700-level COMP course? 
A: 700-level courses are courses for graduate students. It is possible for an undergraduate to take a 700-level course, but it requires the explicit permission of the instructor.

Q: Can a graduate level course count for graduation?
A: Yes, a 700-level course other than COMP 790 can be counted toward graduation.  However, it will require that you request that it be approved and that is done by contacting the Director of Undergraduate Studies.

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.3 or better.
  • A GPA in the major (either B.S. or B.A.) of 3.3 or better.
  • Enrollment in COMP 691H in the fall and 692H the next spring semester, which entails the successful completion and defense of an Honors thesis with a computer science faculty member as well as public presentation of the work in two venues.

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 COMP 691H and 692H in two consecutive semesters within the same academic calendar year.  The courses should be taken during your senior year.  Students who are considering graduation in December may choose to undertake the thesis in their junior 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. Presentations happen at annual Undergraduate Research Symposium held in April of each year and at the OUR Celebration of Undergraduate Research.

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

Q: What is required for graduation with Highest Honors? 
A. Graduation with Highest Honors is based on the quality of the Honors Thesis research, writing and presentation.  .

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 junior year. 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 BS student receives a grade lower than a C in any of the courses:

  • MATH 231, 232, or 233, 381 (or COMP 283)
  • COMP 401, 410, or 411,
  • PHYS 116 or 118
  • the second science course

then they must retake the course and receive at least a C.

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, science 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 110, 116, and 283 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.)

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 provide the syllabus and course assignments to 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 Independet Study Courses in COmputer Science” above.


For More Information, Contact:

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