About the Course/Instructor
CSC 161 - Imperative Problem Solving - Weinman
I will post answers to questions B.10 and C.11 from the questionnaire
assignment here as I receive your submissions.
- Note:
- Historical answers about the course may no
longer be accurate or relevant.
1 About the Course
- Q
- Out of curiosity, why is the hard deadline for all submissions
earlier than the institutional deadline?
- A
- The institutional deadline makes the most sense for courses
where term papers are the norm; because we have a scheduled final
exam, I want to make sure you have time for adequate preparation.
Moreover, it is not fair to a collaborative partner to work into finals
week when their finals schedule may differ.
- Q
- I don t think you mentioned it; does your no-fragrance
policy hold for this class as well?
- A
- The syllabus asks you to be
considerate of it when possible.
- Q
- If we want to finish the additional lab exercises, where can
we access MATHLAN computers to do so?
- A
- You can access the MathLAN
remotely or you can also use any of the MathLAN computers on Noyce
3 (so long as there's not a class in session).
- Q
- Are there any questions we may ask in class about material
or content that you would not be able to answer?
- A
- Um, probably something like, "What's the answer to the homework?"
- Q
- How much coding will we be doing on our personal laptops?
- A
- None will be necessary. It may be possible to complete some
individual homework assignments on non-MathLAN computers.
- Q
- Regarding citations-In this answer, I tried to follow the
Academic Honesty policy for CSC-161 as closely as I could. Looking
at my response, are there situations where I do not need to be this
strict, or is it better to always include citations like this?
- A
- The principle of academic honesty asks you to be forthright
with the intellectual source of your ideas and work. In your professional
work, respecting intellectual property law is equally important. Thus,
any time an idea is sourced from elsewhere or does not originate with
you, you have an obligation to make an appropriate note.
- Q
- Will we have any opportunities to revise our projects after
the grades are out, and if so, can we still get a max grade on it?
Will there be any extra credit opportunities?
- A
- There may be a few extra credit opportunities on some select
assignments, but no out of class options. You can submit assignments
as many times as you like before the deadline (or after, if you want
to take the late penalty). For the autograded assignments, this allows
you to track your progress and make revisions when necessary. However,
the schedule of the course and the demands on the graders will not
permit revisions beyond this.
- Q
- Why do you not include participation in the grading rubric?
It is just my first time seeing this type of rubric, that's why!
- A
- I used participation some in previous iterations, but in the
end I found it too difficult to make the sort of objective assessments
of learning and outcomes I desired, so instead I focus on demonstrable
artifacts and trust that you'll be good citizens regardless of whether
you earn class credit for it.
- Q
- How would you like me to cite my sources? I have used parentheticals
throughout this email, is that acceptable? Should I be using APA format?
Chicago Style?
- A
- This may surprise you, but CS has no standard citation format.
(Different publishers may, but that's not the same.) To me, the most
important point is for someone else to be able to trace the source
you are citing; that usually includes author name, title, and enough
additional information to locate the source.
- Q
- You mentioned that 30-50% of the exam questions will be taken
from labs, but about the short quizzes? Are they taken from labs and/or
will questions from the quizzes appear on the exams?
- A
- Short quizzes are distinct and tend to ask you to do simpler
things that check your understanding. Quiz questions will likely not
appear on exams. (Though I wouldn't rule it out, I suppose.)
- Q
- Where are the Lab deadlines? I see deadlines for the Projects
and for the homework s, but I can t
find any for the Labs. I know we need to hand them in on gradescope,
but I m not seeing any exact deadlines. There also
hasn t been a Lab 0 assignment posted on gradescope
yet.
- A
- In-class labs don't get submitted.
- Q
- Can I use an iPad for handwritten notes?
- A
- Thank you for asking. Since an iPad is a fully-functional computing
device (with the laden temptations, distractions, and potential cognitive
burden), I prefer them to be in the "excluded" category of electronic
devices.
- Q
- How can evening tutors be a source of support on projects?
- A
- If I understand the question to be beyond the mechanics of
allowable help, maybe they could give
you some inspiration/ideas or encouragement as you pursue your chosen
approaches.
- Q
- Could you provide more details on the types of problems we
can expect on the homework assignments?
- A
- They'll be quite variable, but I hope interesting opportunities
to put what you are learning into practice. They will not rely on
the robots.
- Q
- And who exactly are we supposed to collaborate with on projects?
Will you be assigning groups or pairs for this?
- A
- Yes, partners will be assigned for each module. We may make
amendments on the fly for absences.
2 About Me
- Q
- I saw you on campus while I was doing my MAP. How was your
summer?
- A
- Great! I took things fairly easy, since this was my first (entire)
summer in Grinnell for the last three years.
- Q
- What is something that you would like me to ask you about (question
10 above)?
- A
- Turnabout is fair play! :) You could ask whether I've cooked
anything interesting lately (I have a repertoire, but sometimes there's
also new things). I also hope to do a little more hunting this fall,
if I can find time. (Perhaps these two will intersect.)
- Q
- What is your favorite (or recommended) public land/park within
4 hours of Grinnell?
- A
- While I'm sure there are some good ones outside Iowa within
that 4 hour timeframe, I'll keep to Iowa since I've spent more time
exploring it. Two places that come to mind:
- Before I had kids, I really enjoyed a hike-in overnight camping trip
at Yellow River State Forest in northeast Iowa. It reminded me of
my time in western Massachusetts. (They may be nearly old enough for
us to return together.)
- My family loves to visit Ledges State Park near Boone, Iowa. The campground
itself is nice, if nothing special (though there is a "walk in"
section for a slightly more remote experience). The best part
is the canyon drive and the hikes. You get to ford the streams when
you drive (in summer, kids line the roadside to get splashed), and
it's also fun to strap on some sandals and hike through the streams
as well as up the hills.
- Q
- What has been your favorite course to teach and why?
- A
- I like teaching CSC 262 Computer Vision. It's my research area,
it's intrinsically cool (I'm biased), and students do a neat self-selected
project.
- Q
- What was your first job out of college?
- A
- What do you mean "out of college"? :-) I graduated, when
to graduate school, then came to teach at Grinnell. I never left!
(And I love it.)
- Q
- Among all research projects you've done, which one is your
favorite?
- A
- I'm still working on extracting information from old maps,
and is surely the project (or really, set of projects) I've spent
the most time on. They're just beautiful, interesting artifacts, and
when they cover an area you know well, they take your brain to interesting
places (i.e., "memory lane").
- Q
- What is something non-work related that you would consider
yourself an expert in? (or if not an expert, capable in/knowledegable
about)
- A
- I can't reasonably conclude I've spent 10K hours on anything
else of note. Perhaps cooking. I'm by no means a professional or trained,
but I attend to details (you'll know), I enjoy it, and I do cook a
lot, so I consider myself fairly capable in the kitchen (or the fire
pit). Tell me about your favorite recipes (or meals from home, wherever
they are in the world; I love to eat internationally!)
- Q
- Do you have to be a left-handed to be a CS professor? ( I have
Prof Rebelsky for CSC151 who is also left-handed)
- A
- Good observation from day 0! Last time I checked, it wasn't
explicitly part of the job requirements. :)
- Q
- What s your favorite (or favorites, as I understand
the struggle with personal superlatives) dish that your parents/grandparents/family
would make for you as a kid? Does it come with good memories? :)
- A
- Thank you for asking this; consdering the question brings me
joy. Some of my favorite family food memories originate with my grandparents
who were children of Scandinavian immigrants), particularly around
Christmas. So rice pudding, Swedish fruit soup, red cabbage salad,
meatballs, and Danish layer cake is Christmas eve to me. (I'll
gladly share my grandmother's recipes with anyone who wants.)
- Q
- You have mentioned your favourite type of reading, but not
your favourite book. What is it, if any?
- A
- Oh, favorites are so hard. I'll say anything by Paul Auster,
Haruki Murakami, or Neal Stephenson. I also really enjoyed recently
re-reading Carlos Ruiz Zafón, but mostly because I've spent two
years living in Barcelona, where his works are mostly set, so I "get"
a lot more of it now than the first time I read him, which really
added to the experience. (If I ever lived in New York City at all,
I'm sure I'd enjoy Auster even that much more and would gladly re-read
his canon.)
- Q
- Why did you like C programming, instead of other more modern
languages.
- A
- I'm not sure I'd say I "like" C programming. It's
been a long time since I needed to write in C for my own research,
but it is essential for a wide swath of activities that need to interface
fairly directly with hardware. That said, we teach a course in C so
you can begin to learn about the hardware/software interface. (For
much more about that, see CSC 211 Computer Organization and
Architecture, which you could take next semester and build your own
computer from the humble transistor all the way up!)
- Q
- What s your favorite food and color?
- A.
- Burnt ends. Green.
3 2024F
3.1 About the Course
- Q:
- Are we expected to do all of our work on the Noyce computers?
- A:
- While you are welcome to create your own C development environment
(i.e., on a personal computing device), I won't generally be able
to provide support for you to do so. macOS comes with LLVM/clang (which
we will use for the course). Any Linux distribution should make it
easy to install/use clang locally. The internets supposedly say LLVM/clang
is available for Windows (https://clang.llvm.org/get_started.html#buildWindows)
but I have absolutely no experience with that.
Alternatively, you may connect to a MathLAN machine remotely via your
web browser through https://remote.cs.grinnell.edu. This won't
allow you to do robot based work, however. For that, you and your
partner will almost certainly need to huddle in Noyce 3.
- Q:
- Is it permissible to discuss a completed, fully turned in
homework or project submission with others? As in, if I have already
submitted a homework, can I then discuss my solution with a friend
who took the class in a previous year, or would that be in violation
of the academic honesty policy?
- A:
- To avoid confusion about all sorts of potentially unusual
special cases I can think of, let's say that an assignment can become
fair game for broader discussion (beyond the instructor) once it has
been graded and grades released.
- Q:
- Are the projects going to be finished in class in one day
or over a period of time after the module?
- A:
- Although the time varies with the project, you'll generally
have several days to complete and submit each end-of-module project.
- Q:
- Often when I end a command with & ,
the terminal outputs something like 1] 86710 .
What does this mean?
- A:
- The [1] is the backgrounded job number (you can background
many jobs, and it's helpful to be able to refer to them specifically
if you want to terminate one or bring it back to the foreground.)
The second number is the "process
ID". Essentially each running program is called a process, and
the operating system needs a way to refer to it globally. (The terminal's
background job number is valid locally only within that terminal window
for a short time. PIDs, as they are called, can get very big and only
wrap around infrequently, so they are more-or-less unique.
- Q:
- How precise can the scribbler robots be? I remember interacting
with a similar robot and struggling to make polygons that close with
the pen, even though my math should have been right.
- A:
- Would you believe I have never actually used them for drawing?!
But if their sensor accuracy is any indicator, I'm guessing the actuator
precision is also fairly low. These are educational robots, after
all. However, if you need a fresh one for a project (not one that
has been banging around the CS lab for over a decade), we have some
"new" ones still crisply in their original boxes.
- Q:
- How often will we not be able to complete labs in class?
- A:
- This is a great and super important question. It is likely
that all of the labs are longer than the allotted class time. So it's
normal not to complete them. What you do with the uncompleted part
is up to you, as it's really about how comfortable you feel with the
day's topics.
- Q:
- How easy is C to pick up?
- A:
- As with most (interesting) things, the most accurate answer
is, "it's complicated." Doing super basic programming things is
fairly straightforward, though C is not a high powered language that
does a lot for you the way some more modern languages do. However,
it is a systems-level language that allows you to control a lot of
things in a way that those modern language do not. As a result, if
you want to learn to control those things (which we will do a fair
bit of), there's a lot to master, and we'll spend the semester trying
to get a good handle on many of them.
- Q:
- I am confused on the testing documentation process. Would
you be able to explain a little more about the generated transcript
and what we should write in our testing file?
- A:
- Your test file should document the range of scenarios (e.g.,
input values) that can occur, and then document (as specifically as
possible) test circumstances that cover those cases, as well as the
expected outcome. The transcript is just a recording of your program
compiling and demonstrating that tests of the sort described in your
file have been run (and hopefully produce the expected output/result).
- Q:
- What does the start of class normally look like? I prefer
a nice mental warm-up and a quick rundown of what is due in the near
future + what the goal of class will be that day.
- A:
- Administrative notes (upcoming events, talks, mentor sessions,
homework deadline reminders). Then clicker questions after perhaps
briefly setting the context for the day. There are exceptions to this
general format but it's common.
- Q:
- How will we work on homework assignments? Such as, will we
have to be in the room using Grinnell's computers, and if so, how
can we avoid people seeing answers if we are in the same room?
- A:
- You certainly may code in any of the classrooms on Noyce 3.
It's a common enough situation that "student working at console"
is not a concern we have. (Hopefully no one will be peering over shoulders!)
However, you will want to be sure you don't leave your console unlocked
with your code up on it. (Or maybe don't set your font size to 44
pt.) :)
Individual homework assignments can also be completed via the "remote"
MathLAN (https://remote.cs.grinnell.edu. (The robots won't
work remotely.)
- Q:
- What do you think is key to not only doing well in this course,
but generally in learning a new programming language?
- A:
- I posted previous students' tips for this question on the
main page and I largely think they have it. In sum, start early, revise,
and build good habits (both study and programming). To learn a new
language, I myself usually have a problem I need to solve. I don't
get it right or elegantly the first time, so revisions are usually
needed. But the main thing is to try and do, not just read or copy/paste.
To get it into our brains we must understand and adapt.
- Q:
- Will the more detailed topics for the quizzes be announced?
- A:
- See the Learning Outcomes. Each module quiz covers the topics
introduced during that module.
(Though note that language learning is cumulative. For example, once
you know how to write if statements (conditionals), it would
be expected that usage of these might continue to occur, not that
we would be assessing for them directly.)
3.2 About Me
- Q:
- Which module is your favorite to teach to students?
- A:
- Ooh, no one's asked that specific question before. Perhaps
Module 100 because we get to use images, which can be fun data objects
to manipulate. (Learning the mathematics of image processing got me
started as a computer vision researcher 25 years ago.)
- Q:
- What was your sabbatical like?
- A:
- Wonderful! I (re)joined a research group there with interests
closely aligned to my own, started a project, answered some research
questions, published a couple of papers. And ate lots of delicious
local food. While I had an office at the local university, I also
chose to work regularly in municipal libraries all over the city,
because each has its own feel. They are beautiful little ecosystems.
(Also, not having to pay close attention to my calendar was really
nice.)
- Q:
- You asked me in class what I plan to read this semester, so
I am curious to hear what book(s) you plan to read. Or just what kind
of books you like.
- A:
- I like a variety of books, but I stick mostly to fiction,
as I get enough non-fiction in my work life. Whether it's more "literary"
(usually modern), or the occasional thriller mystery, I generally
read for pleasure. I like books that take me to another time, place,
culture, broadening my horizons (e.g., Amitav Ghosh, Olga Tokarczuk).
One of my favorite authors is Paul Auster. From the Grinnell community
library this weekend I just checked out Martyr! (Kaveh Akbar),
The Bee Sting (Paul Murray), and Touched (Walter Mosely).
4 2021F
4.1 About the Course
- Q:
- I was wondering if students could bring in their own keyboards
to use in the computer science labs. They're neither glowy nor flashy,
but I find using my own keyboard much easier - and cleaner - than
using the generic lab keyboards.
- A:
- I have no intrinsic objection to this. However, there are
a few practical matters to consider. First and foremost, you'll be
pair programming throughout the semester. That means both you and
your partner will be switching off who is "driving" the computer
at the keyboard.
Traditionally, this task division between driver and navigator
is physically enforced by sliding the keyboard back and forth. If
you're ok with that, then we're done here.
That said, according to "the internet", plugging in more than
one USB keyboard to most operating systems will just merge the inputs.
So, in theory you could each use your own keyboard. That is
a bit peculilarly exceptional, and I tend to prefer more uniform,
equitable behavior among the students. But if you really insist, I
would ask that you and your partner not both try to act as driver
in this case. One of you should very clearly shove their keyboard
away and have it literally out of reach when functioning as the navigator.
(Oh, and if you do ever disconnect one of the regular keyboards, please
remember to plug it back in when you're done!)
- Q:
- Is it fine to use a Mac computer for this class? Is a windows
computer better than a Mac for this class?
- A:
- The programs you'll write for the robots will be easiest done
on the MathLAN Linux machines, where the supporting MyroC libraries
are installed. (It's possible to get these for macOS, but it's not
necessary. Everything robot-related will be done collaboratively.)
macOS comes with the same C build environment (llvm/clang
that is fairly transparent and functions basically identically to
the MathLAN. So long as you're writing standards-compliant code, it
should be fine to develop your (independent, non-robot) code on that
platform.
The web readings work anywhere. :)
- Q:
- Whilst learning to programme for C, is it okay for us to use
another text editor like Visual code studio? Is there any consequences
of not using the particular text editor that we are going to use in
class?
- A:
- For your own personal learning and development, it is fine
to use any editor and environment that you choose. However, the one
we expect everyone to know is Emacs and the terminal command line.
It would be unfair to thrust your partner into a foreign environment
(or your instructor and mentor, for that matter) and expect them to
be a capable driver. Thus, for working with your partner (particularly
in class, but also elsewhere), please plan to stick to Emacs and the
terminal.
- Q:
- Will we be using the computer lab computers for all work/homework/labs?
- A:
- Yes, more or less.
- Q:
- When you say that the grading brackets may be adjusted upward
but not downward, do you mean that a student who is one day receiving
an A- may later be receiving a B+ with no change in the numerical
value of their grade? Under what circumstances would that occur?
- A:
- No, I mean the reverse; that is your letter grade moves upward.
(The better one.) That usually happens if/when I totally bungle the
rubric. (Which hasn't actually happen, but I reserve the right to
make profound misjudgments! :)
- Q:
- What style of formal citation do you prefer for outside sources?
- A:
- Any that allows the educated reader to find the original.
Usually that means including an author, title, and publication venue
(frequently, a URL).
- Q:
- I was wondering on exams, will you care about the simplicity
of code, or does that just pertain to projects and homework?
- A:
- A little bit, but it's not the overhwelming concern. Your
first task should be to get correct code. (All other things being
equal, a reasonably clear/concise expression and/or simpler algorithm
is likely only to make the difference between one letter grade level,
such as a A to n A-, or maybe B/B+ if the problem does not count for
many points to begin with.)
- Q:
- For the grading, I noticed best of homework and midterms count
toward 5% of my final grade. What does this mean?
- A:
- It means the grade is calculated as ...+0.05×max(homework_avg,exam_avg)+...
- Q:
- When can we work on Labs that we didn t finish
in class? Which machines in campus can work on?
- A:
- Any time you want to! (But you should be sure to get a good
night's sleep.) Well, I suppose that the lab does get physically locked.
You can see the hours posted on the door.
Any MathLAN machine is a candidate (all the Noyce 3 computer classrooms),
but the only ones with robots are in 3815 (our classroom) and 3828
(the CS Learning Center). Note there are classes in 3815 8:30 am-11:50
am and 1 pm-3:50 pm MWF.
- Q:
- This has sorta been answered on the website and in class,
but do most people generally finish labs in class?
- A:
- Pretty much never. That's normal, so don't take the answer
as demoralizing. An early version of these lab materials had an arbitrary
"in-class exercises" and "after class exercises" section.
The delineation seemed completely arbitrary and misleading to me,
plus people's performance is highly variable. So I removed it. Consider
the moral to be that there's always more for you to practice! When
you feel like you've spent enough time on the topic for the day, then
you can stop. (Just remember about those exam questions coming from
the labs.)
In any case, if there's something I really want to be sure you get
to, I'll assign it to turn in.
- Q:
- Are we not using P-web anymore to submit works? Why is it
so?
- A:
- Gradescope is a far more powerful platform for quick feedback
and efficient grading. Plus, it allows us to grade some elements of
your code using other computer programs to check for correctness.
- Q:
- Will we ever work in larger groups than two people?
- A:
- Only if there's an odd number of people in the course. Then
there will be one group of three. Two is an ideal number for the scale
of tasks in this course.
- Q:
- As someone with a very little experience with CS, how can
I gain more exposure to the subject beside taking the course? Are
there resources I can tap into to gain more experience during the
summer, or a break, or any chance to learn out of class?
- A:
- We do a lot to try to build community in our department. You
can come to the seminar speakers, join some our related clubs or activities
(i.e., the ACM Student Chapter or Code Club at the library, which
teaches coding to middle schoolers). During the summer you might look
for a research opportunity (i.e., MAP) or a summer internship (CLS
will be a big help there).
Of course there are a huge number of online resources. Rather than
blandly follow a general tutorial on "Learning X" (say, where
X is some language), my recommendation is to pick a problem or task
that is interesting to you and that you care about, and using that
as a motivation to learn whatever it takes to solve the problem.
- Q:
- I guess a question I can ask is what the Grinnell environment
like is because I have only been to the same school from 5th grade
to graduating high school and have not been able to know any social
skills and have not seen new people since being in the same school
for 8 years.
- A:
- Wow, that's amazing. I'd love to hear a student response to
this one. But I'll offer that Grinnellians are quirky and passionate.
Some very much so, especially about causes they care about, and sometimes
that extremity comes off in ways that are counter to treating people
with dignity and respect. But Grinnellians come from everywhere and
have a wide variety of experiences. Don't compare yourself to others,
but learn from what their experiences may have to offer you.
4.2 About Me
- Q:
- Light mode or dark mode?
- A:
- I nearly always use my computer during daylight hours only,
so I guess light mode works well for me.
- Q:
- Do you plays video games? If so, which ones?
- A:
- Nope. The last game I tried to play was Halflife (the original)
more than 20 years ago. Perhaps five years before that I had an (original)
NES and regularly beat Super Mario Bros. 3. Perhaps yet another five
years before that I saved up $75 to buy a used Atari (can't remember
the version; not the 2600) and a box of cartridges.
- Q:
- Why did you (Prof. Jerod) started doing Computer Science?
- Q:
- How did you get into CS in the first place? What do you like
about it?
- A:
- I was quite fortunate to be first exposed to programming around
seventh grade. I loved the magic getting the computer to do exactly
what you wanted it to do. It truly felt like wizardry. That, and I
always enjoyed the building and problem-solving aspects of it. Hooked
from the beginning!
- Q:
- What are some hobbies that you like doing?
- Q:
- What do you do when you're not teaching? I'd love to hear
about your interests and how they intersect with your work at Grinnell!
- A:
- Outdoorsey stuff includes: camping, mountain biking, hiking,
kayaking, and fishing. Others are cooking, especially grilling and
barbecuing, but I also cook a lot of international and regional foods,
so please share your favorites with me! I probably spend most of my
free solo time reading. (Not that much, considering two kids are part
of the picture!)
I also appreciate musical, drama, and sporting events featuring our
wonderful students. Tell me about yours and I'll see if I can make
it. (It often depends on kids...)
- Q:
- How was your day?
- A:
- Been good so far! I'm still getting used to doing work in
person. (And packing enough food for lunch!)
- Q:
- What attracted you to do research in Computer Vision?
- A:
- My first exposure was in a course on the mathematics of image
processing. I was taken by the idea that these truly abstract operations,
for which mathematicians usually have pictures in their head, could
actually produce visuals I could see. Over time, I grew to love thinking
about the conundrum of how effortlessly we see and process visual
information yet how challenging it is to understand and replicate
that capability with computers.
- Q:
- What is your most frequently played song recently?
- A:
- Oh, that's funny. Strictly speaking it's probably "A"
by the Gits, because that's the one that always comes first when my
iPod connects to my car stereo. Otherwise, I generally listen on shuffle
(when I do, which is mostly when I'm mowing the lawn or the occasional
long drive, for as long my family will tolerate it). With 22K+ songs
on my playlist, I rarely hear the same stuff.
Otherwise, there was an article in the New York Times magazine last
week about Meet Me at the Altar ("Saving
Pop Punk? That's Just Their Warm-Up Act"). Since I still listen
to a lot of punk rock (mostly from close to the turn of the millenium
and before), some of it pop punk, I was intrigued to learn about what's
been going on in the area. I put some of their YouTube videos on for
a while over the next day or two. That's been about the heaviest I've
listened to recreational music (especially new music) in a
looooong time.
- Q:
- If an enormous asteroid was coming towards Earth and the crumbling
of society was certain, would you travel to the point the asteroid
was hitting or to the opposite side of the planet?
- A:
- That's one of the deepest questions we've had here in a while.
I've thought of good reasons to do both. Consider me unsettled. I
appreciate that reflecting on these things uncovers elements of my
values in beliefs that I don't spend time processing deeply on a daily
basis.
(If it makes you feel any better, my son asks me simple questions
of the form "What's your favorite ___?" which I can never answer
either, because I am terrible with personal superlatives.)
- Q:
- What is your favorite TV show?
- A:
- I haven't lived in a house with a television since 2001. I
know it can be watched on the internet now, but I don't. I prefer
to read fiction, but I do watch the occasional film when I am too
exhausted to want to read.
- Q:
- Do you like C?
- A:
- Hrm. Yes, I suppose. It has its place, but I probably wouldn't
try to do too many big things with it myself.
- Q:
- The application of C in real world programming and app development.
- A:
- Hm. That's not really a question, but I guess I'll give it
a go. C still gets used a lot for controlling embedded systems (that
is, usually stuff that works on things in the real world, like robots
or anything with a sensor and/or actuator). However, learning about
what other programming languages must always worry about under
the hood (which we'll be exposed to with C) will always be useful
for you.
- Q:
- I am wondering if we can discuss machine learning in the future.
- A:
- Well, if that's can we discuss future ML, maybe not. I don't
have a very good crystal ball. But if it's can we discuss ML at some
later date, then sure.
- Q:
- Do you have any pets?
- A:
- No, not since I was in middle school.
5 2019S
5.1 About the Course
- Q:
- What is your advice/tip to go through CSC-161 readings?
- A:
- Don't get bogged down in the details, but don't overlook them
either. First, read the items in the order I've given them. (So if
a textbook reading comes before a webpage we've written, read from
the book first!) Second, for each reading section, ask yourself
What is the most important sentence/idea/example in this reading?
Prioritizing information is an essential critical reading skill and
worth practicing. (Of course, you should also attend to the procedure
given in section 5.1 of the syllabus.)
- Q:
- In 151, I had a few issues with partners who did not do any
work or not show up at all. In situations like this, what are some
things that can be done to prevent our grade from decreasing?
- A:
- First, you should tell me if you partner is consistently uncooperative.
Although you will have the opportunity to provide feedback on your
assigned partners (which will contribute to my assessment of them),
your goal in this situation is to make sure your current learning
needs are taken care of. While I expect a certain amount of maturity
in handling (and learning to handle) interpersonal management, sometimes
matters rise above that expectation. Please let me know when you worry
for your ability to complete work in a timely fashion.
- Q:
- In CSC-151, I was used to having take-home exams which I felt
more comfortable with as I could run my programs, identify my errors
and debug the program accordingly. It also helped me to write a more
efficient program in general as I could spend more time on the programs.
Why is the in-class examination style preferred for CSC-161?
- A:
- Being able to think through problems and sketch out solutions
on paper is an important real-world skill. To be productive, you need
to think clearly, rather than extensively relying on the compiler
to catch silly errors (in many ways, your human grader is smarter
than the compiler) or just trying code to see what works. In that
way, I get a better assessment of how well you can really think.
Moreover, it takes you 4-6 times longer to complete a take home
exam and it takes me at least 6-8 times longer to grade them. With
400% more CS students than when we started giving take home exams
in CSC 151, that kind of time becomes much harder for faculty to find.
- Q:
- How hard is it?
- A:
- Everyone's experience in the course is different, and that's
largely because everyone draws on different levels of experience.
I believe everyone can learn this subject. The more you practice
it, the less difficult it becomes (which is of course true of just
about anything).
- Q:
- What are the best ways to review materials in order to fully
understand the procedure that I learned in class and be able to apply
them to advanced problems? (In addition to hw assignments, labs and
other classroom exercises)
- A:
- As I mentioned before, prioritization. You can also use the
terminal man pages for quick reference.
- Q:
- Do we get extra credit for catching errors in the professor's
code?
- A:
- Not explicitly, but I tend to take such notices/feedback as
a good sign and it reflects well on your participation.
- Q:
- What are your concerns about this course/what don't you like
about teaching it? How does C compare to other languages you know?
- A:
- The finickiness of the robots is occasionally a pain. Otherwise,
I enjoy it.
C is dreadfully simple. (Emphasis on the dread.) Because it's so low
level AND interpretation of many things is so dependent on the specific
platform, writing correct and portable code can be a challenge.
5.2 About Me
- Q:
- What kind of car do you drive?
- A:
- A 2001 Jeep Cherokee. (It's in the shop now and may be on
its last axle sadly.)
- Q:
- What's your parenting philosophy?
- A:
- Attachment (lots of emotional support) and self-guided limit
learning (you can do what you're big enough to do; just try not to
break your arm).
- Q:
- Do you like Grinnell Dining Halls?
- A:
- It's way better than my college dining hall was (though that
was 20 years ago; it's comparable in quality to Grinnell's today).
So yes, I always enjoy eating there. (But I am sensitive to the fact
that I don't eat all my meals there.)
- Q:
- How do you feel about the weather in Grinnell?
- A:
- I like having four seasons. (And it helps that I have both
a snowblower and an affinity for cross-country skiing, even though
I prefer downhill.) So, all in all, I suppose I like it as well as
anyone might.
- Q:
- what is the most interesting research you ve
ever contributed to?
- A:
- Tough one! I love the current
project I'm doing on extracting information from old maps, but the
first research project I did as a graduate student had potential for
significant impact: estimating
the volume of stroke lesions from MRIs to help doctors make clinical
decisions. I've done several others,
too.
- Q:
- Why did you choose to become a CS teacher instead of going
into industry?
- A:
- The short (true) version is that I worked as a summer intern
at a company in the financial/market industry, and as a twenty year
old I didn't really like the stories the grizzled software veterans
told (even though I had fun for a summer), so I thought I'd go to
graduate school to define and work on bigger problems. Eventually
I decided that competing with myself to be a better teacher (you're
important!) was way better than competing with other professors for
grant dollars in a more research-oriented academic environment.
- Q:
- What is your favorite place in the world?
- A:
- Snuggled up on the couch reading a book with my two boys.
Ok, I twisted that one. But here's another
wonderful place from my life. Nothing particularly special about
it, but the Eastern hemlock forest and the converging brooks are just
magical. I love the way the sunlight in summer drifts through the
woods like slow falling snowflakes on a calm winter day.
- Q:
- Opinion on pineapple on pizza?
- A:
- I'm definitely down. Even better on grilled pizza.
- Q:
- What are things that you enjoy most besides teaching?
- A:
- Cooking (everything except baking) and reading fiction. (Not
usually at the same time.)
- Q:
- Is the education system for tech/computing/STEM in a place
where you are satisfied? If no, what would you do differently?
- A:
- We're (as a discipline) woefully understaffed and many of
us are ignorant of evidence-backed practices for quality teaching
(and now we're too overworked to get caught up). So if I could wave
my magic wand, those are two things I'd fix. Then we can work on culture,
etc.
- Q:
- What nerd things do you like?
- A:
- Hm. I don't generally like reading SciFi, but I do like reading
work by Neal Stephenson. (I'm not sure whether he'd like that as an
answer to your question.) I like learning new hacks for solving problems
(like cool shell command sequences). To name a couple.
- Q:
- What is the coolest thing you or a student have made the MyroC
do?
- A:
- I hope to convince some of the students in my Computer Vision
class this semester to use the camera to do something cool.
- Q:
- What courses did you take outside of computers when you were
in college?
- A:
- My minors were "Philosophy and Religion" and "Science,
Technology, and Society" so mostly courses in those two areas. (My
second major was Applied Mathematics.) I also audited Ancient Greek
101 right before I finished my PhD.
6 2017F
6.1 About the Course
- Q
- Will we learn about efficiency & big-O notation?
- A
- We will not formalize our study of efficiency, though we will
certainly keep it in mind as we discuss linear structures (arrays,
lists, stacks, queues). These topics are more thoroughly discussed
in CSC 207 and CSC 301.
- Q
- Will we work on programs not for scribbler robots?
- A
- Yes. (And I hope you might even find some of them compelling.)
- Q
- How hard is to get an A in your class?
- A
- The annoying answer is "it depends." My hope is that the
rubrics and expectations are fairly clear from the beginning. My goal
is that you'll know what you need to know or be able to do for every
assessment. The "depends" part is based on how much effort it
takes each individual to master those skills.
Everyone can do it, however. As an example, I started riding
a bike with training wheels; once those wheels came off (perhaps age
six), I likely accumulated a few skinned knees during my practice.
However, my son started "riding" a bike without pedals (sometimes
called a strider or balance bike) when he was two, and for two years
he learned to push with his feet and gain balance. When he got a pedal
bike last week, he took off riding the very first time like he was
an old pro. He and I both learned to ride in our own time, but it
seemed "natural" to him because he'd had so much more background
preparation.
Learning computational thinking is like that. How much effort it takes
depends in part on how much you practice all the supporting skills.
- Q
- Will we have the same partners for projects and labs?
- A
- Within the same module, yes. Once the new module starts, we
will switch partners.
- Q
- Will the Exams ask for us to write extensive lines of code
and if so, how will it be graded?
- A
- The exams will ask you to write short sequences or complete
functions to a given specification. They are typically assessed by
how many elements of a correct efficient solution are present, and
less about whether you matched all the parentheses or braces correctly
(assuming you formatted the code well-enough that I can understand
your intent).
- Q
- Are the exams open note like in CSC 151?
- A
- No. Though references for the robot library will be provided
when necessary.
- Q
- Under citing sources, the instructions say to include
textbook(s), CSC 161 labs or readings; ... use complete citations
for Web or other written sources. Does this mean
that we do *not* need to use a full citation when citing our textbook/course
materials?
- A
- That's correct. The principles at play here are to cite in
order to acknowledge intellectual origin and allow your reader (the
instructor, grader, yourself and your partner) to follow the reference.
So long as you clearly name the lab (and perhaps give the URL for
ease of click-through) or cite the book with a page number, we can
do that easily enough. External resources require a bit more reflection
on the reader's part and therefore warrant more information.
- Q
- Will we see an example of a completed references, code, and
commentary file? I think having a finished product to use as an exemplar
can help guide good formatting/submitting.
- A
- I agree that exemplar are convenient, but there's typically
enough variation in materials that it can sometimes be problematic.
With no standardized citation format in the computing discipilne (i.e.,
like MLA or APA), I look for the author/organization, title of the
work, and enough additonal information to find the work myself (e.g.,
URL, publication date, etc.).
- Q
- how many (at most) extra credit points are necessary to move
a grade up one bracket?
- A
- I cannot answer that question directly, but it is computational
so I can direct you how to proceed yourself. The grade brackets and
relative weighting scheme can be found in the syllabus. In addition,
there are a total of 110 homework points available (some have built-in
extra credit opportunities, too). You can count the total number of
labs (days of class less exams and project days). Not all these days
will have labs or lab exercises due, but it will give you an upper
bound on the number of point required.
- Q
- can I use my Mac/iphone in the class just for look up a word
or search some background information? I am not a native English speaker
so sometimes I need help from dictionary/google.
- A
- That seems reasonable. However, if you're working in lab, it
might be polite to inquire of your partner first. After all, there
will be many concepts or phrases that may be somewhat new and foreign
to many in the class. It's good to get in the habit of discussing
them, rather than assuming it's your own shortcomings. Moreover, giving
your partner the chance to explain something helps them learn better
and keeps you both focused on the same subtask.
While I try to avoid concepts that are too idiomatic for non-native
speakers, I encourage you to raise your hand and ask me if I use a
phrase you don't understand. With a class population from around the
globe, chances are very good you're not alone. Asking helps your classmates,
too. (And it helps me know when I've said something unclear.)
- Q
- Can I come to the office hours about things that are not really
course-relevant but still computer-science-related? (for examples,
research projects, major, opportunities working in computer science,
etc.)
- A
- Yes! That's certainly academics.
- Q
- Do you suggest me to learn some other programming languages
by myself?
- A
- Once you have learned all three paradigms, it is relatively
straightforward (if occasionally tedious) to teach yourself new languages.
If you do not plan to complete 207, then the answer would depend on
what you aim to achieve. Python is increasingly popular, versatile,
and seems to have a reasonably slow learning curve yet with a lot
of Python-esque idioms you can learn for increasing proficiency.
- Q
- What habits have you noticed amongst students you would consider
successful in your course that
is shared amongst them and separates them from other students and
how do you define that success ?
- A
- Whoah, that's a great, deep question. To answer the last question
first, success is not necessarily simply getting an A in the course,
but being able make connectiongs amongst the concepts and between
them and the other things you learn (outside of CS). It's also about
how much you develop during the course, not only in your technical
proficiency, but as a person (learning to solve problems and work
collaboratively are sophisticated skills!) These students ask questions,
tend to be highly organized, practice discipline (both in terms of
things like time management, but also in approaching tasks like debugging).
They also take responsibility for their learning, internalizing each
day/week/modules' topics by deep collaboration. I'm happy to go on,
but those are a few initial bits to consider.
- Q
- Which computers in Noyce run Linux?
- A
- All the classrooms on Noyce 3 run Linux (several are dual boot,
so if you find one in windows, just restart it). In addition, the
Math/Statistics open lab SCI 2401 and the basement physics lab SCI
0208 belong to the MathLAN.
6.2 About Me
- Q
- I see that you taught abroad in Barcelona. What was your overall
experience with the Spanish University system? I speak Spanish fairly
well and am considering study abroad opportunities for next year.
- A
- Since I was at an "autonomous" university, I'm not sure
how representative it would be. Moreover, I didn't actually teach,
I was a visiting researcher. Nevertheless, I found the European higher-ed
experience fascinating; their educational tracks are very professionally-oriented
and not at all a liberal arts education. I would be happy to help
vet programs (beyond those we promote) that may have accessible CS
content. However, if you are pursuing a foreign language, our CS curriculum
is flexible enough to let you go one semester without taking a CS
class, allowing you to experience the most suitable off-campus study
(OCS) for your educational goals.
- Q
- What is your favorite course to teach at Grinnell?
- A
- That's a tough one, because I enjoy different things about
each course I teach. (And my wife will tell you I don't do favorites
well for anything.) Nevertheless, perhaps CSC 261 Artificial Intelligence,
because students write in a reading journal as one of the learning
activities. I learn so much about everyone in the class that way;
it's very enjoyable for me.
- Q
- Do you like cats?
- A
- Frankly, I'm not really a cat person. I generally tolerate
(sometimes even like) other people's cats (my neighbor's are especially
friendly and wander into my yard to play with my kids). However, I
have no interest in caring for one.
- Q
- Just curious, but what did you do while you were on leave last
year?
- A
- I was a visiting researcher at the Computer Vision Center (a
unit of the CS School) of the Autonomous University of Barcelona.
While there, I worked on a system described in this
paper I will present in Kyoto, Japan later this November. (Sorry,
I'll be missing class!) I also worked to learn a new machine learning
framework and
shared the results of my efforts. My family and I traveled to visit
several off-campus study sites for CS students, which I'll talk about
later this semester in a Thursday Extra.
- Q
- Did you always want to be a computer scientist from the beginning?
- Q
- What interest you in computer science? In other words, how
did you get into this field?
- A
- I would say I enjoyed computing from the moment I learned about
it (one element of an 8th grade summer camp), but I'm not sure when
I decided to be a computer scientist. I did recently find one journal
from within a year or two of that experience predicting I would be
an entrepreneur running my own technology company (i.e., a computer
repair shop). However, my interests and activities varied throughout
my education (in high schoool I played in bands-both concert and
rock-competed in debate, and performed in plays and musicals ).
I guess I always knew I wanted to engage in the liberal arts!
I love the orderly nature of computing (even though computing systems
have chaotic emergent behaviors, interesting in their own right),
but I also love engaging in abstract thinking. Perhaps my favorite
crystallizing experiences are when you're working to solve a problem
and you finally get it right. (Cue the happy dance!)
- Q
- And how do you see the combination of music and computer science?
- A
- Lovely. As an example, I've always been devoted to the music
of Bach, whose work often echoes computational elements.
- Q
- how long did you live in Nebraska for?
- A
- Born and raised, until I left for college.
- Q
- One question I had for you was what was your favorite place
to eat while you were a student at UMass Amherst?
- A
- Hands down, it was a place called Amber Waves, offering wholesome,
delicious, fast, and cheap Thai food. Sadly, they closed after my
second year in town. It's really hard to choose, but I suppose my
current favorite may be a tie between Bueno Y Sano (burritos) and
Antonio's (Pizza).
- Q
- What do you like most about Grinnell?
- A
- That the City has the same name as the College. Let me answer
assuming you meant the former. I like that there is an active community
arts scene (theater, music, etc.) and a desire for local offerings,
whether it's small businesses, food production, or just connecting.
I also like that as my kids grow, they can do a lot independently.
Growing up in a similarly sized small town, I appreciated that a great
deal.
- Q
- Can you describe yourself in 3 adjectives please?
- A
- Wow, you ask the tough questions, don't you. Let me try (with
some help from my wife):
- Fastidious: I'm particularly detail oriented, a trait that tends to
correlate with my professional discipline.
- Introverted: Despite appearances in class and my interactions, I need
quiet time to think and recharge my mental batteries.
- Concerned: I have a deep love for my family, my colleagues, and my
students.
- Q
- What are three bands you listened to as a teenager?
- A
- Let's see, framing it to high school, before I my horizons
were further broadened in college, I'd list Offspring, Sex Pistols,
and Rancid among the most frequent. (Though Nirvana would have to
be a long-standing, frequent fourth.)
- Q
- Will we learn anything about your research and expertise during
the semester?
- A
- You will do an assignment relating to one area (image processing),
that I hope will be interesting. Other than that, you'll just have
to ask me!
- Q
- What s your favorite time of the year in Grinnell
and why?
- A
- Hmm.. again. Tough with the favorites. I love spring after
a dark winter. Both flora and fauna seem to bud, coming alive again
with the promised relief and nourishment of summer.
- Q
- How did you end up at Grinnell?
- A
- They were hiring. ... Ok, a less sarcastic answer. They were
indeed hiring, and much earlier than most others. It was a perfect
location (being from Nebraska, and my wife's family is from Minneapolis),
and I love the down-to-earth nature of Grinnellians.
- Q
- What is your favorite part of being a professor?
- A
- Getting the opportunity to harness the curiosity and energy
of young adults, by equipping them with powerful skills and a proper
sense of responsibility for their work before turning them loose to
do amazing things in the world.
7 2015S
7.1 About the Course
- Q:
- When will the weekly group mentor sessions for our 161 course
be held?
- A:
- The mentors should put a poll up on Piazza soon!
- Q:
- One question I have is whether you prefer
complete sentences or are okay with fragments when it comes to answering
questions or writing clarifying sentences for code. Thanks!
- A:
- For answering questions, sentences are generally preferred
(questions on exams and quizzes may be appropriate exceptions); in
code comments, fragments are generally acceptable, as the main purpose
is clarity in the context.
- Q:
- Does it matter if I forgot most of what I have learned from
CS151?
- A:
- Does it matter if you forgot a lot of Scheme syntax? Probably
not, but the high-level ideas will be critical. You will always use
the algorithmic
ingredients.
- Q:
- What is the difference between the work that will be posted
in the Schedule versus the Deadline
section? Is there one place we can go to to see all of the deadlines?
- A:
- "Schedule" just contains pointers to the readings and
labs. "Deadline" indeed should give you everything to turn in.
- Q:
- The syllabus says that we will have four formal lab writeups,
but will we still have daily mini writeups like we did in 151?
- A:
- Nope! For better or worse, you are left to your own recognizance
(let me know if it's for worse so I can adapt future semesters). As
the syllabus says, 30-50% of exam questions will be from labs, so
that's motivation!
- Q:
- I know you say that we should be spending a minimum of 10
hours a week on CSC-161, but how much time would you like us to spend?
- A:
- Well, hopefully as much as you need to pass, but then as much
as you like to get what you want out of the course. I recognize that
students have different levels of interest and motivation, and this
class might not be the most important for you. It might also just
take you longer to work on a program. Many studies have shown an "average"
of 10x difference in productivity for people working in the same group
among professional programmers. That's a pedagogical fact I
struggle with regularly. (After all, I can't reasonably say I'd like
you to spend 100 hours. I'm not sure what the right average is for
this class.)
- Q:
- What is the overarching theme of this course?
- A:
- The interaction of data (its representation) and algorithms
(its processing). There is a rather
famous book on this trope.
7.2 About Me
- Q:
- One thing I would like to know is whether you usually allow
classes after 151 to call you Jerod or if that was a change with respect
to all classes (if the change completely, what changed your mind and
if it's usually just a thing after 151, why)?
- A:
- It's a new change overall. My undergraduate CS department
was all first name (students there still compare it to other departments
that are not and gush about the community). I loved that type of total
community. When I started at Grinnell I didn't realize how completley
awesome the students are and I figured it was easier to go from formal
to informal adddress. With two new faculty coming into the department,
I figured it was a good time to go for a cultural shift. In addition,
familiar forms of address simply enhance a necessary sense of humility,
which is important to my faith.
- Q:
- I don't think you have mentioned what type of punk music your
band used to play. Was it new-wave, garage punk, pop punk, hard-core
punk, glam punk, or something completely different?
- A:
- Mostly pop punk and some ska/punk (we had a very talented
trumpeter).
- Q:
- Why do you enjoy teaching computer science?
- A:
- While I once worried a bit about teaching the same class for
40 years, the field moves so fast that's not really a meaningful concern.
Moreover, the students are continually new, growing, going off, and
coming back to tell about all the awesome things they are doing in
the world. That's what I love the most. (Finishing my seventh year,
I'm just now starting to get more of that.)
- Q:
- Will we finish the peanut butter and jelly sandwich?
- A:
- Is that a metaphysical question? :-) Or maybe I should say:
We're done with these abstractions you call "peanut butter" and
"jelly" and now we're looking at lower level things like tannins,
pectin, oils, and carbohydrates.
- Q:
- What is your favorite part about Grinnell College?
- A:
- Great question. The students and faculty. Seriously. You are
generally nice people and you care about what what is going on in
the world. Truly, you inspire and challenge me daily.
- Q:
- If it's not off topic, how's Gus doing these days?
- A:
- Awesome! Thanks for asking (you're always welcome to). He's
added the word "No" to his lexicon and seems to enjoy its use,
but generally he puts together sentences that make me laugh all the
time. He's also a big fan of locational prepositions, "right there",
"up there", or especially "in the mouth." Like "Gus, what's
in the sky?" Birdies! "What are they doing?" Singing.
In the mouth.
- Q:
- What is a prediction you have or a belief you hold in the
field of CS that hasn't been proven, but you think will come to fruition
in some way in the next 20 years?
- A:
- We'll almost certainly have truly reliable speech recognition
that can deal with the "cocktail party problem"-that is, be
able to delayer multiple sources of input and pick out or attend to
and interept the one of interest.
- Q:
- If you only had to teach one of your classes,
which would you keep? Why that class?
- A:
- Whoah. That's a tough one. It might be cheating if I chose
499, but that one is fun for me not just because it's an independent
project. I give an active curriculum of research education. I might
keep CSC 105 (The Digital Age) for a few reasons. It covers all
the big ideas in CS and we actively reflect on the social, ethical,
and philosophical questions behind computing as well. It's truly a
liberal arts course. (Though if it were the only one I taught, I'd
probably rework some of the technical things in it.)
- Q:
- What is the coolest thing you have done with computer science?
- A:
- You all ask tough and interesting questions! I don't know
if it's the coolest, but some recent work I've done that I'm proud
of is processing old maps. Given just the image, it recognizes the
words and from those alone, determines where on the earth each pixel
would live. Here
is an example.
- Q:
- Where did you go to college and what was your major?
- A:
- I attended Rose-Hulman Institute of Technology and graduated
with a double-major in Computer Science and Mathematics (I also took
two minors: Science, Technology, and Society as well as Philosophy
and Religion.)
8 2015F
8.1 About the Course
- Q
- Will the daily readings generally include exercises to be completed
on the MathLAN computers, or will they most often just be readings?
- A
- Usually they are only readings, but you are always encouraged
to try the examples out on your own.
- Q
- I am just wondering how the exams will be formatted since they
are in-class exams.
- A
- They will mostly ask you questions on writing and reading code,
algorithms, representations, and principles. (Think of them like an
extended CSC 151 quiz.) In addition, the syllabus states:
As a special incentive for mastering the laboratory exercises, 30-50%
of the problems on each test and on the final exam will be taken from
the laboratory exercises (with only slight editing).
- Q
- Prof. Rebelsky taught the 6Ps style of documentation in CSC-151.
Do you have any additional suggestions for documenting our programs
in this class?
- A
- Yes! See the details on Comments
grading rubric.
- Q
- How possible is it to do work for the class from my laptop
or without mathLAN access?
- A
- For problems that do not involve the robots, it's relatively
easy. On windows, you can use the Cygwin environment to access the
GCC compiler. On a Mac, you need the developer tools.
- Q
- How can we test codes in our laptops so that we don't have
to go to the computer labs every time?
- A
- You can't for the robots, but for other problems, see above.
- Q
- What is your advice to students in order for them to do well
in this course?
- A
- Don't panic. Practice. Go to mentor sessions. Solve problems
for fun. Ask LOTS of questions whenever you have them, of your partner,
mentor, tutors, or the instructor.
- Q
- Do we get the chance to choose our own partners for some activities?
- A
- Partners for in-class labs and projects will be assigned on
a rotating basis in order to expose you to a wide range of thoughts,
practices, and people. My goal is that you'll never work with the
same person twice.
- Q
- Will we do any work with any other languages besides C in this
course?
- A
- We will learn a bit of bash shell scripting.
- Q
- Are there any other external learning opportunities that you
would heavily recommend here at Grinnell to complement our work in
computer science (other books, papers, talk sessions etc.)?
- A
- Yes! Come to the departmental "Extras" (seminars, panels,
etc.) usually held Thursday afternoons at 4. Our weekly CS table discussion
is Tuesdays at noon. Ask to get on the csstudents email list.
8.2 About Me
- Q
- What is your middle name?
- A
- James. It's my father's given name and also my son's middle
name.