The requirements are given here:
You have to think ahead about when to take various physics courses since some courses are prerequisite for others, most physics courses are offered only once per academic year, and you don't want to take too many challenging courses in a given semester. The web page
gives some suggestions about which order to take various courses.
Note: 2016/2017 will be a transition year to a new pattern: this link has details.
All physics majors, whether a BS or BA student, are encouraged to get some research experience by taking an independent study (Physics 493) or by doing summer research. Research can be highly rewarding and prepares a student well for graduate school, for employment, and for professional schools. Research can also lead to much stronger letters of recommendation since a faculty member will get to know you well through collaboration. You can talk to the Director of Undergraduate Studies or with any of the professors in the Physics Department to learn about research opportunities.
Most undergraduate physics research opportunities require a knowledge of how to write and debug computer programs at the level of an AP Computer Science course. For example, students might need to write a program to analyze data, to control an experimental apparatus and record data at certain times, to simulate and so study the properties of some proposed experimental device, or to simulate some mathematical model that could give theoretical insight about a physics question. The Physics Department recommends that physics majors take Computer Science 101L or its equivalent. Students who want to do research should especially try to take a programming course as soon as possible, say freshman year and no later than the end of their sophomore year.
If you have a strong interest in astronomy or astrophysics, you can take courses on these topics at UNC and have them count toward a Duke physics degree. Please meet with the DUS to discuss this possibility.