I believe that learning is an interactive process--you learn by asking 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.
As a student in this course, you are expected to participate actively in your adication and to apply yourself to learning the material in the course. As instructor of this course, it is my responsibility to help you learn the material. By participating in this class, we are committing ourselves to putting forth our best effort to learn and to help each other.
You are expected to attend class regularly, keep up with readings, do posted assignments, ask questions when you are confused, answer questions when they are asked, let me know if we're moving too fast or too slow, and, in general, be an active learner.
At the same time, I will do my best to make learning as doable as possible. I am readily available to answer questions (in class, in my office, or via email). I will make as many resources available online as I can (including my notes for each class session). I will grade assignments as quickly as I can, and provide you with feedback if I notice that you are encountering difficulties. I will also do my best to modify any components of the course that become overly burdensome.
Since I expect you to take an active role in your education (and even if I did not expect to do so), I believe that I should make myself available to answer questions. Like most of the faculty at the college, I pride myself on my availability.
I'm always happy to see my students, and you are certainly free to stop by my office (Science 2427) during office hours. If you'd like to see me outside of office hours, you can wander by my office. I'm usually willing to talk, although I ask you to understand that there will be times that I have other things to do. If you want to make sure that I'm available, you can also set up an appointment. (There are no benches outside my office, so waiting may not be comfortable.)
I understand that not everyone can come to my office, so electronic mail
is also a good alternative. I almost always have an email session running
when I'm in my office. I try to respond quickly to electronic mail, and
usually succeed. This term, I plan to keep a file of
questions and answers that you can look through. However, I've also planned to do so in the past, and failed.
As a last-ditch effort, you can also try phoning me in my office (4410). I wander in and out of my office, so the phone is not a very reliable method. I'd prefer that you only call me at home in emergencies and that you not call late at night, as I have a young child.
Because I consider your participation important, for your learning of Computer Science and for your general education, I am making class participation a part of your grade. While you need not participate actively in every class, you should make an attempt to contribute when you have ideas. You shouldnot attempt to disrupt class with inappropriate comments or suggestions.
I understand that some of you are better speakers, more willing to express ideas, or more willing to make mistakes in public. I will do my best to take this into account, but it is really your responsibility to overcome your fears and participate as much as possible.
It is likely that at some point this term, you will be asked to make a formal presentation to the class. I will probably videotape that presentation.
All of my teaching experience (five plus years at this point) has been in schools on the quarter system. Most recently, I've been teaching at Dartmouth, which has 9-week quarters. This means that I'm inclined to go very fast and to give a lot of work. (Okay, I'd be so inclined in any case, but being in the quarter system has probably reinforced that tendency.) Let me know if I'm going too fast or assigning too much work! I will certainly be willing to reconsider how much we're doing each week, and can probably find ways to tone it down.
At the same time, you should let me know if you feel as if the course is going too slowly.
The majority of the readings in the course are from one of our textbooks. I will also hand out ocassional research papers or other notes to supplement the text.
Whenever possible, you should attempt to read material before we discuss it in class. This will allow us to move more quickly and to delve into more interesting topics. I will give the occasional quiz to ensure that you are keeping up with the material.
Note that while you should read material in advance of class, you are not required to fully understand the material. Come to class with questions, confusions, complaints, or whatever.
One of the requirements of the course is to cooperate with other members of the class to complete a large programming project. After a few weeks of getting set in the course, we will discuss possible projects that can be completed in the next two months. I will provide a number of suggestions, but I am also open to your own suggestions.
Because I understand that different people work at different paces, I am willing to accept a wide variety of projects. I do want a commitment from you that you will work on your project regularly, putting an appropriate amount of effort into the project. I will also encourage you to "start small" and add features as you progress (although you should plan the optional features before beginning).
As part of the requirements for this class, you will make at least two in-class presentations this term. First, some Friday this term, you will present a case study of some real-world product. I will assign teams and projects as the term progresses. If there is a particular product or time that you would like to discuss, please let me know.
Second, you will present a summary of your final project to the class and to members of the faculty at the end of the term.
Your presentations will be weighed as part of your grades in various parts of the course.
I do my best to make my own notes for each lecture available on the Web, in an outline format. (Basically, as I prepare each class, I use the computer, rather than a notepad, to jot down ideas.) I will warn you that these are often "rough notes" of what I expect to talk about. Sometimes the actual class bears little or no relation to the notes. In addition, there is a good chance that there is at least one significant error, and many small ones, in each set of notes.
Often, in CS, we end up teaching the same topic from a different perspective, or in a different context. For example, this term there are two classes that both use Java, and both have students who have likely had little or no experience with Java. Although I'm taking the time to make my notes available, it is not always worth my time to provide custom versions of these notes for both classes when the overlap. I hope you will forgive the occasional inappropriate entry in the notes.
While it is generally preferable that you view web pages online, and thereby save trees, there are certainly times that you will need to print pages. I would strongly recommend that you print your web pages in a "two-up" format (two logical pages on one physical page). How do you do this? Use the following command when you print from Netscape:
/u2/rebelsky/bin/psnup -2 | lp
I expect you to follow standard guidelines of academic honesty. Among other things, this means that any work that you turn in should be your own or should have the work of others clearly delineated. When you work as part of a group, you need not identify the work of each individual, simply turn in the work as a whole, with all of your names.
I will warn you that although giving away your work is not plagiarism, per se, it is academically dishonest and is among the offences I tolerate least.
If you have any questions as to whether a particular action may violate standards, please discuss it with me (preferably before you undertake that action).
As you develop programs, you will most likely use code from other programs. This is often called selective reuse and is a perfectly acceptable programming practice. However, you are expected to cite all code you take from elsewhere. This means that any code that is not your own should include a comment that details the following
Note that you do not have to cite classes and libraries you use, as the command to incorporate such classes provides a sufficient citation.
This semester, I am effectively a single parent. That is, I have responsibility for my two-year old, William, while my wife is finishing her residency in Maine. What does this mean to you? First, that I have to keep a relatively strict 9-5 day so that I can get him from daycare and watch him in the morning and evening. Second, that I'll probably be even more tired than your other professors. Third, that I may disappear to deal with William's illnesses or such. I apologize in advance for all of this, and will do my best to be as accessible as I can in spite of this.
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.
Source text last modified Wed Oct 8 13:00:53 1997.
This page generated on Fri Oct 31 12:57:31 1997 by SiteWeaver.
Contact our webmaster at firstname.lastname@example.org