|
|
|
|
|
|
|
Aamir Azhar | James Cho | Sung-Hoon Kim |
|
|
Lecture:
Section/Time | Location | UTAs |
---|---|---|
SEC 001 (Rodger): Tuesday and Thursday White Lecture 107 10:05am-11:20am |
|
Kelsey Hopkins Aamir Azhar |
SEC 002 (Astrachan): Tuesday and Thursday LSRC B101 1:25pm-2:40pm |
|
Sophie Polson Ademola Olayinka |
Lab Sections:
Section | Time | Room | UTAs |
---|---|---|---|
01 | Wed 1:25-2:40pm | BioSci 130 | Jihane Bettahi, Monica Arniella |
02 | Wed 1:25-2:40pm | LSRC A156 | Alex Park, Hank Olken |
03 | Wed 3:05-4:20pm | Old Chem 025 | Jennifer Zhou, Monica Choe |
04 | Wed 3:05-4:20pm | LSRC A155 | Anh Trinh, Sung-Hoon Kim |
05 | Wed 4:40-5:55pm | Gross Hall 104 | Obezimnaka Boms, Sean Hudson |
06 | Wed 4:40-5:55pm | French Science 2237 | Rhondu Smithwick, Sean Snider |
07 | Thu 3:05-4:20pm | Old Chem 123 | Anna Sun, Colette Torres |
08 | Thu 3:05-4:20pm | Bio Sci 113 | Carine Torres, David Yan |
09 | Thu 4:40-5:55pm | Allen 326 | Austin Gartside, Sophie Polson |
10 | Thu 4:40-5:55pm | LSRC A247 | Larissa Cox, Tara Nagar |
11 | Wed 11:45am-1:00pm | LSRC A156 | Ademola Olayinka, Alex Boldt |
12 | Wed 11:45am-1:00pm | Gross Hall 104 | Bradley Cahn, Grant Costa |
13 | Wed 3:05-4:20pm | Soc Psy 128 | Daniel McKee, Samantha McLendon |
14 | Wed 4:40-5:55pm | LSRC A156 | Brynn McGovern, Michelle Chen |
You should be signed up for one lab. Labs are on Wednesdays and Thursdays. Labs start August 26, 2015.
How To Think Like a Computer Scientist - Learning with Python: Interactive Edition 2.0
by Jeffrey Elkner, Allen B. Downey, and Chris Meyer
How to get the book:
You will be assigned reading from How to Think Like a Computer Scientist. Readings will be posted on the calendar page for each lecture on the course website. In general you should read the text to be prepared to participate actively in class. If you've looked at material before it's discussed in class you'll get much more out of the class discussion.
There may be either reading or knowledge quizzes on Sakai due at 10am on the day of lecture. These reading quizzes will be listed on the course website if there is one due. Quizzes on Sakai must be completed by 10AM on the day of lecture, you will not be able to complete them after 10:00 AM on the day they are due. You cannot makeup missed quizzes!
Topics, Readings and Exam Dates are down below.
In each class the active 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). Class typically includes questions that you may complete individually or in groups, this 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.
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,A-); 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 (this has not happened at Duke, but could!)
You cannot earn a grade above A- without earning a grade of 85% or above on the final exam.
Labs | 10% |
Reading Quizzes | 5% |
Class/Group work | 5% |
Apts | 10% |
Apt Quizzes | 10% |
Programming Assignments | 15% |
Two Midterm Exams | 20% |
final exam | 25% |
The tests and final exam will be closed-book.
You are required to attend the lab for which you've registered in taking Compsci 101. You will typically work with a partner or in a group during lab. You will submit lab work electronically. Please bring a laptop to lab if you have one.
You will submit the lab work, either alone or as part of a pair/group as dictated by the lab. You must submit your work by Sunday 11:59pm of that week.
If you cannot attend your lab section in a given week, you are expected to still complete the material on your own and submit the lab by the end of the Sunday of that week for partial credit. No lab submissions will be accepted after Sunday. It is important to do each lab as they provide practice for the concepts you will be learning.
You will work in groups of two or three during lab. At least one person from each group must bring a laptop to lab each week. When working in a pair/group you must be present and an active participant in the lab for your name to be included in submitting lab work. Your lab work will be graded on a 4 point scale and based on how complete the answers are: complete and well done, reasonable effort but not well done/not complete, minimally complete, not done. If you are not in lab, but complete the lab on your own, you can earn three out of the four points, i.e., one point is for attending the lab and working there.
You must adhere to the Duke Community Standard in all the work you do in Compsci 101. Please be sure you've read the standard carefully.
Work on tests, final exam and APT quizzes must be your own work, you may not collaborate in completing these.
In working on and completing programming assignments and APTs you may collaborate and you may use online resources. However, we have designed the APT quizzes and the course midterms and final so that doing assignments and APTs largely on your own will help you do well on the work that must be done individually. Working with someone is a good way to learn about programming and to succeed. Copying someone else's program is not a good way to learn the material and to succeed in doing well in Compsci 101. We ask that in helping others you help them by discussion rather than by simply sharing code. Although sharing your code by simply providing it to others is not considered a violation of Duke's community standard in Compsci 101, we think it goes against the spirit of doing work collaboratively and learning together that we are working to create in the course.
When you complete a set of APTs or a programming assignment you must turn in a README form that will ask you to provide information including: how much time it took you to complete the assignment, your thoughts about the work you did and the assignment, a list of people you worked with or consulted with and a list of those people you helped in completing the assignment, a list of online/web resources you used outside of the the course website and text book. Completing the README when you turn in these assignments is required, and your assignment will not be considered as complete and on-time unless the README form is turned in on-time.
We will design tests and APT quizzes so that a thorough understanding of APTs and assignments will ensure that you can succeed in these assessments that must be completed individually and without collaboration or assistance. Although you may collaborate and discuss programming assignments and APTs, we think that you will not be able to program well on your own and you will not succeed in doing well on the assessments unless you have worked by yourself with significant effort in completing the programming assignments.
Assignments and APTs are typically due on Tuesdays or Thursdays. To be considered ontime, submission must be received by 2:00 AM of the next day, so that you have two hours after midnight on the day the assignment is due for it to be considered as turned in ontime.
Assignments received up to one-day late will receive a 10% penalty. Assignments turned in up-to one week late will receive a 30% penalty. No assignments are accepted after one week. STINFs and excused absences can effect the one day late penalty and provide three days of no penalty, after that the 30% penalty will be applied. You must fill out the google form on the forms page to receive the three days of no penalty.
We will use several course web sites for this course.
Dates | Topic |
---|---|
August 24-28: | General Introduction to Computer Science and Programming |
Aug 31 - Sept 4: | Python types, functions, Turtle Graphics |
Sept 7-Sept 11: | Functions, Strings, Loops, Conditionals |
Sept 14-Sept 18: | Functions, Selection, Strings, Lists |
Sept 21-Sept 25: | Files, Lists, Strings, Loops, Data |
September 21 | APT Quiz |
Sept 28-Oct 2: | Review of material |
October 1 | Midterm Exam I |
Oct 5-Oct 9: | Lists, Sets, List Comprehensions |
Oct 12-Oct 16: | Lists and List Comprehensions |
Fall Break, | No Lab |
Oct 19-Oct 23: | Tuples, Images, Two-Dimensional Structures |
Oct 26-Oct 30: | Dictionaries |
October 26 | APT Quiz |
Nov 2-Nov 6: | Dictionaries |
Nov 9-Nov 13: | Review of Material |
November 9 | APT Quiz |
November 12 | Midterm Exam II |
Nov 16-Nov 20: | Modules, Libraries, Scaling Concepts |
Nov 22-Nov 26: | Review |
November 23 | APT Quiz |
Thanksgiving, | No lab |
Nov 29-Dec 3: | Review and Preview of Computer Science |
Dec 9 (Astrachan) Dec 13 (Rodger) | Final Exams |