Course Policies

There are a number of qualities about this course that make it different from most courses that you have already taken. We'll be mentioning these course policies during our classroom discussions, but please take the time to make sure you understand them here.

Homework

You will have assigned homework in this class most every night, usually consisting of approximately one hour spent reading the text and writing programs. The noted Nobel laureate Richard Feynman cautioned that "You do not know anything until you have practiced," and although he was talking about learning physics, his words apply to programming as well. Do Your Homework!

It may be the case that you occasionally find yourself "stumped" by a particular homework assignment. In these cases, you are encourage to:

Do NOT copy-paste from the given solution: EVER. Not even a snippet. It doesn't help you learn, it's cheating, you'll feel guilty, and I'll find out about it (I have ways), and... it's just wrong. NEVER COPY-PASTE!

Turning in assignments

You'll have a number of different types of assignments in here, most of them involving writing programs in Python, and most of these programs will be written on your computer, often at home. In order to "turn in" these assignments, you'll need to upload them via SFTP or SCP to a directory reserved for such purposes.

Unless stated otherwise, programs assigned on a given day are due that evening, by 12:00 midnight. At that time, the programs will be automatically run and graded, so you can't afford to turn in assignments late. You are strongly encouraged to get your work done on these assignments early, so as to avoid any last-minute problems: the assignment was difficult, your connection was down, etc.

Computers

For our in-class work, you'll have access to one of the school's Apple laptops, and running Python on those machines using the command line and IDLE. You are free to bring your own laptop from home for use in this course, if you prefer to. You will also obviously need to have access to a computer at home, which will need to have Python installed on it so that you can do your work. Please read about installing Python.

Grading

Your grade will be based on a weighted percentage, according to the following scale:

A93% and above
A-90-92%
B+87-89%
B83-86%
B-80-82%
C+77-79%
C73-76%
C-70-72%
D+67-69%
D63-66%
D-60-62%
Fless than 60%

The approximate weighting of assignments in the course will be as follows:

Programming Homework20%
Quizzes10%
Independent Project / Presentation20%
Tests30%
Attendance/Participation10%
Other10%

Academic Integrity

In addition to assisting students with learning material, teachers are often responsible for assessing their progress. In order to do this, students may be given a number of different types of assignments: homework, quizzes, tests, in-class activities, laboratory experiments to conduct, research papers, individual and group projects, presentations, etc.

It is understood that for some of these assignments, students may collaborate with one another. Four lab partners may perform an experiment as a group and share data. A student team may design and present a project together. Students might consult each other to find out how to solve a homework problem. In these cases, collaboration is accepted and even encouraged.

However, in other cases, the teacher desires an individual assessment of the student, ie. an answer to the question: "How much progress has the student made in mastering the material?" These assessments, usually in the form of quizzes and tests, are to be performed without assistance from any other sources or students.

There are many ways that a student may cheat, but they all fall into one of three categories:

  1. giving or receiving unauthorized information on tests, examinations, or other work (including labs)
  2. using any unauthorized aids on tests, examinations, or other work (including labs), or
  3. submitting someone else's work, in whole or in part, for your own.

Thus, looking at someone else's test paper to copy the answer to a problem, discussing a test problem or sharing its solution with another student, copying test problems or answers and sharing them with another student, stealing a test, stealing the answers to a test, and using notes during a test that have not been expressly allowed by the teacher are all prohibited.

SPECIAL NOTE FOR COMPUTER SCIENCE STUDENTS
While occasionally looking for assistance on the Internet is an important skill, avoid the temptation to copy-paste snippets of code from other sources. The only way to learn how to code is to sit down at the machine and start coding. If you find that it's taking you too long to struggle with the material, ask the instructor or another student for advice, or check the pseudocode that is available for most problems. Time invested in trying to understand how to use certain coding techniques will pay off far more than time spent Googling for random bits of code.

The penalties for cheating vary, depending on the institution, the department, the teacher, and the nature of the infraction. Commonly, a student caught cheating will receive a failing grade on the assignment and be subject to disciplinary action, including suspension and a letter being placed in the student's file. A friend of mine who is a professor states that at her university, there are a total of ten disciplinary actions possible in response to cheating, including: "expulsion, suspension (withdrawal from the University for a given period of time), mark reduction on the assignment or exam, reduction in the final course grade, a grade of F in the course, conduct probation, written reprimand, suspension of any degree already awarded, rescinding any degree already awarded."

An extended discussion of the ethics of cheating is beyond the scope of this note. What IS important to understand is that any form of academic dishonesty, at any level, is taken very seriously by ALL academic institutions. Cheating places your grade at risk and jeopardizes your academic career. And it's just plain WRONG.

Use your powers for good, not for evil.

SPECIFIC EXPECTATIONS AND CONSEQUENCES AT POLY

Expectations

  1. In a testing situation, you will write your own answers, without using any notes, preprogrammed calculators or the like, unless you have been given express permission from the instructor to use such resources. Specifically:
    • You will not look at another student's paper during a test, quiz, or other individual assessment.
    • You will not allow another student to look at your paper during such an assessment.
    • You will not discuss the test, quiz, or assessment with any student who has not yet taken it.
    • You will not help any student study for a test, quiz, or assessment which you have taken but they have not.
    • You will not ask other students for information about a test, quiz, or assessment that you have not yet taken.
  2. If you collaborate with other students on a programming exercise, you are permitted to share ideas, algorithms, and specific programming advice.
  3. You are permitted to use the solutions to selected problems for the purposes of better understanding the problem and completing the assignment.
  4. Regardless of the type of assistance, each student must physically enter his/her own program via keyboard, test and debug the program himself/herself, and submit his or her own work.

Consequences

If you fail to meet these expectations there will be consequences for you, depending on the severity of your failure. These consequences will include a zero on the assignment, and notification of the incident to parents, deans, and the Upper School Director.

Polytechnic School's Acceptable Use Policy

In addition to these course policies, by using computers and the computer network at Poly you are tacitly agreeing to abide by the school's Acceptable Use Policy, which you are strongly encourage to read and understand. Violation of this policy may result in your loss of access to school technology, which is going to have a devastating effect on your ability to participate in this class! :)