Fundamentals of Computer Science II (CSC-152 2000F)

On Teaching, Learning, and Grading


I like to begin each course with a metacommentary on teaching and learning. Why? Because I care about the learning process, because I seem to have a different teaching style and personality than some students expect, because I want you to think not just about what you are learning, but also how you are learning, and, unfortunately, because in one of the first two courses I taught at Grinnell some students were clearly dissatisfied with the way I teach. (As people are getting used to me and my teaching style, this seems to be less of a problem.)

From my perspective, you are here to learn and I am here to support that learning. What will you be learning? The subject matter of the course, certainly. However, I expect that (or hope that) you will also be discovering new ways to think and learn or sharpening existing skills. In terms of subject matter, I tend to care more about the processes and concepts that you learn than about the ``basic facts''.

Learning is an interactive process. You learn by asking, discussing, and answering questions, by playing with ideas (in computer science, you also learn by playing with programs), and by working with others. I know from experience that computer science cannot be learned passively: you need to experiment with ideas (in your head, on paper, or on the computer) in order to fully grasp these ideas.

My Role

How do I try to support this learning? In a number of ways.

I assign readings to give you a basis for understanding the subject matter. Sometimes these readings will be from the textbook, sometimes I will distribute appropriate supplements.

I lecture, lead discussions, and conduct recitations on the topics of the course. Sometimes these will be based on readings and assignments, sometimes they will vary significantly from your readings. Why? Because I feel it wastes your time and mine to simply reiterate the readings. If you let me know that you're confused about a reading, I will spend time going over that reading (either in person or in class).

To stimulate discussion and thinking, I regularly call on students in class. I know that not all of you are comfortable answering questions publically, but I strongly believe that you need to try. Please feel free to say ``I'm not sure'' when I call on you. At times, I'll step through the class, asking each student in turn. At others, I'll call on you individually. I tend to call more on students I interact with regularly.

I assign work because I find that most people learn by grounding concepts in particular exercises that allow them to better explore the details and implications of those concepts. I expect you to turn in work on the day it is due and will impose severe penalties on late assignments (including refusing to accept some late assignments).

Some of my assignments may involve public presentation of your work. Sometimes, the best way to learn a topic is to have to discuss it or present it to someone else. In addition, I've found that many students need some work on their presentation skills. Most often, presentations will be of papers that you've read.

In general, I expect you to spend about ten hours per week on this class outside of class time. If you find that you are spending more than that, let me know and I'll try to reduce the workload.

I grade assignments to help you identify some areas for improvement. Note that I believe that you learn more from doing an assignment than from receiving a grade on that assignment. This means that you may not receive a grade or comments on all your assignments. I will tell you when an assignment won't be graded, but not until after you hand it in. I will do my best to be prompt about returning grades on assignments. At times, I will use a grader to help speed the process.

I give examinations because I find that many students only attempt to master a concept when preparing for an exam. Because I care more about processes and concepts than about facts, I almost always give open-book examinations. Because I do not feel that time limits are helpful, this semester I will give you only take-home exams.

I give quizzes to ensure that you are doing the reading and that you are understanding what I expect you to understand from the readings and assignments. At times, I will give quizzes to help illustrate a particular point. This semester, all of my quizzes can only affect you positively: good work on quizzes will lead to extra credit.

I build course webs to organize my thoughts, to give you a resource for learning, and to help those of you who need to work on your note-taking skills. I do my best to make my notes for each lecture available on the Web, in outline format. In general, these notes will be available approximately five minutes before class. Warning: these are rough notes of what I expect to talk about; the actual class may not follow the notes. I will also attempt to update the notes after each class.

I make myself available to discuss problems and questions because I know that some of you will need personal attention. In general, if I'm in my office you should feel free to stop in. Most of the time, I'll be willing to help. Once in a while, I'll be working on a project and will ask you to come back later. Students always have first priority during office hours. You should also feel free to send me electronic mail, which I read regularly, and to call me. This semester, I am on partial parental leave, which means that I will be less available than normal. In particular, I will not be in the office on Tuesdays and Thursdays. Feel free to give me a call at home on those days, but understand that I may be busy.

At times, I survey my students to better understand how the class is going. Because I do research on the effects of computers on learning, I sometimes give surveys to gather data.


