Warning! This site is under development.

Frequently (or not-so-frequently) asked questions

This page represents 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.

Last updated: 2020-10-29

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 three days per week and you are expected to show up all three 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.

I have obligations at 10:00 a.m. I know that labs often run late in STEM classes. Will that happen here? (2020-10-29)

I will do my best to design labs that you can finish by 9:30 a.m. Failing that, you should be able to finish by 9:50 a.m. I will try to make sure that the portions you need to turn in can be finished by 9:30 a.m. You can work on the other parts on your own.

You note that the “theme” of this course is focused on the application of computer science to the humanities. Do the central skills taught in the course differ between different “themes”? (2020-10-29)

The central skills are the same in all themes. We learn a few different things in each theme, but the basics of algorithmic thinking and most of the Racket stuff carry from theme to theme. (You have the fortune of learning regular expressions and some Web stuff. Your exercises will focuse more on text processing than other classes.)

Would the reading problems need to be completed online or can they be handwritten? (2020-10-30)

I prefer that they be completed online. If there are reasons you’d prefer to complete them by hand, let me know and I’ll figure something out. (But I really do prefer that code be submitted online so that we can test it out.)

Where should we submit reading problems? (2020-10-30)

You will submit all reading problems on Gradescope.

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.)

Now that the course is online, you can certainly eat during class. But please silence your mic when you do so.

Is there a way to use a personal computer for the work in this course?

Yes. While we’re online, it will likely be necessary.

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.

It will be difficult to make it to the computer lab during the pandemic. You’ll be okay working on your computer. I’d recommend working during times that the evening tutors are working.

Is there a location where we can see a list of what activities will earn us more tokens?

I will tell you each day in class. The eboard or presentation for the class is available online, and that’s a good place to look. There’s also a news section that should be up to date.

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. I’m happy to discuss why at another time.

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?

In general, 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 new partner (group of two) almost every day. 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 (twenty-four in the new world of seven-week terms). 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.

About PB&J

What’s your favorite thing that’s happened in the PB&J exercise? (2020-10-29)

There are so many. But one year, after watching me rip apart the plastic bag for a loaf of bread when someone said “open the bread”, the next person just said “open the jar of almond butter”. I thought it would be funny if I slammed it against the table. Since the plastic is flexible, I expected it to bounce. But it didn’t. It exploded. All over me. All over the nearby students.

Isn’t peanut butter an allergen? (2020-10-29)

Yes. I don’t use peanut butter (or almond butter) when I do the course in person. I’ve been known to use sunflower seed butter, which affects very few people. I also keep a jar of pea butter (no, really) on hand in case someone has sunflower seed allergies.

About assignments

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?

I’m still working on that.

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 user interface 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 Wednesday 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 sometimes 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.