CSC221 Introduction to Computer Science Fall 2007
Links: Readings,
Exercises, Assignments Computer
Science Department
Java
API
TA Office Hours
Bluej (documentation/downloads)
Objectdraw
API
objectdraw.jar
download
Java SE download Install
howTo
Welcome to CSC 221. This handout contains important information about the course.
Meeting times and place: Lab (required): M 2-2:50, Hawkins 053B
Classes: Tues, Thurs 3-4:15 Hawkins 232
Instructor and Office Hours
| Lonnie Fairchild | |
| Office: | Redcay 147 |
| Phone | 564-2783 |
| lonnie.fairchild@plattsburgh.edu | |
| Office hours: | M 12:45-1:45
, Wed., 2 - 3 (in Redcay
147) T, Th 11-12 (usually in Hawkins 010A) |
These office hours may not be convenient for everyone. Students are welcome (and encouraged!) to make appointments for other times.
Course Content This course is intended for any student with a serious interest in Computer Science, and is required for Computer Science majors and minors. The primary intent of this course is to teach students how to design, write, and test small programs, using the Java programming language. Techniques of object-oriented and event-driven programming are emphasized. Attention is given to design strategy, program modularity, and documentation. Students will also learn how to use system software for program development.
Prerequisites: CSC121 or CSC122 or familiarity with computers and programming
Course Format: There are
3 hours of lecture per week (Tues., Thurs. 3 - 4:15, Hawkins 232) Each student must also be registered
for the lab section: CSC221LA (Mon. 2 - 4:50, Hawkins 053B)
Note that attendance in lab is required. Students should not schedule any
other courses, work, or other activities during lab time.
Required Text
K.B. Bruce, A.P. Danyluk, T.P. Murtagh, Java: An Eventful Approach,
Pearson/Prentice Hall, 2006
Programming Although computer science covers far more than just programming, it is impossible to learn computer science without writing lots of programs. You will be expected to write programs as part of the weekly lab assignments. Grades on programming assignments will be based both on programming style and the correctness of the output. Writing well-designed correct programs takes time, usually more than the programmer expects. Therefore it is important to begin all assigned programs early, so that you can consult the instructor about any problems you encounter.
Labs Attendance in lab is required. Except in very unusual circumstances (see the instructor) you must attend lab in order to get credit for the lab assignment. Students are expected to turn in some work for each lab assignment. In case of repeated failure to do so, the final grade may be lowered.
Each laboratory consists of three parts: Pre-lab, In-Lab, and Post-Lab
Pre-Lab: A lab preparation assignment will be given in class on Thursday. The lab preparation will usually consist of reading and handwritten exercises. Sometimes, it may involve preparation of a program design on the computer. Careful lab preparation will be very important in using the time spent in lab effectively. Sometimes pre-lab assignments will count as part of the lab grade. If you have questions about the Pre-Lab, it is important that you see the instructor for help at the start of the lab.
In-Lab: The lab assignment will normally be handed out with the lab preparation assignment so you can look it over and do the pre-lab. The lab will contain one or more programs for you to work on, with guidance from the instructor and teaching assistants. Normally you will be able to complete most or all of the lab assignment during the lab period. Do not make plans to leave the lab early unless your work is completed and either submitted through our electronic submission procedure or graded by the instructor -- doing so (without special arrangements with an instructor) will result in losing credit for the lab. (However, it is fine (and encouraged) to leave lab for a few minutes in the middle to get a snack, take a break, etc.) Whether or not you complete the entire lab during lab time, you must update the Readme file (details will be given in lab assignments) and submit what you have finished using our electronic submission procedure before leaving the lab. (Don't worry -- you will not be penalized for submitting work which is incomplete or full of errors at the end of lab -- this is normal.)
Post-Lab: When your in-lab is not completed, or requires improvement, you will be given three days (normally) to complete it and submit it electronically so it can be graded. Unless a different due date is announced, each such post-lab assignment will be due at noon on the Friday following the lab in which it is assigned. Instructions for submitting labs will be included in the assignment. The penalty for late assignments will be 5 points per day. Except in very special circumstances, assignments more than a week late will not be accepted.
Grading The final course grade will be
computed as follows:
Quizzes
25
%
Midterm (on Oct. 11)
10 %
Final exam
15 %
Completed lab assignments 25 %
Programming tests (2)
20 %
Class and lab
participation 5 %
Quizzes A written quiz will be given at the start of class every Thursday unless an exception is previously announced. Questions will come from the assigned readings and exercises, material discussed in the previous lectures, and completed pre-lab and lab assignments. The weekly quizzes, midterm, and final are all "closed book". Any materials that you need will be provided by the instructor. Make-up quizzes will not be given. If an unavoidable emergency comes up and you must miss a quiz, you must let me know (phone or email) as soon as possible. Unless the emergency is terrible, this should be before class. If I believe missing a quiz is justified, I will count the next quiz double. Otherwise a missed quiz gets a grade of 0.
Exercises: A selection of homework exercises will be assigned on a regular basis and are important for keeping up in the course. Periodically, students will be given a chance to submit some of these for extra credit on quizzes.
Exams The midterm will cover the material in chapters 1-9. A comprehensive final exam will be given during finals week at the time scheduled scheduled by the registrar for this course.
Programming Tests These will be given during your lab session in Weeks 7 and 14. They are equivalent to open-book exams in which you will be asked to complete a short program. You may use any textbook or course handouts, your notes, any programs you have written, materials in the course account, and the Java API. There will be no regular lab assignment during those weeks. Students who have at least a B average and do well on the first lab test, will be given the option of substituting a programming project for the second lab test. More information on this will be given in class.
Class and lab participation (Attendance Policy) Students are expected to attend all classes and labs. They should also show respect for fellow students and the instructor by arriving on time. In addition to quizzes, there will be regular in-class activities that count in the "class and lab participation" grade. Students who miss a class or lab are expected to make up the work by the next class. The instructor is glad to help anyone who needs to make up work due to unavoidable emergencies (illness, etc.). As with quizzes, if an unavoidable emergency comes up and you must miss a class or lab, you must let me know (phone or email) as soon as possible and (unless the emergency is terribly) before the class or lab.
Cheating Policy (rules on acceptable and unacceptable collaboration):
It is expected that all students enrolled in this class support the letter and the spirit of the Academic Honesty Policy as stated in the college catalog. All work submitted on tests and assignments is to be your own. Cooperative study and mutual aid are healthy learning methods and are strongly recommended. Copying someone's work, allowing someone else to copy or use your work, or presenting shared or copied work as your own, are all regarded as plagiarism and are not permitted. In particular, you should never have an electronic or paper copy of someone else's work or make it possible for another person to obtain a copy of your work. The following rules explain what kind of help from others is appropriate for the different kinds of work in this course:
If you have questions on how to interpret the above rules in a particular situation you should consult the instructor. If you are unsure whether you may have gone beyond the boundaries of appropriate informal discussion on a post-lab assignment, you should talk to the instructor and put an explanatory comment in your program. Any suspected cheating will be investigated, and can result in a grade of E in the course or dismissal from the college.
Other Remember that the course is supposed to be both fun and challenging. It will be important to keep up with the work and to ask lots of questions so that you spend your spend your study and programming time effectively (and not confused because of small details).
This page last modified on 02/28/2008 .