These expectations are less about content, and more about how you proceed through the class.
We expect you to spend roughly 12 hours a week on this course outside of lectures. A few students will handle the course in less time, but most of you will need this much to keep up with lectures and the assignments. If you're not spending this much time and not doing well, you need to spend more time practicing the course material. If you're spending much more time than this and still not doing well, come see us so we can figure out why.
We expect you to come to office hours (ours or the TA/SA's). As you work through an open-ended assignment, you'll encounter two kinds of questions: technical questions (how do I do X?) and process questions (how do I approach X?). We can answer easy technical questions on the discussion board. Deeper technical questions and process questions don't have simple answers, and we need to work on those questions in person. If you ask such a question on the discussion board, we will ask you to come in to office hours.
We expect you to treat your classmates and the course staff with respect. Respect your homework partner by responding to her/his email, showing up to meetings or canceling them in advance, and doing whatever work you agree to do for the pair. Be courteous on the discussion board (constructive criticism is encouraged, but no name calling, etc). If an assignment isn't clear to you, ask us for a clarification rather than assume we're purposefully trying to make your life miserable.
Of course, if you are having a problem with your homework partner or a member of the course staff, please let us know. If your problem is with us, talk to the associate dept head, Professor Finkel.
Programming skills improve faster with practice than by reading. The best way to get good at programming is to program. If programming seems daunting, come to office hours.
Backup your work often. If you have a mostly working program, make a copy of the file before you change the program just in case your changes break what was working before. Students will often tell us "but it was working an hour ago!" -- we can't take that into account in grading. Backup often to avoid this problem.
Don't expect to finish assignments in one sitting. Sometimes your brain just needs to chew on a problem before you can solve it. If you get stuck on a programming problem for a long time, take a walk and get away from the problem. Come back to it later. If your brain is stuck into seeing a problem one way, time away is often the only way to get to seeing the problem differently.
The syllabus page will contain links to extra exercises corresponding to each lecture. If you are having problems with the programming exercises we do in class, try these extra problems. We will be teaching you a step-by-step approach to writing programs early in the course. If you're not able to start writing a program, you're not using the steps. We can help you with the steps if you come to office hours.
I believe that interaction and reflection are crucial to learning. By interaction, I mean that you need to talk to other people (classmates, friends, course staff) about the material. Talking to other people forces you to articulate how you understand an area; it also provides opportunities for others to challenge your understanding (which in turn refines your understanding). Such interaction is a big part of what you're paying tuition for (as opposed to the more restricted interaction attainable through distance learning), so don't shy away from it.
By reflection, I mean that you need to pay attention to how you are learning as much as what you are learning. You need to stop periodically and ask yourself how you went about a problem and whether it was an effective approach. Assess your skills -- what do you do well and what do you struggle with? If you want to become a better learner (which ultimately makes you a better student), you have to take stock once in a while of how you're going about learning. We're almost never taught this skill of self-reflection, but it plays a large role in our growth as learners.
Occasionally, I may ask you to reflect on how you are solving a problem. Hopefully this will help advance your overall learning skills.
My approach to teaching is simply stated, "The students come first." That is, a teacher's obligation is to the students. not the material. Whether I cover the exact topics planned for a given day is less critical than that you learn something that day.
I believe that students learn best by engaging actively, not reading and listening passively. The most important parts of a course are the labs and homework exercises. That is where you assemble and assimilate your own knowledge. Thinking and talking about course material are almost as important, so we will often do active learning exercises in class. So do come to class; don't just sit in your room and read the book!
This page maintained by Kathi Fisler
Department of Computer Science Worcester Polytechnic Institute