Due to the COVID-19 outbreak we are adjusting the syllabus.
See the new syllabus here .
|
|
|
|
|
|
|
|
![]() |
![]() |
![]() |
![]() |
Belanie Nagiel |
Megan Phibbons |
Charles Lyu |
Daniel Hwang |
|
|
|
In each class the lecture is designed to provide important and
useful information that will allow you to learn concepts and complete the
assignments that you are working on (APTs and programming
assignments). Lecture typically includes questions that you will complete
in groups called WOTOs (WOTO is WOrkingTOgether), this in-class work contributes to your final grade,
but more importantly being an active participant in class will help foster
community in class as well as help you learn and master the concepts
related to programming and computer science. Bring a laptop to class if you
have one.
Here are some of the topics we will cover, not in particularly any order.
Discussion Sections:
You should be signed up for one Discussion section. Discussions are on Mondays. The first discussion section will be virtual (online) and is scheduled for January 8 (this is a Monday class day). The first face to face meeting will be on Monday, January 13, 2020.
Sections | Day/Time | Room | UTA |
---|---|---|---|
01D/19D | Mon 10:05am-11:20am | Gray 228 |
Belanie Nagiel Cooper Edmunds |
13D | Mon 10:05am-11:20am | Gross Hall 104 |
Laura Li Daniel Hwang |
02D | Mon 11:45am-1:00pm | BioSci 154 |
Jake Cimerberg Jessie Ou |
10D | Mon 11:45am-1:00pm | Old Chem 003 |
Zack Freid Doherty Guirand |
17D | Mon 11:45am-1:00pm | Allen 103 |
Megan Phibbons Kevin Deng |
03D | Mon 1:25pm-2:40pm | BioSci 063 |
Vanessa Chen Tess Lipsky |
14D/15D | Mon 1:25pm-2:40pm | LSRC D106 |
Arushi Bhatia Jeff Kim |
04D/20D | Mon 3:05pm-4:20pm | BioSci 155 |
Sanna Symer Angelo Guo |
05D | Mon 3:05pm-4:20pm | Old Chem 201 |
Rachel Ma Josh Geden |
08D | Mon 3:05pm-4:20pm | Perkins Link 065
Classroom 2 |
Shruthi Kumar Carolyn Chen |
09D/12D | Mon 3:05pm-4:20pm | Physics 235 |
Karen Chen Merrill O'Shaughnessy |
11D/16D | Mon 3:05pm-4:20pm | Allen 318 |
Julia Long Cathy Wang |
06D/07D/18D | Mon 4:40pm-5:55pm | LSRC A156 |
Cady Zhou YongXin Tan |
Backup UTAs:
We will send you email once this site is ready which will be around Jan. 10-12. If you are registered for the course, you will automatically be added to it. If you add the course after we create it, you will need to add yourself to it.
Note that you can post anonymously. We also encourage students to answer other student's questions and we will endorse correct answers!
The textbook is strongly recommended for those who do not know Java. Consider it required in that case, and completing questions in the book earns points. This book is $54.
This is an alternative book, Java for Python Programmers, that is not nearly as detailed as the other book. This book is a very short ebook for Python programmers to learn some Java.
These books cover our data structure topics such as maps, linked lists, etc. There are interactive parts to the book.
The table below shows how the categories of work done in class are used to calculate your grade in Compsci 101. Grading is done on an absolute, but adjustable scale. This means that there is no curve. Anyone earning 90% or more of the total number of points available will receive a grade in the A range, (A+,A is 94%, A- is 90%); 80% = B range, 70% = C range, 60% = D. This scale may go down, i.e., we could make the A- cut off at 88%. However, the scale will not go up. So if everyone gets 90% or above, then everyone will get an A- or above.
Discussion Sections | 6% |
Programming and analysis assignments | 23% |
WOTOs(75%)/Reading(25%) | 5% |
APTs | 6% |
APT Quizzes | 10% |
Two Midterm Exams | 30% |
final exam | 20% |
The tests and final exam will be closed-book.
Exams will be held during the lecture time and in the same room. The final will also be in the same room.
Discussion sections will be held every Monday. Discussions may include warm-up problems to be completed prior to discussion and individual and group work during section. Attendance is required and will be taken at the beginning of discussion. You are responsible for ensuring your Discussion TA marks your discussion attendance correctly. Participation is encouraged and can help improve your grade. We anticipate that every student will need to miss a few classes and discussions during the semester. Each student will be given three (3) excused discussion attendances without penalty. Each recitation will consist of three parts: warm-up, attendance and completing the work. Warm-up is one point, attendance is worth two points, completing the work is worth one point. You can earn 50% of the points even if you miss attending your discussion section. To get credit for attendance you must be in discussion no more than 20 minutes late and you must stay until the end or until you're finished. Discussion reflect document must be completed by 11:59 pm on the Wednesday after the Monday discussion.
Individual extensions will be granted for medical reasons (see the Incapacitation form) or other circumstances beyond your control that must be presented with an official Dean's excuse or by talking to the instructors. We do not grant extensions after an assignment is due.
This policy is for assignments. See the APT section below for the policy for APTs.
Points on assignments will vary. Assignments typically take more time and require more thought and analysis as the semester progresses. Assignments will be weighted, those at the end of the semester will have more weight.
If you're having trouble, be sure to see a UTA/TA and preferably the professor as far before the due date as possible. Don't give up, PLEASE ask for help.
Algorithmic Problem-solving Testing problems (APTs) will be given throughout the semester. You'll be given a description of a problem and asked to write code to solve it - testing the code online and seeing the results of the automated tests. You'll submit the code for grading when you decide you're ready. We don't look at the source code when grading, we run it and test it. However, we may discuss alternative solutions to help you be effective programmers. It is explicitly forbidden to write code that looks for specific test cases -- such code will receive a grade of zero. APTs should be submitted by 11:59 pm on the due date. A one day grace period allows you to turn in APTs until 11:59 pm after the day they are due. Late APTs are not accepted. Keeping up with APTs ensures you understand the topics we're discussing in class.
There will be two APT quizzes during the semester. When you start an APT quiz, you'll have 2.5 hours to complete it. You'll have a three to four day window to block out the time you have to complete APT quiz problems. Typically this window will include a weekend.
Doing APTs beyond requirements can earn bonus points. In general, bonus points are useful for students close to the boundary between grade cutoffs, e.g., B-/B or A-/A or B+/A- and so on . We may use bonus points to move students who are slightly below a cutoff to slightly above.
There is absolutely no collaboration allowed on quizzes and tests/exams. This applies to APT quizzes, Midterm Exams, Final Exam, and any other quizzes and tests given during the semester.
In general we expect that you are taking 201 to learn and master topics in computer science. You cannot do this without doing work. However, we want to ensure that you are able to use best practices in learning. These practices include collaboration and finding online resources, but there is clearly some tension in learning material on your own and collaborating.
In no case may you ever show your code to someone as a way of helping them. You may ask for help with your code, e.g., in debugging it. However, you should never show your code to someone with the intent of helping them with their own questions. There is clearly a hard-to-enforce guideline here. We include this guideline to make it clear what we hope you will do as far as your own work.
For APTs, we allow collaboration while you are adhering to the "show no code" guideline above. You may find solutions to some APTs online. You will not learn how to solve APTs by using these solutions, and if you use code found online we ask you to document that in an APT reflect form as well as in comments in the code you write. Failure to document your collaboration and any online code you use can result in a grade of zero for the APT assignment.
For assignments, we sometimes allow partners. In general we encourage collaboration subject to the "show no code" guideline -- you may ask for help in debugging your own code for example. If you find code online, you should note this in the assignment reflect. If you don't document code you use, and we determine that you've external sources, we will use Duke's office of student conduct policies and you may receive a zero on the assignment.
You must adhere to the Duke Community Standard.
We will use several course web sites for this course.
Web Sites This Course uses
The syllabus, class notes, readings, assignments, apts, labs and other
resources are available here.
Grades, reading/knowledge quizzes and announcements will be here.
If you have any questions about the course, post your questions here
because it is seen by all the course staff as well as all the students.
This site is a useful
tool for seeing exactly what your program is doing when it is run.
Additionally, you may want to paste
your code there to help debug more complex issues --- always make sure your most current version is saved on your computer within Eclipse. Emergency Procedures
See
this link about what to do if there is an emergency during class.