CS151.02 2010S Functional Problem Solving : Handouts

FAQ

Why did Sam give this assignment?
Evidence suggests that students are more likely to read the syllabus if they have to answer questions about it. I also believe that having used the site, you will be more likely to go back to it when you have questions. I also learn a lot about you from how you answer questions.
What grade will you get for an assignment that is primarily correct?
A B or a Check, depending on the grading scheme being used. Correct is expected, not exceptional.
Is Scheme the only programming language we will be using? And is it similar to C++?
Scheme is the only programming language we will be using in this course. It is not at all similar to C++.
Additionally where can we do the coding, only in Noyce? Or can we use the programs in say, the library, or a dorm?
You can remotely connect to the computers in Noyce to do the coding. If you have a Mac, you can download a customized version of GIMP. However, you'll often find that it's useful to do the coding in Noyce, since you'll have people to talk to when you have questions.
I'm taking this class because I want to have a concentration of Computer Science.
Sorry, Grinnell doesn't have concentrations.
My biggest concern is that it just won't click with me, and how that extends into group work. Sometimes I need time to work through things at my own pace and I anticipate this potentially being a class with a lot of that in store, but group work really doesn't mesh well with that. I'm a bit nervous about feeling really stupid not getting things, combined with a lack of my own time on the project to figure it out for myself. And I do like to figure it out myself.
I'm hoping that you'll find that talking stuff out with a partner will help the stuff click a little bit faster; ideally that's how things work. If you find that working with a partner is making you go too fast, let me know, and I can let you work alone. But I'll admit I see some value to pushing you outside of your comfort zone.
My biggest concern is that the programming might be a little difficult for me to get the hang of since I haven’t really rigorously done it before.
We don't expect you to have any experience, and you should find the pace appropriate.
Why do we learn Scheme rather than some more popular language?
We've covered this in class by now, but I'm going to repeat it anyway. We use Scheme for a variety of reasons. (1) The syntax is simple. Because it has a simple syntax, we can go much more quickly. (2) Scheme is traditionally interpreted. As you noted in the first assignment, an interpreted language, in which you can easily try small pieces of code and see their results, often makes things easier to figure out. (3) Even students with some background have rarely seen Scheme before. That helps put everyone in the class on a relatively level playing field. (4) You can do some awesome things in Scheme that are difficult to do in most other languages, and we think that these things help you think about algorithms in new ways. (5) I think interactive graphics scripting is a good way to motivate the introductory class, and there are very few decent scripting languages out there.
I have trouble referring to my professors by their first name. Can I call you "proffy"?
No. That would still be addressing me in the generic, more or less. If you must, call me "Professor Rebelsky" or "Professor Sam" or "Mr. Rebelsky".
Can you tell me more about excused absences. For example, I expect to miss a few classes for sporting events.
I accept absences for sports and academic events as part of the things students do, and do not count such absences against students. I do, however, expect that you will notify me in advance and that you will talk to a classmate about what you missed.
I am concerned that I'll be completely thrown off by the jargon.
I'll try to teach you any jargon I use. If you find me using jargon, stop me. (Nora should also be paying attention.)
I am concerned that I will basically just end up hitting my head on a keyboard at 11:59 PM hoping that I magically produce the algorithm I need.
We put caps on the amount of time you spend on an assignment. You also need to be wiling to ask for help (and early). You'll learn by talking to your classmates about things. You'll also learn even when you need to ask me, a tutor, or the class mentor for help.
Are students allowed to eat or drink during class?
Only if you're very careful, and make sure to keep the food/drink away from the computers. You should also make sure not to be distracting to your classmates.
I have horrible time management and slept an average of 5 hours a night my first semester at Grinnell.
Have you talked to academic advising? They often do a spectacular job of helping students work out time management issues. I've seen some of my students go from sleepless zombies to happy, well-rested, and more successful people.
How hard will the class really be?
That's hard to predict. Some people find the stuff easy and natural. Some find that the way of thinking is so different that it's very difficult. I do my best to keep the class manageable. If you find the class becoming too hard, you should talk to me asap. We also have tutoring resources available to help you.
What can I do to exceed expectations?
There's not one particular thing. Usually, the best students find a natural way to do something extra on the assignment. On this assignment, the best answers were particularly detailed, particularly funny, or particularly innovative.
Is the syllabus the same as last symester just with the dates changed?
We've rearranged the topics slightly, but it's quite similar. After five semesters of tinkering with the syllabus (well, "tinkering" may be an understatement, since we did some fairly radical surgery), we're fairly happy with what it's like now, except for the huge "vocabulary" that students need to learn.
Will we be able to see our grades through the web site?
No. If you lose track of your grades, let me know, and I'll send you a summary. And you should soon be able to write a program that converts individual grades to a letter grade.

Disclaimer: I usually create these pages on the fly, which means that I rarely proofread them and they may contain bad grammar and incorrect details. It also means that I tend to update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This document was generated by Siteweaver on Tue Feb 2 09:24:13 2010.
The source to the document was last modified on Mon Feb 1 19:27:47 2010.
This document may be found at http://www.cs.grinnell.edu/~rebelsky/Courses/CS151/2010S/Handouts/faq.html.

You may wish to validate this document's HTML ; Valid CSS! ; Creative Commons License

Samuel A. Rebelsky, rebelsky@grinnell.edu

Copyright © 2007-10 Janet Davis, Matthew Kluber, Samuel A. Rebelsky, and Jerod Weinman. (Selected materials copyright by John David Stone and Henry Walker and used by permission.) This material is based upon work partially supported by the National Science Foundation under Grant No. CCLI-0633090. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/2.5/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.