Duke Computer Science Questions

Hi all,

I was recently admitted to both Duke and UNC. I intend to study Computer Science and have several questions.
I hope someone can provide some insight! My questions are quite specific because I am trying to narrow down my choice between the two schools.

  1. Will COMP 101 sufficiently prepare you for COMP 201?
    -I never programmed before and noticed that COMP 101 teaches in Python & COMP 201 teaches in Java. I don’t want to take 101 and then be shocked in 201 and struggle.
  2. What is the course load like for COMP 101 & 201? How difficult are the two courses?
  3. What are the best professors to take for 101, 201, 250, 330?
  4. How quickly do the above classes fill up registration wise?
  5. How large are the class sizes for these courses?
  6. What is your overall impression of the computer science department?
  7. How are the lectures designed in general? Are the lectures taught at a high level with low level assignments (i.e. where you have to dig deep and ‘self-teach’) or do the lectures and assignments complement each other?
  8. Overall how is the quality of instruction at Duke for computer science? Are the professors generally good? Do they care about the students?
  9. Is computer science at Duke known for grade deflation? How hard is it to maintain As in all your courses? I ask because I will be working as well.
  10. How does tutoring services work at Duke? Are there any low cost private tutoring options? If so, where?

Thanks so much! Your responses will really help me!

-Thurston

Bump. I am interested too. Did you commit to UNC or Duke @Thurston22 ? I committed Duke over Brown, hopefully not the wrong choice for computer science.

Congrats, lb43823! :slight_smile:

@MBVLoveless Thank you!

I was admitted as a transfer to Duke for comp sci but haven’t started yet. But to your first question, no you won’t be. Both python and Java are rather beginner languages and once you learn one the other will be fairly easy to pick up. For the tutoring thing, my past University was ranked around 125 and had a million tutoring opportunities. Pretty confident a great school like Duke will too (along with most universities)

  1. Will COMP 101 sufficiently prepare you for COMP 201?
    You’re right that CS 101 is python and CS 201 is java. The two languages have some similarities that will make it easier to learn Java once you learn the basics from python. I haven’t taken CS201 yet (taking it next semester), but from what I’ve heard it is a difficult class (not because java is difficult, but because of the difficulty of the problems and assignments you are assigned), it is fairly easy to get a good grade if you put in the effort. Both courses are time consuming, but the workload is really helpful in learning to apply the language.

  2. What is the course load like for COMP 101 & 201? How difficult are the two courses?
    Like I said above, the courseload is fairly high. You get assigned usually 2-4 APTs every week, which are smaller programs that basically allow you to practice your knowledge, and 1 assignment every week, which is usually larger and more time-consuming. You also have reading quizzes due on the days of lectures. CS101 is a lot easier than CS201. You do get a lot of opportunity for extra credit though (which is atypical for Duke courses).

  3. What are the best professors to take for 101, 201, 250, 330?
    Susan Rodger was a wonderful professor for 101.

  4. How quickly do the above classes fill up registration wise?
    You’re likely to get a spot in any of these classes regardless of your registration window.

  5. How large are the class sizes for these courses?
    Classes are typically 100-180 students (they’re capped at 180), and discussions are 25 students

  6. What is your overall impression of the computer science department?
    I really like it. I think the professors really want to see us do well, and they don’t make the classes unnecessarily hard. They are also very available as well. The TAs are typically students for the core courses, and they use a system called Piazza where you can post any questions and will typically get a response within an hour.

  7. How are the lectures designed in general? Are the lectures taught at a high level with low level assignments (i.e. where you have to dig deep and ‘self-teach’) or do the lectures and assignments complement each other?
    The lectures and assignments definitely complement each other. Sometimes, the professor helps us work through our assignments in class. Lectures are definitely useful to go to, and I never had to really self-teach myself anything.

  8. Overall how is the quality of instruction at Duke for computer science? Are the professors generally good? Do they care about the students?
    Yup I personally think the professors are good. I think CS at Duke is really well structured.

  9. Is computer science at Duke known for grade deflation? How hard is it to maintain As in all your courses? I ask because I will be working as well.
    There is no grade deflation-- you get what you get. There also usually aren’t curves either, but there are extra credit opportunities. It’s time consuming, but there are a lot of resources for you to get help. In some classes, you can get a limited amount of extensions that do not deduct anything from your grade. They understand that our lives are busy and that something can happen, and that we shouldn’t be penalized for it.

  10. How does tutoring services work at Duke? Are there any low cost private tutoring options? If so, where?
    Not sure about tutoring, but the CS department has TA consulting hours everyday for 4-ish hours. I highly, highly recommend going to these, as TAs will personally help you through your program. I know they have tutors too that you don’t have to pay for. I THINK you can get one if you aren’t doing so well in the class and have grades to prove it, but don’t quote me on that.

Re: Duke tutoring. You can get a tutor who is a former student who did very well in the class for FREE for any reason (you don’t need to be doing poorly to qualify). It’s offered for the following classes:
http://arc.duke.edu/peer_tutoring/courses.php
Looks like they have CompSci 101 and 201 available. The tutors get paid by Duke, but you owe nothing. This is another resource at your disposal in addition to asking the TA, your professor, or your fellow peers.

Edit: I guess a few of the courses have “eligibility requirements” due to high demand, but not comp sci. You just need to have scored 5 points below the mean on any ONE exam for those three chem courses and for econ 101. Those courses also offer “walk in tutoring” to accommodate the large demand rather than a full hour of one on one sessions.

@lb43823 – I am in a somewhat unique position where I have an extension to decide between the two universities. I I haven’t made my decision quite yet but congrats on your decision to go to Duke!

@candidcrocodiles – Thanks for the very through reply. I have a few follow up questions:

  1. You're right, the difficulty in the courses seem to reside in the projects and not the specific languages. Did you find the TAs helpful? Were their office hours too busy to actually get help? What I'm anticipating is that a project will require some non-trivial mathematical formula or formulation that hasn't been covered in class & isn't easily googable and in this case I might be stuck wondering how the heck to come up with the correct mathematical approach before I ever begin coding. In these instances do the TAs generally help you think through the problems and come up with the correct plan of approach or clarifying instructions that you don't necessarily understand?
  2. Are the APTs and assignments due on the same day or are they spaced out where you have a week to complete the APTs and then some extra time to complete the assignments? How much time were you spending a week doing these APTs/assignments? This will help me make sure I can balance my busy schedule.
  3. How much programming experience did your classmates have coming in? I have literally none.
  4. I had to sign up for a lab in 101. What are you doing in labs? Is it like the APTs or an extension of concepts learned in class? Are you assigned extra problems you have to complete in addition to APTs + assignments?
  5. What sort of stuff is covered in the quizzes/exams? Is it coding stuff on the fly, testing your understanding of coding concepts?

It sounds like the courses are self-contained so that you can do the homeworks & the TAs are helpful in assisting you whenever you run into problems. That is good to know & reassuring.

Thanks for the comments.

@Thurston22 CS has a program called C-SURF by the way, I think you should look into that. I am just curious, as for most, the vast resources of Duke and its prestige, quality of professors, academics, and research are definitely attractive. I feel like most would choose Duke over UNC. Any reason you are hesitant to choose Duke over UNC, is it financial, for example?