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: 2022-01-25 at approximately 2:30 p.m.
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’ve heard that this is intended as a “weed out” course. Is that really the case? (2022-01-25)
I’ve always tried to make CSC-151 a “fertilize” course; I love CS and want to develop students’ interterest in the field. I’m always happy when I convince a student to switch (potential) majors to CS.
But I don’t make it an easy course. My goal is to challenge you.
And if it’s supposed to be a weed-out course, it fails. We have lots and lots of students go on to CSC-161.
I see that we’re doing both exams (SoLAs) and quizzes outside of class. Does that mean they are open book? (2022-01-25)
You may use DrRacket, the Course Web site, and the Racket documentation for quizzes and exams. You should not use other people or the broader Internet.
How do you enforce the limitation on what materials we use on exams (SoLAs) and quizzes? (2022-01-25)
I don’t. Believe it or not, I trust you to follow those guidelines.
Does the department have a course in which we learn to manage larger projects, with tens of thousands of lines of code? (2022-01-25)
Traditionally, CSC-324, Software Design and Development, covers those issues. (You may not always end up with such a project, but you discuss the mechanisms for doing so.)
We are supposed to cite any peers we collaborate with on coursework. For the citations, is it simply “I worked with this person” to attribute credit to them, or is there a specific citation format we are supposed to use? (2022-01-25)
I prefer “I worked with this person on this part of the assignment.” Variants are certainly acceptable. I care that you cite, not that you cite in a particular format.
How do we download DrRacket, the IDE we will use for this class? (2022-01-25)
I generally prefer that you work in MathLAN, not least because it means you can get help from evening tutors, random CS majors, and each other. But if you want DrRacket on your computer, you can get it from https://download.racket-lang.org.
How do quizzes count toward our grades? (2022-01-25)
Quizzes will be individual learning assessments, so they count toward the LA grades.
Are the mini-projects every week? (2022-01-25)
Mini-projects are every week except for the weeks in which you have exams (SoLAs). The last mini-project will be two weeks.
Could you clarify the evening tutor times? (2022-01-25)
It appears I left old times in the syllabus. Evening Tutors will be Sunday through Thursday, 7–10 p.m., along with 3–5 p.m. Sundays.
What will happen if one of the students in class tested positive for covid and attended class anyways? (2022-01-25)
Let’s hope that doesn’t happen. My understanding is that transmission is rare between vaccinated people who are also masked.
Please get tested if you have symptoms.
Please do not come to class if you have tested positive.
Where did you grow up? (2022-01-25)
For most of my pre-college life, I lived in Newton, Mass.
From ages 1–3, I lived in Holland. I have no memories of that time.
I did college and graduate school in Chicago (at the University of Chicago).
What is your opinion on Noyce’s architecure? (2022-01-25)
While do not find the Noyce Science Center particularly architecturally interesting, I appreciate that Noyce has grown organically as Science has grown on Grinnell.
I’m still waiting for the Psychology Department’s report on their study on navigation in the twisty corridors of Noyce.
And I wish the trustees had been more committed to LEED principles in the most recent expansion.
How did you come to teach computer science at Grinnell? (2022-01-25)
About twenty-five years ago, I went on the job market. Grinnell was the best place I interviewed. It had (and has) awesome students, students who are engaged with learning and are interested in a broad variety of issues. It had (and has) faculty who care about teaching and who look to innovative ways to teach.
What are some of your favorite things to do when you’re not teaching? (2022-01-25)
I like to spend time with my family. (Unfortunately, my three sons are now scattered across the country.) I like to read and watch TV. I like to write; you can find my ‘blog at https://rebelsky.cs.grinnell.edu/musings. I also try to find time to exercise for my health.
Believe it or not, but I also enjoy class prep time. Or do you call that teaching?
What is your history with CS? What makes you like computing? (2022-01-25)
I have vague memories of doing some programming in high school, both at some enrichment program and on our old Apple II.
I entered college planning to be a math major (and I even graduated college as a math major). But I didn’t have enough of a growth mindset and quickly decided that I would never be a great math major. More importantly, when I took my first computer science class (in Lisp, if I recall correctly), I found that CS had everything I liked about math (particularly problem solving) along with the ability to construct things and to see your solutions “in action” as it were.
I went directly on to graduate school in CS. After that, I taught at Dartmouth for a few years, and then ended up at Grinnell.
Along the way, I’ve done the occasional consulting project and built a variety of software packages to support my teaching or my interests.
At what moment did you feel you knew what you wanted to do with your life? (2022-01-25)
I still don’t know what I want to do with my life.
What is a food you like? (2022-01-25)
Most fruits. I particularly like pears, crisp/tart apples (Jonagolds are great), and raspberries.
Also chocolate.
In your opinion what do you think the coolest thing you have accomplished with Computer Science has been? (2022-01-25)
Teaching one of the founders of the field of data science, a winner of a technical Oscar, and a bunch of other awesome students, not all of whom have gone into CS.
Developing the software we used for about a decade in CSC-151, which let students write programs that built programs using the GIMP, an open-source alternative to Photoshop.
The Mathematical Image Synthesis Toolkit, my current project, which combines my interests in CS and art.
Oh, and a bunch of small programs I wrote that let me laser engrave and cut plexiglass to make some small 3D sculptures.
What do you think is the biggest selling point of programming? (2022-01-25)
It depends on the individual.
Some folks enjoy the problem solving.
Some folks enjoy the feeling of building things in a virtual space.
Some folks thrive on the rush of dopamine when you finally get things to work correctly.
Some folks care about the compensation that usually accompanies jobs in programming.
For me, it’s generally the problem solving and the virtual building. But I still get that occasional dopamine rush.
Why did you become a computer science professor? (2022-01-25)
I started studying CS because I found it really compelling - I like making things and I like formal problem solving. I became a professor because I discovered I love seeing students learn and feeling like I had a part in that learning. I also seemed to some talent at teaching. These days, it feels like my vocation.
What do you think is the best thing at Grinnell College? (2022-01-25)
Two intertwined things.
The students, who I generally find to be genuinely nice people, engaged in learning, smart, and interested in a wide variety of topics.
Our need-blind admissions policy/practice, which permits us to provide an excellent small-college experience to large numbers of students who could not otherwise afford it.
Have you felt lost before? (not physically) How did you overcome it? (2022-01-25)
Wow. That’s a challenging question. Yes, I’ve felt lost many times. Usually, I just keep moving forward, hoping that I find myself. When I’m smarter about things, I ask people I care about (and who care about me) for help. I suppose I also look for things that ground/focus me.
What was the most difficult thing for your when you began CS? (2022-01-25)
I’m old. It’s hard to remember back that far. But one of the things that still challenges me is that when you encounter a new approach in computing, you often hit the same problem you hit in philosophy: It’s hard to understand the details without understanding the big picture, and it’s hard to understand the big picture without understanding the details.
I want to learn languages such as R and C. What online courses or in-person bootcamps do you recommend? (2022-01-25)
I don’t generally recommend bootcamps. They cost a lot and they often focus on surface-level leavning.
The Harvard CS-50 class (available free through EdX) is one of the better online C courses. That doesn’t mean it’s great; I found that it skipped a lot and made a lot of assumptions.
I don’t know a good resource for R.
I generally like the UCSD courses on Coursera.
Have you ever hacked any website? (2022-01-25)
It depends on what you mean by “hacked”. But the answer is probably “Yes”.
At the very minimum, I often try to break the Web sites students build for certain classes, since I think they have an obligation to consider security issues.
Do you have any recommendations for places to hang out at Grinnell (on-campus and off-campus)? (2022-01-25)
It depends on what you want in a hang-out space. I like spending time in the gallery, but I don’t do that enough. I like the CS commons, because I find people I like/know there. Saints Rest is a great coffee shop. I like browsing for books in the Friends of Drake Library bookshop. Central Park is nice (at least in the spring, summer, and fall). There are times I just sit with friends at Relish.
What do you like most about teaching here? (2022-01-25)
The students, who I generally find to be genuinely nice people, engaged in learning, smart, and interested in a wide variety of topics.
My colleagues (both faculty and staff), who I find care about those students and who are always interested in finding ways to teach better. It’s hard to conceive of better colleagues.
Who are your top 5 favorite musical artists? (2022-01-25)
It varies. Here are the ones that come to mind today.
I love Ella Fitzgerald’s voice (and song choice).
Perhaps because I’m from Boston, I find Jonathan Richman’s music (and live performances) compelling. I’ll admit that I prefer the early stuff with the Modern Lovers as well as the early-80’s material, but I still listen to him today.
Van Morrison’s Astral Weeks is one of my favorite albums of all time. I like lots of other things he does, too. However, I’m torn these days because of his stance of Covid.
James Jamerson’s bass playing made Motown great.
Although I’ve been sick of listening to them from time to time, The Beatles. They just made so much great music in such a comparatively short time.
In the end, my favorite artists are probably my three sons. I love to hear them sing together (and apart). I love to hear them play instruments, even the weird ones.
Is the UofC (also UChicago) really where fun goes to die (2022-01-25)
No, not in the least.
I was at the UofC when the national ranking of “fun schools” first came out and we were last. The ranking was clearly gendered and focused on three key issues: Booze, Balls (sports), and Babes (objectified women). Is that what you look to for fun? UofC students look to more appropriate methods of finding fun, such as discussing, debating, or arguing about topics. What better way to spend a Saturday night than being with friends, talking about things?
What made you consider taking your first computer science course? (2022-01-25)
That’s nearly 40 years ago; it’s hard to recall. I think it’s that I liked working with computers, so it seemed worth trying.
Do you have a favorite Linux distro / DE / WM for personal use? (2022-01-25)
I tend to use Debian, but it’s not a particularly informed decision. Sorry.
Are you a coffee drinker? (Pretty good set up for a joke about programming languages.) (2022-01-25)
While I like coffee, I’m trying to cut caffeine out of my diet. I guess the answer is “Not really”. (And the jokes are likely to be trite.)
What do you find most difficult in computer science? (2022-01-25)
Monads.
Besides teaching it to us, what area do you use CS for? (Data science, game dev, etc) (2022-01-25)
I generally use my programming knowledge to write small programs that make my life easier and to write programs that let me experiment with image making. At times, I use that knowledge to scrape the web for information. Sometimes I just play.
I use my broader CS knowledge as arrange the flow of data and information that come my way each day.
What courses do you believe are most beneficial to someone intending to pursue engineering? (2022-01-25)
It likely depends on the type of engineering. But I’d suggest (a) something that teaches you to write well (e.g., Craft of Argument), (b) Ethics, (c) a course that teaches you to consider people different than yourself, such as Intro Soc or Intro GWSS, (d) appropriate math, such as Linear Algebra and Differential Equations, and (e) at least a year of Physics.