Scott D. Anderson, but feel free to call me ``Scott'' or ``Professor Anderson'' or ``er, um''; whatever makes you comfortable. My office hours are first thing in the morning and after our class. Check my FC resume for the exact times.
In addition to office hours, please feel free to meet me by appointment. Contact me by email at sanderso@wellesley.edu . My office is room E114 in the Science Center.
We meet on Monday and Thursday from 1:30 to 2:40.
We'll talk about office hours in class on the first day. I love to talk with students one-on-one -- it's the best part of my job -- so please visit me during office hours. You don't even have to have a question!
Introduction to the use of computers for manipulation and display of graphical information. Includes graphical input methods and interactive graphics, two- and three-dimensional transformations and fundamentals of raster graphics.
Almost every modern computer has a graphical user interface (GUI) and newer models will increasingly incorporate advanced techniques in modeling, lighting, animation, and so forth. Furthermore, graphical visualization techniques are increasingly used in computer-aided design, engineering, and manufacturing (CADEM) and in simulation. Computer graphics is therefore an important area of research and innovation.
You will learn about how 2D and 3D objects are modeled and rendered on raster graphics computer screens and other 2D output devices. You will learn the fundamental mathematics, as well as efficient algorithms and computer hardware designs.
A successful student will be able to
CS 307 has CS 230 (Data Structures) as a prerequisite. Students with exceptional programming ability may also be admitted. Knowledge of linear algebra and computer architecture are also useful, but not required.
Instruction will consist of lectures twice a week. Here's a link to the class schedule. Please try to read the lecture notes before class. We will often have some hands-on exercises in class, whenever possible.
The concept of the "one minute paper" has become quite popular in recent years. You are asked at the end of each class to take a minute or two to write down your response to two questions. The questions are
I have found that using First Class works well for doing one-minute papers, so instead of rushing to do this at the end of class, you're welcome to post your message sometime after class.
After each class, please post to the appropriate First Class folder (CS307-drop) your response to these two questions. Try to be brief (imagine it to still be a "one minute" paper, two paragraphs at the most). Please do this by midnight of the day of the class. I will read all messages, respond to those that need an individual response, and summarize others either in class or via First Class.
The weights for the final grade are:
All exams are cumulative. The final exam will cover the whole course. Each part of a homework assignment is given a point weight (if I forget, let me know). Typically, programs will count for 100 points, and a written problem will count for 10 points, unless it is unusually hard or easy.
Category Weight Assignments 50 Project 30 Midterm 20
There is no textbook for this course. There are books available to supplement the lecture notes. These books will be kept in the Linux lab. You may take them to 121b, but please don't take them elsewhere and please return them, so that others can use them.
To save paper, I will typically not make printouts of lecture notes, but if you find it useful, I would be happy to do so. Just let me know.
Since I believe that collaboration fosters a healthy and enjoyable educational environment, I encourage you to talk with other students about the course and to form study groups.
Unless otherwise instructed, feel free to discuss problem sets with other students and exchange ideas about how to solve them. However, there is a thin line between collaboration and plagiarizing the work of others. Therefore, I require that you must compose your own solution to each assignment. In particular, while you may discuss problems with your classmates, you must always write up your own solutions from scratch. It is unacceptable for two students to turn in copies (or near copies) of each other's solutions. I will interpret such a situation as a violation of the Honor Code, and will bring it before the General Judiciary. When in doubt about acceptable levels of collaboration, please ask me for clarification.
In keeping with the standards of the scientific community, you must give credit where credit is due. If you make use of an idea that was developed by (or jointly with) others, please reference them appropriately in your work. E.g., if person X gets a key idea for solving a problem from person Y, person X's solution should begin with a note that says ``I worked with Y on this problem'' and should say ``The main idea (due to Y) is ...'' in the appropriate places. It is unacceptable for students to work together but not to acknowledge each other in their write-ups.
When working on homework problems, it is perfectly reasonable to consult public literature (books, articles, etc.) for hints, techniques, and even solutions. However, you must cite any sources that contribute to your solution. Assignments and solutions from previous terms of this course are not considered to be part of the ``public'' literature. You must refrain from looking at any solutions from previous terms of CS307. It is my policy that consulting solutions from previous terms of CS307 constitutes a violation of the Honor Code.
Students seem to prefer a "lateness coupon" system, so I will use that. We will begin the semester with 8 coupons each. If you use a lateness coupon, you must tell me. We'll have to work out how this is handled with pairs programming.
You may not use lateness coupons to extend either of the project deadlines: I want to see your presentations, and I can't extend anything beyond the end of exams.