Fundamentals of Computer Science II (CSC-152 99S)

Responses to Your Questions and Comments

Those of you who fill out the introductory survey form will likely ask a variety of interesting and important questions. You will soon be able to find my answers here.


CS152 seems to combine the ``triple threat'' of computers, math, and languages. What should I do?

It's my goal and responsibility to get you through, so come to see me for help.

It's been two years since I took CS151. Is that pa problem?

As you probably saw from the first class, even people who took it last semester seem to have forgotten a good deal (or at least were unable to call it to mind at this point). I don't expect that it will be a problem.

I'm worried that this class will suck up a lot of my time.

Unfortunately, that's true. Experience shows that there's no way to learn this stuff without devoting a good amount of time to it.

So, are your really not going to tell us about which assignments will be graded ahead of time? Not even a little bit ahead of time?

Well, most of the time I won't tell you. However, for a few assignments in which it is clear that the primary purpose is for you to experiment, I will tell you.


What's your favorite cartoon?

Hmmm ... there are so many that I enjoy. Perhaps Marvin the Martian, but that's also due to a weird radio show in Boston. Wacky Racers remains a childhood favorite.

What's the worst pick-up line you've ever heard?

Sorry, I've been out of the dating world for too long to recall.

What's your favorite record?

Here's the full question: Well, I noticed in your answers to this survey something about records, perhaps it was something to do with filing them, plus you mentioned searching through the cheapo bins. So, based on this information, I would guess that you have an interest in music. The question is coming soon, but first you need to remove all the popular notions of what is good and bad music, what is important and/or influential, basically remove everything from your head, except for your own opinion, then answer this question: What is your favourite record?

I have trouble picking one favorite. Three that tend to stay at the top of my list are:

And yes, I used to spend too much time obsessing about music and accumulating vinyl, magnetic plastic, and coated aluminum. Unfortunately, my free time has decreased significantly.

What are your favorite movies?

As a UofC graduate and DOC alum, I am required to state that Bedazzled (with Peter Cook and Dudley Moore) is among my favorite movies. I'll admit that I haven't seen it in some years, but it was a favorite for a long time.

I love the technicolor splendor of Singing in the Rain, although I'll admit that Gene Kelly's crablike moves are not nearly as enthalling as the splendor of Fred Astaire. But the physical comedy of Donald O'Connor's ``Make 'em Laugh'' makes this my favorite musical.

I really like old Fred and Ginger movies, although they are interchangable enough that there's not a particular one that I can identify as a favorite.

I also like old Chaplins. Again, it's hard to pick a favorite, although Modern Times is close.

Kurasowa's The Seven Samaurai is among my favorite action pictures. It zooms by so quickly that you barely notice the length.

While I prefer Mike Jittlow's shorts, I do find his Wizard of Speed and Time quite good.

Recently, I've found Red Rocks West to be a great update of the old Noir genre.

I've seen Harold and Maude many too many times (for a variety of reasons) and continue to enjoy it.

What (activities, people, whatever) make(s) you happiest?

My family (Michelle, William, and Jonathan) clearly rank at the top. Jonathan (6 months) has the greatest smile and laugh. William (3 years) is a happy kid with a great perspective on the world. They, more than anything, add joy to my life.

Are you a Mac or PC guy?

Most definitely a Mac guy. I like systems that are easy to configure and don't need much debugging. When I want to do serious work, I tend to be a Unix person. Wintel seems to be a weak compromise between these two endpoints: not as powerful and stable as Unix, not as easy as Macs.


Why would you teach computer science in Grinnell rather than make gabillions of dollars and move someplace warm working in programming or consulting?

As a Grinnell student, you should know the answer already. This is something I really enjoy doing, and doing something I enjoy doing is worth a smaller salary. I like the friendly confines of Iowa, particularly as a place to rasie my children. I love the intellectual climate of Grinnell. And, you know, my salary still isn't too bad.

(In case you didn't get it from the previous paragraph: I really love teaching and research, and wanted a career that let me balance the two.)

Oh, in terms of the cold. I've only lived in cold climes (Boston, Chicago, NH, Maine, now Iowa), so it's something I've always accepted as part of life.

Why did you choose computer science as a career?

I like to solve problems. Of the fields I've studied, computer science seemed to have the most to do with formalized problem solving. I used to want to be a mathematician, but it's clear that I'm a better computer scientist than mathematician.

Why did you come to Grinnell?

(Also ``How did you end up in Iowa?'')

Believe it or not, but Grinnell is nearly the ideal place for me to teach. It's small, so that I can get to know colleagues in a variety of departments and get to know my students. The students are good and value learning for the joy/sake of learning. Good teaching is valued, as is good research. My colleagues are also excellent.

What did you do before you came to Grinnell?

Before coming to Grinnell, I taught (as a long-term visitor) at Dartmouth College. Before that, I was in graduate school at the University of Chicago. Before that, I was an undergraduate at Chicago.

What is your favorite part of teaching?

I like the intellectual challenge of finding new and better ways to help students learn. I also enjoy what I learn when I think about how to teach a particular subject.

I hate grading and assigning grades.

What led you to follow the professional choices that you did?

Believe it or not, mostly luck and circumstance. I stayed at Chicago for graduate school because I realized I could graduate a year early, save money, and still take the same courses I would have taken if I'd been an undergraduate for another year. Staying at Chicago gave me the opportunity to teach Calculus and introductory computer science.

My first teaching job was a one-quarter position at Dartmouth which came up because I finished my thesis in the middle of the year (March), rather than at the end of the year (June or April). Dartmouth needed an emergency replacement and was able to verify that I was likely to teach well enough to satisfy Dartmouth's high standards. That position led to four joyful years of teaching at Dartmouth in a ``visiting'' position.

While I was at Dartmouth, my wife, Michelle, was working on her residency in family practice. Hence, I was disinclined to actively seek a tenure-track position until she finished. When she finished, we both found good jobs in Grinnell. As I may have said earlier, Grinnell is an incredibly close fit for my ideal position.

What are your favorite classes to teach?

I'll admit to preferring introductory or near-introductory classes. At Grinnell, CS152 has been my favorite class so far. At Dartmouth, the ``CS for nonmajors'' course was definitely my favorite. In part, this is because I get a wider variety of students (I really enjoy hearing the perspectives of English, Chemistry, American Studies, Economics, etc. etc. majors).


Is it advisable to learn two or more programming languages simultaneously?

I haven't heard of any studies on the drawbacks or benefits of learning multiple programming languages at once. I would expect there is some disadvantage for beginning in that you may expect that the concepts and structures of one are in the other (and, unfortunately, they are not). However, I don't expect this to be a big drawback.

Upper-level CS students often learn many new programming languages simultaneously.

I'll note that in high school I took Spanish and Latin at the same time. Because the languages are similar enough, I often tried to use Latin forms in Spanish, and vice versa.

Apart from doing all my coursework on time and efficiently, what other things should I do or what skills/attributes should I develop to make the best out of this class?

I'd hope that you'd work on exploring the various topics we cover. For example, don't just do the assignment; rather, think about what else I could have asked you and consider how you might have answered those additional questions.

I'd also hope that you'd work on testing: making sure that your code is perfect and correct through well-considered experimentation.

I'm sure that I'll come up with more as the semester progresses.


Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.

This page may be found at

Source text last modified Fri Jan 29 10:11:37 1999.

This page generated on Fri Jan 29 12:18:36 1999 by SiteWeaver. Validate this page.

Contact our webmaster at