Administrivia
Instructor: Bart Niswonger, 404C Clapp, bniswong@mtholyoke.edu
Lecture: Monday & Wednesday, 8:35-9:50am in Kendade 305
Lab: Monday, Tuesday, Wednesday, 1-2:50pm in Reese 316
(each student should have signed up for one time)
Office Hours: Monday, Tuesday, and Wednesday, 12-1 or whenever
the door is open. I am only on campus those three days.
Text Book: Jeri R. Hanly and Elliot B. Koffman, Problem Solving
and Program Design in C, 3rd Edition, Addison-Wesley,
1999. Strongly Recommended
Assumptions
My first assumption is that none of you have extensive programming
experience. Some, I expect, may have a little experience, others may
have never touched a computer.
My second assumption is that you will all be willing (eager, even) to
participate in class, to ask questions when you do not understand, and
to provide me with feedback as to what works in my teaching and what
does not. I want very much for this class to be highly interactive!
Goals
By the end of the semester, I want each of you to have the following:
- An intuitive understanding of how computers execute programs: how
the primary pieces (CPU, disk, memory) work together to process the
instructions listed in your programs.
- A strong feeling for the process whereby a program written in a
high level language (such as C) is transformed into a set of
instructions for the computer.
- Strong familiarity with the basic programming constructs such as
loops and conditionals.
- The ability to solve moderately complex problems by designing and
writing a program.
- A sense for abstraction and functional
decomposition, as they are used within the computer science
community.
- An understanding of algorithm and the ability to develop
solutions to moderately complex problems by describing an
algorithm.
In addition, I have goals for myself:
- To develop a sense of community within the classroom.
- To have improved my ability to present the material by soliciting
and listening to feedback from the students.
- To have explored the use of class room activities as a way to help
students absorb concepts, and to keep students engaged.
- To have made use of short class room assessment techniques as a
way to keep abreast of student understanding and sentiment.
Lecture Expectations
Lectures will be made up of my presenting material followed by small
group exercises. The exercises will be designed to help you explore
and understand the concepts more completely. I expect that both
during my presentations and your exercises you will ask for
clarification whenever you need it. At the end of class I will
typically have a small questionnaire for all of you to fill out and
return before you leave. These will help me understand how the class
as a whole is progressing. They will be anonymous.
Some of the activities will involve presenting to the class or acting
out roles. I expect all students to attend lecture and take part in
these activities, and will do my best to keep them amusing! I will
not, however, be taking attendance.
I would love to hear any kind of feedback you have about them or
any other aspect of the class, positive, negative or otherwise.
Assignments
Guidelines
Assignments in this course are meant to be done by a single student
and will be used to gauge how well a single student grasps the
material. They are also designed to help each of you learn the
material. You will not learn to program without doing the
assignments. The assignments are cumulative: if you skip one the
next one will be much harder.
That said, I feel that collaboration is a very effective and useful
way to learn. Therefore I want to encourage some kinds of
collaboration while prohibiting other kinds. It is hard to determine
where the line is, so here is a technique which I have seen work
before, the so called "Gilligan's Island" technique:
You are free to discuss the assignment and how it might be solved as
long as
- You do not do so in front of a computer (you may use a white
board or a piece of paper)
- When you are done discussing, but before you have started to work
on your solution, you must destroy any notes you have taken
- After you have destroyed your notes, but before you start to work
on your solution you must spend 30 minutes doing something mindless
like watching "Gilligan's Island" or "Friends" or some other
distracting activity.
If, after this, you can sit down and construct your solution, then I
feel you learned something from your collaboration. If you cannot,
then you have not learned the material. Giving in to the temptation
to dig those notes out from the trash is considered cheating.
Remember that Mount Holyoke has an Honor Code and that you are bound
to it.
Lab
The lab assignments will be small projects that are meant to
illustrate the concepts discussed in class. They will be designed to
be completed within a single lab session, but if you do not finish you
may work on it over the week until the next lab. They will be graded
in lab on a simple scale reflecting whether or not they work. You
must demonstrate the project to some member of the lab staff (and have
them sign off) in order to receive credit.
Homework
Homework will, for the most part, be continuations or elaborations on
the lab projects. It will typically be due the following lab period,
although later projects may involve several weeks. Each student will
demonstrate and discuss their homework with me during the lab in which
they are due. As a result, late homeworks will not be
tolerated. There will be a penalty of a letter grade a day, as
well as the requirement that you must find time to demonstrate the
assignment to me. This is made more challenging because I am
only available Monday, Tuesday and Wednesday.
The previous paragraph is rather severe. If you are having trouble or
foresee some complication which is going to cause a problem turning in
work, let me know. I am sure we can work out some arrangement which
is mutually agreeable.
Reading
The book is meant as a resource from which you can get a different
presentation of the material covered in this course. I will indicate
which sections of the book are most relevant to each lecture. I will
not require you to have read those sections before class, although
many of you may find this useful. Others may find it useful to read
after class. I do expect you to ask questions in class and you may
find reading beforehand helps you come up with questions.
Grades
Grades will be based on participation in class (20%), completion of
lab projects (30%) and homework grades (40-50%). There may be a few
(at most 3) quizzes which would count for no more than 10% of the
total grade. There will be no tests and no final exam.
Happy Computing!!
|