This syllabus is subject to change; check weekly for new information.
Professor: Terry Harvey
Email: tharvey at udel.eduOffice: 408 Smith Hall
Office Hours: Mon 2-4 pm, Thurs 1-3 pm (except 9/6) or by appt
Appointments: if you can't make office hours, email your prof for an appt.
Phone (don't call, email!): 831-8234
Piazza (or email) will get a faster response (usually within 24 hours) for questions, appts, etc. Only use the phone for emergencies when you have no access to email (e.g., "I am in Patagonia and will miss today's exam.").
Teaching Assistants:
Hava Marneweck hava Fri 2-4
Joseph Buxton jwbuxton Tues Thurs 10-11
James Mannino jmannino Mon 2:15-3:15, 5:30-6:30
Hunter Suchyj hsuchyj Mon 11:15-1:15
Anthony Hewitt hanthony Wed 2:30-3:30, Fri 4-5
Matthew Gargano gargamat Tue 3:30-4:30, Thurs 9-10
TA office hours are held in Smith 203 .
This term we will be using Piazza for class discussion. The system is designed to get you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza.
This course has a mandatory co-requisite of Math 241 or higher.
Student Outcome Objectives:
- Develop abstract, computational data models
- Follow and explain a design recipe to go from an idea to a final program
- Develop test procedures for programs
- Write programs over atomic data, classes, mixtures of data, and data of arbitrary size
- Use basic input and output libraries for text, graphics, plots, and files
- Use function composition correctly
- Use conditional statements correctly
- Explain state, mutation, and scoping in programming
- Write iterative programs using for and while loops
- Write recursive programs
- Familiarity with basic searching and sorting algorithms
- Recognize basic time/space behavior of simple programs
- Abstract over and analyze simple programming patterns (refactoring)
- Write programs for numeric problems
Textbooks (click)
Useful Links
- Useful Links for 106 students
- Lab Assignments
- Projects
- Lectures
- Resources
- Assignment Submission Standards
- Coding Standards
- How to Get An 'A' in this course
- What is a TA?
Important dates, subject to change:
Midterm 1 | Mon Oct 8, 5pm |
Midterm 2 | Mon Nov 12, 5pm |
Final Exam Week | Dec |
Grade Breakdown
Percent of grade | |
Two midterms | 15 + 20 |
Final | 26 |
Labs | 14 |
Team Projects | 15 |
Lecture Participation + Clicker | 5 + 5 |
Total | 100 |
Grade Scale
Number |
100-93 |
93-90 |
90-87 |
87-83 |
83-80 |
80-77 |
77-73 |
73-70 |
70-67 |
67-63 |
63-60 |
<60 |
Letter |
A |
A- |
B+ |
B |
B- |
C+ |
C |
C- |
D+ |
D |
D- |
F |
Final letter grade rule: Your final grade cannot be more than one letter grade higher than your exam average. This is to ensure mastery of fundamental skills.
If you have a disability that
requires special accommodation, please
contact your professor by email during the first week of class.
NOTE: Students are required to attend ALL lab sessions. Electronic submissions are due at midnight unless otherwise noted; paper work (rarely required) must be handed in no later than the beginning of the following lab session (for example, you must submit the Lab 4 assignment no later than the beginning of the Lab 5 session). Assignments that are late are assessed a 10% per day late penalty, and after seven days they will not be accepted. Saturday and Sunday are each days. This policy is necessary because late assignments are burdensome for the TAs, both in terms of separate handling and separate time grading. Questions about grading must be brought to the TA or grader within one week of the release of the grade.
One quarter of the
semester lab grade will be a
lab attendance grade. This
grade is marked by your TA
(Absent = 0, Late = 1, Present
or Excused = 2) based on each lab.
NOTE: Students are
required to attend ALL
classes. I may make announcements in class that I do not post on the website. I will put any lecture slides on the web, but these are not a substitute for class notes. Many classes will have no lecture slides because we will be coding. It is your responsibility to get the notes from any lecture you miss from another student (not your instructor, and not your TA). Lecture material is critical for projects and exams, and useful everywhere else.
Your class participation grade is based (surprise!) on your participation in lecture. If you show up to every lecture and sit quietly and attentively, you can expect to get ONE out of five possible points. To get five points, politely ask and answer at least one question in every class. If you are unable to do this because of extreme shyness, see me during office hours in the first two weeks of the semester. Part of participation is being a good learning community member - once you have participated in class, be sure to give others room to do so.
Your clicker grade is based on the number of times you respond out of the number of opportunities. It is not based on the quality of your answers, just the number, so please click. An exception to this will be students who persistently choose invalid responses.
A Note About Programming Conventions
Every organization that writes code (and does it well) subscribes to a set of conventions for naming variables, commenting, formatting, etc.
Our class will have a style sheet posted on the class website. You must adhere to the specifications of the style sheet to receive full credit for an assignment.
"What happens if we don't do this?"
Horrible things happen. A program that works perfectly but does not have the features described in the style sheet cannot receive a grade higher than 60%, even assuming it is flawless in every other way.
Your Right to See and Question Your Grades
Students have a right to receive their graded assignments in a timely fashion. That said, remember that your TAs are students too, and have deadlines in other courses. The instructor and TAs will endeavor to get all assignments back to students within ten days of the submission date. If this date is not met, please bring it to the attention of the instructor.All students have the right to know how their grades are calculated, and if any student believes a mistake has been made, it is up to the student to contact the grader to discuss it within ONE WEEK of the return of the assignment. Contact the TA first for labs, homework, and projects. If you are not satisfied after discussing the grade with the TA, then you may bring it to the instructor. Bring exams directly to the instructor.
The grade percentages are on this syllabus. Please use them to calculate estimates of your semester grade. This class typically has little or no curve.
Academic Honesty
I expect you to observe the highest ethical standards, avoiding even the perception of ethical compromise. You are expected to do your own work unless explicitly instructed otherwise. This includes programming projects, labs, quizzes, and examinations. All violations of academic honesty will be handled according to University policy.In addition, copying another person's work without proper acknowledgment is plagiarism, a serious offense, and the one most common to computer science courses. Anyone that aids another student with work that is expected to be done without collaboration is as guilty as the person who seeks help. Both will be prosecuted. It is strongly recommended that you familiarize yourself with the University's Policy of Academic Dishonesty found in University Code of Conduct at http://www.udel.edu/stuguide/17-18/code.html
Any violations will be referred to the Office of Academic Conduct.
The Official Student Handbook.Any student who in any way facilitates another student's access to someone else's classwork is cheating, whether the classwork is written, electronic, verbal, or any other form.
Furthermore, there have been rare instances of people claiming that their work was stolen. In these cases it is very hard to determine if the person gave their work to someone else, or if it was taken without their permission. If there is any doubt, I will always assume that the work was deliberately shared. It is thus your responsibility to safeguard your papers, your passwords, your computers, and any other means by which your work can be copied.
Group or pair work is subject to the same rules, applied between groups or pairs.