Functional Problem Solving (CSC 151 2014F) : Handouts
Primary: [Front Door] [Schedule] - [Academic Honesty] [Disabilities] [Email] - [FAQ] [Teaching & Learning] [Grading] [Rubric] - [Calendar]
Current: [Assignment] [EBoard] [Lab] [Outline] [Reading]
Sections: [Assignments] [EBoards] [Examples] [Handouts] [Labs] [Outlines] [Readings]
Reference: [Setup] [VM] [Errors] - [Functions A-Z] [Functions By Topic] - [Racket] [Scheme Report (R5RS)] [R6RS] [TSPL4]
Related Courses: [Davis (2013F)] [Rebelsky (2014S)] [Weinman (2014F)]
Misc: [Submit Questions] - [SamR] [Glimmer Labs] [CS@Grinnell] [Grinnell] - [Issue Tracker (Course)]
Summary: The course front door provides a quick summary of the weights of various components of the course. The narrative on teaching and learning provides some general perspectives on how I teach, how I hope you learn, and how I grade. This document provides a bit more detail on how I will be grading this particular class.
My experience shows that students who turn in work late learn significantly less than students who turn material in on time. (I'm not sure about cause and effect.) Hence, I strongly discourage late assignments. Unless prior arrangements have been made, assignments are due at the time stated on the homework assignment (typically 10:30 p.m. on Tuesday evenings). Late assignments are penalized approximately one letter grade per day late (or fraction thereof).
Because I am concerned about your health and well being, I will waive the late penalty if (1) you start the assignment at least three days in advance of the due date; (2) you get to sleep by midnight the night before the assignment is due; (3) you expend a reasonable amount of effort to complete the assignment by midnight; (4) you turn in a note attesting to facts (1), (2), and (3) when the assignment is due; and (5) you talk to me ASAP about any problems you've had on the assignment.
If you are ill, I will make appropriate accommodations. Please let me know as soon as possible if illness will make it difficult for you to turn in an assignment on time. (And yes, I realize that it's not always possible to do so in advance.)
Note that this policy only applies to homework assignments. It does not apply to examinations.
As I suggest in my statement on teaching and learning, I don't think you learn the material as well if you don't participate actively in the class. I also know that if you're not here, you can't participate. Hence, a portion of your grade is based on a combination of your participation and attendance.
Because I do not want you to come to class when you are ill (and likely to infect others), I excuse most absences due to illness. I also realize that there are other exceptional circumstances, such as academic and athletic responsibilities that call you away from Grinnell. If you provide appropriate notification, I am likely to excuse such absences. However, I do expect you to limit excused absences.
If you miss class for any reason, you are responsible for notifying me. You may, but need not, specify the reason for the absence. I would prefer that you notify me via email before the class period. If that is not possible, you should notify me via email by 5 p.m. on the day that you missed class. With very few exceptions, I will not excuse an absence if you do not notify me of within this time frame. I expect that you will notify me, even if your absence is unlikely to qualify as an excused absence.
Students who regularly answer or ask questions and make comments in class will receive a base grade of 90 for participation. Students who make particularly good contributions are likely to receive a higher grade. Students who do not contribute regularly or who make comments that interfere with class are likely to receive a lower grade.
I scale your base participation grade based on your attendance. If you have two or fewer unexcused absences or equivalent (each excused absence counts as half an unexcused absence), I just use your base grade. Otherwise, I scale your base grade by 1-((A-2)/8), where A is the number of unexcused absences or equivalent. For example, if you have the equivalent of four unexcused absences (say, two unexcused absences and four excused absences), I will scale your base grade by (1-(4-2)/8), or 0.75.
There are a variety of situations in which students should know early in the semester that they will be missing classes later in the semester. Two such situations are sporting events and religious holidays.
Every Grinnell College coach provides his/her/zir players with a list of expected absences at the beginning of the semester. I expect you to share that list with me within the first three weeks of the semester so that we may reach a mutual understanding of how to balance the requirements of your sport with the requirements of the course.
I encourage students who plan to observe religious holidays that coincide with class meetings or assignment due dates to consult with me in the first three weeks of classes so that we may reach a mutual understanding of how you can meet the terms of your religious observance and also the requirements for this course.
In other similar situations (that is, situations in which you should know early in the semester about absences later in the semester), you should also attempt to provide me with information early in the semester so that we can reach an appropriate understanding.
We have tried a variety of strategies for homework in 151. This semester, we will assign one homework per week, except in weeks in which an exam or project is due. Almost all assignments (including most examinations and projects) will be due at 10:30 p.m. on Tuesday night.
I have tried a variety of approaches to grading homework. I admit to some fondness for an excellent/good/fair/poor scale, which looks at the big picture and not niggling details. But I also like using a detailed rubric that covers the various aspects of the assignment. I may be experimenting with multiple approaches this semester.
Since different people have different opinions, I thought I should let you know about my scale. Homework that is primarily correct will earn you a good (or, sometimes, a “check”). Errors will earn you a fair or poor. Significant errors may earn you a zero. Failure to turn the assignment in will earn you a zero. Particularly nice work will earn you a very good or excellent. At the end of the semester, I will convert the symbols to a letter or numeric grade. If your grades are mostly good, you will earn a B on the homework component of your grade. Very good and excellent grades will increase the letter grade. (Students who earn very good or excellent on at least 1/4 on the assignments are likely to earn A's.) Fair or poor grades will decrease the letter grade.
To help you monitor your learning, you will be required to complete a “wrapper” for most assignments. After reading each assignment, but before sitting down to undertake the assignment, you will complete a short survey that asks you to estimate the amount of time you will need to complete the assignment, and possibly answer some other questions. After you have completed the assignment, you will report how long the assignment actually took and reflect on any differences from your prediction. My colleague Janet Davis tells me that evidence suggests that doing such activities enhance learning.
Because students can often learn and accomplish more in teams, I encourage collaboration on homework assignments. However, I've also heard from many of our majors that they regretted always working with the same people, and that they too often felt compelled to work with friends. Hence, I will assign teams for most homework assignments.
I realize that not everyone wants to work with partners. I'll even admit that when I was your age, I generally preferred to work alone. Nonetheless, I know that working with others is an important skill, and so I want you to give group assignments a try. After the first two or three programming assignments I will give you the opportunity to decide whether you want me to continue to assign you to a team or whether you prefer to work alone.
The best way to learn is by doing. During most classes, you will work through programming problems with an assigned partner. However, in my experience, students do the work and then don't reflect back on it. I recommend that you take notes on what you've done in lab to prepare for quizzes and exams. Such notes are particularly useful on exams, which are typically “open notes”.
To encourage you to think carefully about the material, for most labs I will ask you to write up one or two exercises and submit them for review. I will do my best to let you know which exercises to write up, and will also post them on the course web site, both on the schedule and the list of labs.
You and your lab partner(s) may complete the writeup together or individually; you should decide which by the end of class. If you do the lab writeup on your own, you must acknowledge your partner (any anyone else who gave you help) in your writeup.
Your writeup should include your solution to each assigned exercise. If the exercise directs you to write Scheme code, include your Scheme code. If the exercise directs you to find out what the output of some expression is, copy and paste the output from the MediaScript console. If the exercise asks a question or asks you to explain something, write an answer in English. You do not need to copy instructions or problem statements from the lab exercises into your writeup, but do number your solutions.
You will submit your lab writeups online using Google docs.
Lab writeups are graded with an acceptable/unacceptable binary. Your write is acceptable if it includes a solution or evidence of serious effort for each assigned exercise. Your writeup is unacceptable if it was not turned in, if there was no evidence of reasonable effort, of if your answer is incorrect and you do not note that you realize it is incorrect. If you were not able to complete an exercise because of its difficulty, your work is still acceptable if you explain where you got stuck and come talk to me to get help. So, in case it's not clear, every diligent student will earn full credit for lab writeups.
Lab writeups are due at the start of the first class that comes more than a day after the lab is held. Writeups for Monday labs are due at the start of class on Wednesday. Writeups for Tuesday labs are due at the start of class on Friday. Writeups for Wednesday labs are also due at the start of class on Friday. Writeups for Friday labs are due at the start of class on Monday. You are, of course, encouraged to do your writeups sooner than that, since many labs build upon the previous day's lab.
When grading exams this semester, I will begin each student at 100 points and remove points for each error I encounter. When I encounter something particularly exceptional, I may add points. I typically guarantee minimum grades on examinations for students who spend a reasonable amount of time on the exam. (Warning: My view of “reasonable” may be somewhat longer than your view.)