|CPSC 329||Software Development||Fall 2008|
You are expected to be familiar with the course policies stated below. Ignorance of a policy is not an excuse for violating a policy or being surprised when it is applied to you, and will not exempt you from its penalties.
You are expected to regularly check your HWS email and the course web page. Announcements, assignments, handouts, and other information relevant to the class as a whole will be posted on the course web page. Email will be used in the case of a particularly time-sensitive announcement (e.g. an announcement about a homework which is due in the next class meeting) or for matters which are only relevant to a few people in the class.
|Assignments and Evaluation||
Readings: You will quickly notice that the two Head First books are not typical textbooks - and while the reading assignments may seem like a lot of pages, the pages are not the typical densely-packed textbook pages. You will get the most out of the readings if you do them interactively - when the text presents a question or exercise, think about how you'd answer it before continuing on. Differences between your answer and the book's can be discussed in class.
Reading Reflections: Class periods will generally be more discussion-oriented than lecture-oriented so it is important to come to class prepared by having done (and thought about) the reading. To encourage this, reading assignments will often be paired with a few reflection questions. Answers to these questions are due by 10:30 am on the day for which the reading is assigned.
Labs: Many lab periods will have lab exercises to complete. In many cases you should be able to finish most or all of the exercises during the lab period if you come to lab prepared by having read the handout; anything not completed during the lab period must be finished as homework. Lab assignments will generally be due one week after the lab in which they are assigned.
Homework: In the first part of the course, there will be a series of homework assignments in order to gain practice with the topics discussed. Some homework assignments will be written; others will involve programming. Homework assignments will often be discussed in class after they are due, and so will typically not be accepted late. In addition, many homeworks will build on previous assignments so it is important to complete each one.
Projects: The second part of the course will be dominated by two large projects where you will get to practice and apply your design and implementation skills. The first will be a team project; the second may be completed individually or as part of a team.
Final Exam: The final exam will be due in the registrar-scheduled time slot. More details about the exam (including whether it is a take-home or in-class exam) will be announced later in the semester.
Final Grades: Final grades in this course will be computed as follows:
Attendance: You are expected to attend and be on time for all class meetings. Late arrivals may be marked as absent. Attendance is not explicitly factored into your final grade, but note that a large number of absences often negatively affects your grade. In addition, the number of unexcused absences is taken into account when considering borderline final grades.
Participation: You are also expected to participate in class. This does not mean that you have to volunteer for everything, but you should be actively engaged in class - i.e. you are paying attention and contribute meaningfully to the class on a regular basis. You should not hesitate to ask questions about the course material, either in class or outside of class via email or office hours - if you remain confused about something, it will make the next topic that much harder.
Late homeworks and exams will only be accepted as outlined under "Missing Class / Make-Up Policy" and "Extensions / Rescheduling Exams" below. (Homeworks will generally not be accepted late because they will often be discussed in class after they are handed in. Exceptions will be noted when the homework is assigned.)
Late labs and projects will not be accepted more than two class periods after they are due. (e.g. an assignment due Friday will not be accepted after the following Wednesday) Late work will be penalized 5% if turned in by midnight on the due date and 10% per day or part of day thereafter. (e.g. an assignment due Friday will be penalized 30% if it is turned in on Monday) Deductions are calculated as a percentage of the total points possible on the assignment, not the number of points you earned. This policy is intended to discourage habitually late handins and to prevent one late assignment from taking away time needed to work on the next, while still recognizing that sometimes there are circumstances where one just needs a bit more time.
Late reading reflections will not be accepted. If you miss one, you can make up for it with extra credit on another assignment.
No work will be accepted after the end of the timeslot in which the final exam is scheduled.
Note that computer labs may not be available at all hours or over college holidays, so be sure to take this into account if you are relying on those facilities. Furthermore, labs tend to get very busy right before deadlines, especially at the end of the semester. "I couldn't get my work done because I couldn't find a computer!" is not a valid excuse.
|Missing Class / Make-Up Policy||
Excused absences include absences due to sports competitions, official Colleges activities such as musical performances or debate competitions, academically-related events such as attending a conference, religious observances, serious illness, or personal or family emergencies. A reason must be provided in order for such an absence to be counted as an excused absence.
Missing class for other reasons - such as being too busy, oversleeping, or leaving early for a vacation - is considered to be an unexcused absence.
Students are responsible for acquiring any notes, handouts, assignments, and other material missed as the result of an absence, whether excused or unexcused. This should be done promptly to avoid falling behind.
Making up work (missed exam or assignment deadline) will only be allowed in the case of an excused absence, and only when it was not possible to have made arrangements in advance. Making up an exam requires documentation from an appropriate person (dean, doctor, etc) to validate the reason for the absence. Arrangements for making up work must be made as soon as possible after the due date missed.
|Extensions / Rescheduling Exams||
Rescheduling of exams and extensions on assignments will only be allowed in compelling circumstances (e.g. an excused absence on exam day, or a series of excused absences covering a significant portion of time before the due date). In particular, note that leaving early for a vacation is generally not a compelling reason, nor is being busy or having a bunch of assignments due at the same time.
Arrangements for rescheduled exams or extensions must be made sufficiently in advance of the date in question - waiting until the day before a team trip which has been scheduled for weeks is not "advance arrangements". In addition, it is the student's responsibility to ensure that there are actual arrangements in place - simply sending an email notification about an upcoming absence does not constitute "arrangements".
If arrangements cannot be made in advance (e.g. due to a last-minute emergency), the policy for make-up work applies.
The Principle of Academic Integrity (see the HWS Catalogue, p. 33) governs all of the work completed in this course. Specifically:
You are generally allowed to discuss the course material and assignments with other students and to use other materials (such as reference books or websites) as technical references, but anything you turn in for a grade must be your work - your ideas and your effort. In addition, you must:
For team or group assignments, the policy applies to the group: work submitted must be the ideas and effort of the group, and discussions with or help from people or sources outside the group must be acknowledged.
Exams are to be completed solely by the student whose name is on the paper. The only person you may discuss the exam with is the instructor, and you may use only those materials authorized in the instructions.
Be careful when using other materials for help on assignments - it is OK to look for examples of concepts, but not to look for solutions to assignments. See "Plagiarism in Programs and on Problem Sets" below for more information.
Also be careful of collaborating too much with others - it is worth reiterating that what you turn in must be your own work. (You also do yourself a disservice if you rely too much on others, and it is then more likely that you don't fully understand the material.)
Copying part or all of someone else's solution is expressly prohibited, and it is never acceptable to be in possession of someone else's program or solution before you have handed in your own. Decompiling or reverse-engineering someone else's code (including provided code) is also prohibited.
Failure to acknowledge help received will generally result in a warning the first time, and point deductions for subsequent offenses. Submitting work which is unreasonably similar to another person's work and/or not being able to explain any part of your solution will result in a minimum penalty of a 0 on the assignment. A second such offense is grounds for failure in the course. Plagiarism offenses may also be referred to the Committee on Standards.
There are no exceptions to this policy; ignorance of the policy and desperation ("It was the night before it was due and there wasn't anyone else to ask!") are specifically not excuses for violating the policy. If you are having trouble with the course material, come to the instructor! - it is never advantageous to "borrow" someone else's solution, and the time spent trying to disguise this "borrowing" is far better spent getting help.
|Plagiarism in Programs and on Problem Sets||
As with papers, verbatim copying of programs and problem solutions constitutes plagiarism. Also as with papers, plagiarism is not limited to verbatim copying - copying the significant ideas and structure of someone else's program/problem solution also constitutes plagiarism.
But aren't all programs which solve the same task/solutions to the same
problem pretty much the same, so won't my program/solution look like everyone
else's even if I worked by myself?
Programming/problem solving techniques are often explained via examples -
what's the difference between using an example and "copying the
significant ideas and structure"?
OK, then, so I can't use any examples because that constitutes
Using "examples" (as defined above) is generally OK but using "solutions" is not.
There's a fuzzy middle ground here, and I'm still not sure exactly
what is OK and what isn't.
|Center for Teaching and Learning (CTL)||
Hobart and William Smith Colleges encourage students to seek the academic collaboration and resources that will enable them to demonstrate their best work. Students who would like to enhance their study skills, writing skills, or have other academic inquiries should contact the CTL. You may visit the CTL web site to learn more about the services and programs that are available. (http://www.hws.edu/academics/ctl/index.aspx)
If you are a student with a disability for which you may need accommodations, you are required to register with the Coordinator of Disability Services at the CTL and provide documentation of the disability. Services and accommodations will not be provided until this process is complete. The web site for information pertaining to registration with the CTL and documenting disabilities is: http://www.hws.edu/studentlife/stuaffairs_disabilities.aspx.
|Extra Time on Exams or Other Accommodations||
If there's something about the course that would serve you better (e.g. course material in other formats), let me know!
If you need extra time on exams or other accommodations, see the section on CTL above. You must provide me with documentation in advance in order to receive accommodations.