At the same time that you learn and I try to help you learn, Grinnell and the larger community expect me to assign a grade to your work in the class. I base grades on a number of components, but primarily on assignments, examinations, and involvement in classroom discussions.

Because I understand that not everyone gets everything right the first time, I will occasionally allow you to substitute an extra assignment for one that you did poorly on. Unfortunately, the time pressures of the semester are significant enough that I will not be able to permit you to make up assignments except through this mechanism.

In computer science, it is often possible to do the same problem in multiple ways. Hence, I typically reserve class days to discuss particularly significant assignments. This semester, each exam will be followed by a day of discussion relating to the exam. We may also take time from some classes to discuss particulars of assignments.

I will admit to a fairly strict grading scale. Grinnell notes that A and A- represent exceptional work. To me, ``exceptional'' means going beyond ``solid'', correct work. Exceptional work entails doing more than is assigned or doing what is assigned particularly elegantly. Work limited to mastery of the core materials is B-level work. To help you demonstrate exceptional understanding, I will occasionally suggest extra credit work (although truly exceptional students will often suggest such work on their own).

To help eliminate biases, I typically use a numerical grading scale. 94-100 is an A, 90-93 is an A-, 87-89 is a B+, 84-86 is a B, and so on and so forth.

Your Role

How should you participate as a member of my class? (Or, how do you do well in my class?) By being an active participant in your own learning. In part, this means doing all the work for the class. It also means a number of other things.

Come talk to me when you have questions or comments about subject matter, workload, or how the course is going in general. I will also set up an anonymous comment page for those who are uncomfortable talking to me directly.

Do the readings in advance of each class period and come prepared with a list of things that you don't understand. I will try to spend time at the beginning of each class session answering these questions or will restructure the lecture to accommodate them.

Ask and answer questions and make comments during class periods. I consider active participation during class a particularly important part of the learning process.

Begin your assignments early. Students who begin assignments early have more opportunities to ask for help, to make sure that the assignment gets completed, and to sleep at night. Such students also do better in general.


I seem to have a different ``lecturing'' style than some students expect. As I mentioned earlier, I don't think it is the purpose of lecture to reiterate the readings. I do, however, think lecture and readings can provide alternate perspectives on the subject matter. At times, I will also discuss issues not covered in any readings.

I see no point in going on with a lecture or example if many students don't understand what's going on. You are the first line of defense: stop me when you are confused. In addition, I will occasionally stop the class and ask for a show of hands to see who is confused. Don't be embarrassed to raise your hand; if you are confused, it is likely that someone else is also confused. I realize that this show of hands leads to some ``pressure for understanding''. However, you won't get much out of a class if you're confused (and therefore just copying down what I'm writing without thinking about it).

I deem it important for students to be active participants in lecture. This means that I will often ask you to help develop algorithms, solve problems, and even critique each other's answers. If I call on you and you're not sure of an answers, feel free to say ``I don't know'' or to venture a guess. I consider it very important for all of us to see the problem solving process, warts and all. Note that I often generate examples of discussion ``on the fly'' so that we can all be involved in the problem solving or development process.

It's More Than CS

While I teach courses in computer science, I hope that students in my courses leave with more than just more knowledge of CS. In particular, I expect students to have developed some problem-solving skills, some thinking skills, and even some discussion (or at least quick reaction to recitation questions) skills. I would hope you find the same in all Grinnell classes.


For various reasons, I often get to know some students better than others. I tend to call on the students I know better, and sometimes respond slightly better to their questions because I have more context for the questions. I'm happy to make all of you ``favorite'' students. If you come to see me regularly and work enthusiastically on the material, you'll probably end up being a student I know well.


As the prior discussion suggests, I expect a great deal from my students. I also use many different strategies to get the best out of you. Feel free to discuss any of this with me (anything from concerns about this perspective to suggestions on improving teaching and learning).


Some misty date before I came to Grinnell.

Various dates since I've been at Grinnell.

Saturday, 21 August 1999.

Monday, 17 January 2000.

Thursday, 24 August 2000.

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 Aug 25 00:08:11 2000.

This page generated on Fri Aug 25 00:14:48 2000 by Siteweaver. Validate this page's HTML.

Contact our webmaster at