Frequently (and not-so-frequently) asked questions
These are my attempts to answer some questions that students have asked (in the first assignment, in office hours, via email, etc.)
Note that there may be some repetition on this page.
About the course
I see that the course is “Functional Problem Solving ‘with lab’”. When is the lab?
The lab is mixed in with the the regular course. There is no separate lab session. However, you should know that this course meets four days per week and you are expected to show up all four days.
How difficult is the course?
That’s a hard question to answer. Computer science is a different way of thinking. Some folks find it natural. Some folks find it nearly impossible. I see at least a factor of ten difference in the amount of time students take on some assignments (e.g., some students can complete an assignment in two hours, others will struggle to complete the same assignment in twenty hours). I’ve found no good ways to predict how difficult someone will find the course. I’m not alone in these experiences; faculty nationwide observe the same tenfold difference.
Of course, time spent is only one issue. Often, the people who seem to need to spend more time understand the material at least as well as people who spend less time.
How can I excel in the course?
Different students find different ways to excel. In general, one excels in my courses by taking an active approach to the material - read carefully, make lists of questions, ask questions in class, answer my questions, seek help when confused, discuss material with colleagues, and so on and so forth.
But I find students also excel when they engage enough with the material that they find natural ways to exceed my expectations - by finding new approaches, by doing creative things, by extending ideas.
Is the late policy the same for take-home exams as it is for assignments?
It’s similar. I expect exams in on time. I expect you to start them early. But I understand that students get sick or that unexpected things come up. In all such cases, you have a responsibility to notify me if you will not be able to get the work in on time. I’ll admit that I don’t recall a student ever turning an exam in late.
Can I eat small snacks (e.g., carrots, muffins) during class?
Yes, provided you keep them far away from the computers. (This policy may be modified depending on needs of other stduents in the course.)
Is there a way to use a personal computer for the work in this course?
Yes. We’ll explain how after the first wo or three works of course.
I was just wondering what kind of out of class work we were going to be doing. I’m just a bit worried that completing work out of class will be difficult if I can’t make it to a computer lab.
There are five regular kinds of work in CSC 151.
Daily readings. You should do the readings before each class period. We recommend that you do these with a computer at hand so that you can try things as you go. (That’s not strictly necessary; many students just read and reflect.) You should attempt the self-checks at the end of each reading.
Daily labs. You will do these in class, working in pairs. There’s sometimes followup work (usually less than thirty minutes worth). Most students find time during the day to finish that up in the lab.
Weekly homework assignments and projects. You do those outside of class in small groups. Since you’re working in small groups, you are best off working in the lab. We also have tutors available most evening to help with those.
Take-home exams. These take the place of some homework assignments. You do these on your own. You can use your own computer (with some software we provide) or the lab computers (where the software is already installed).
Weekly quizzes. Students study for these in a variety of ways, mostly by making sure that they’ve understood the readings and done the work on the daily labs. So, they can be done with or without computers.
So … three kinds of work in the class assume you’ll have access to a computer outside of class. Two more benefit from it.
Lots of CSC 151 students like working in our computer labs (Science 3813 and 3815). There’s a good sense of community in those rooms.
Please explain the units of extra credit.
You receive one unit (1/4 point) per activity. You can attend some specified academic events. You can attend some of your classmates’ activities. I cap each category at four units. So, if you attend four events in each of the two categories, you get two points of extra credit. The points are on a 100-point scale. For example, if you have an 88 at the end of the semester and do all of the extra credit, you’ll end up with a 90, effectively moving your grade from a B+ to an A-. I will occasionally mark some extra credit as “Miscellaneous”. Such extra credit can be used for either academic or peer support, whichever has the greater effect.
Is there a location where we can see a list of what the extra credit assignments are or if you will only tell us in class?
I will tell you each day in class. Both my outline for the class and the eboard or presentation for the class are available online, and that’s a good place to look. The latest eboard or presentation is probably the best place to look.
Are we going to be given due dates for each extra credit assignment, or are they due the night of the event?
I prefer to receive your response paragraph within two days of the event. However, I have been known to be somewhat lax on that deadline.
What’s the typical grade spread in this course?
I do not report grade spreads, as I see no productive value in them.
Are there any good online resources that you recommend that might supplement my understanding of what I am learning in class?
The front door has a link to some general materials about Scheme and Racket. But our course is unique enough that the best resources are probably people.
I understand that there will be a lot of group work in the course, which is fine. But how do you ensure that all students get hands-on experience with the techniques?
I give you individual work as well as group work and I change your partners a lot. Your mentors and I will also remind people to take turns at the keyboard. I expect that the approaches help ensure that everyone thinks about the material.
The Web site spent a fair amount of time discussing how to cite and use internet sources correctly. how frequently do you expect students to seek help from the Internet?
Evidence suggests that students regularly seek help from the Internet.
It’s rarer in this course, but it’s very common in my other courses.
Why do we use Scheme and not a language more conventionally used in college intro classes (from what I’ve heard) like C++ or Java?
Scheme is much simpler. The definition is small: There are fewer words in the definition of Scheme (well, the previous definition of Scheme) than there are procedures in the Java libraries. Scheme doesn’t have a lot of syntactic rules. Once you master parentheses, you’ve gotten most of the syntax. But, most importantly, Scheme encourages you to think in ways that we think computer scientists should think. Plus, Scheme is one of the few languages that we can use to write code I might call beautiful.
I am wondering how the groups will work. How will we get into groups and will they change?
I will assign you to groups, at least for the first few weeks of the semester. You’ll get a partner (group of two) every-other day and a partner for each homework assignment. In most cases, I will assign them randomly. In others, I may use particular criteria for doing group assignment.
How many hours per week should this class take?
Grinnell College guidelines specify that a four-credit course should require at least twelve hours per week. For this course, I break that down into four-and-a-half hours of class time, one-and-a-half hours of readings (about thirty minutes per class), one-and-a-half hours to finish labs not completed during class or to review those labs (about thirty minutes per class), three hours for homework, and one-and-a-half hours for review (on your own, or at a review session). If you find that you are spending significantly more or less time on the course than that, you should let me know and I will do my best to address the issue.
On the first assignment, which asked me to synthesize information from the course web, should I cite the course web?
The assignment clearly asks you to synthesize information on the web site, and so one could argue that such citations are unnecessary. Nonetheless, in an ideal world, you would provide a clear citation as to where you found each piece of information.
About the Course Web
The daily eboards look much nicer than what you type in class. How do I see what you type in class?
.htmlat the end with
.md. If there’s no terminal
.html, just at
What technology do you use to build the course web?
I write most of the pages in a markup language called “Markdown”. I use a broader system called Jekyll to build the site. I use Bootstrap to handle some of the formatting and UI elements.
Just to be sure, how am I supposed to figure out when assignments are due?
You can remember that almost all assignments are due Tuesday at 10:30 p.m. (But not all of them.) I’d recommend checking the course schedule, which lists all of the kinds of assignments.
About Other Things
What’s a “TLA”
Three-Letter Acronym. They appear a lot in computing (e.g., irc, pgp, gpg) and in other situations (e.g., irs, ssn). Too often, folks use TLAs without explaining them, and so I say “What was that TLA?” I also say that to myself, because I use TLAs a lot. These days, TLA may also stand for Grinnell’s Center for Teaching, Learning, and Assessment.
Do you prefer “freshman” or “first-year”?
The term “freshman” is gendered, and so the Grinnell Style Guide suggests that we use “first-year” or “first-year student”. I prefer “freshling”, but it hasn’t caught on.
Why do you address us by last name, but expect us to address you by first name?
I enjoy playing with notions of power and authority. I’ll probably use both first and last names with my students.