Course Policies
Makeups for exams
-
Makeups on exams will only be given if there is an emergency situation that you could not predict or avoid including but not limited to major illness
-
No makeups will be given if you have a conflict with any of the exams for this course. Please check for conflicts with the final!
Disabled Students Program (DSP)
UCSB provides academic accommodations to students with disabilities. Students with disabilities are responsible for ensuring that the Disabled Students Program (DSP) is aware of their disabilities and for providing DSP with appropriate documentation. DSP is located at 2120 Student Resource Building and serves as the campus liaison regarding issues and regulations related to students with disabilities. The DSP staff works in an advisory capacity with a variety of campus departments to ensure that equal access is provided to all disabled students. If you have a disability that requires accommodation in this class, please go see the DSP very early on in the quarter. I will only honor these types of requests for accommodation via the DSP. More information about the DSP is found here: http://dsp.sa.ucsb.edu
UCSB Policy on Academic Honesty
It is expected that students attending the University of California understand and subscribe to the ideal of academic integrity, and are willing to bear individual responsibility for their work. Any work (written or otherwise) submitted to fulfill an academic requirement must represent a student’s original work. Any act of academic dishonesty, such as cheating or plagiarism, will subject a person to University disciplinary action. Using or attempting to use materials, information, study aids, or commercial “research” services not authorized by the instructor of the course constitutes cheating. Representing the words, ideas, or concepts of another person without appropriate attribution is plagiarism. Whenever another person’s written work is utilized, whether it be a single phrase or longer, quotation marks must be used and sources cited. Paraphrasing another’s work, i.e., borrowing the ideas or concepts and putting them into one’s “own” words, must also be acknowledged. Although a person’s state of mind and intention will be considered in determining the University response to an act of academic dishonesty, this in no way lessens the responsibility of the student.
(Section A.2 from: http://www.sa.ucsb.edu/Regulations/student_conduct.aspx, Student Conduct, General Standards of Conduct)
Each student is responsible for knowing and abiding by UCSB’s policies on Academic Honesty. Any student violating these policies will earn an ‘F’ in the course and will be reported to the Academic Integrity Office . Committing acts that violate Student Conduct policies that result in course disruption are cause for suspension or dismissal from UCSB.
About Collaboration
As mentioned above, one of the things we really want to convey in this course is that real-world software development is very seldom an ‘individual sport’—it is much more often a ‘team sport’. Companies want to hire CS and CE graduates that know how to collaborate with others on producing software.
In the CS Department at UCSB, we understand the value of this. However, it puts us in a tricky position.
On the one hand, we want to encourage working together in ways that help you develop your skills and teamwork, and help you understand that programming can be a social, collaborative, creative activity—not something done only by loner nerds in cubicles. The sooner you start with activities such as pair programming, code reviews, and other collaborative software development activities, the more skill you’ll develop, and the sooner you’ll be ready for the real world. Plus, for many people, working together with others is a lot more enjoyable and fun than being a loner.
On the other hand, we need to avoid any situations where freeloaders are "coasting" through courses by leaning too much on others—never developing independent skills as programmers. This situation creates huge problems. Mostly it is damaging to the freeloaders themselves, who eventually crash and burn, perhaps far too late to choose another career path without significant difficulty. However, it also creates problems for everyone else—some hardworking students become demoralized by the unfairness of it all, and the value of a UCSB education is diminished by the freeloaders’ lack of accomplishment.
Thus, we must strike a balance.
Our emphasis on collaboration means:
- We will try to create opportunities for you to work in pairs on assignments—in some cases, we may even require it.
- We will try to create opportunities for you to develop the ability to think critically about software development by talking about and reflecting on your own code and other people's code in small groups (code reviews).
- Some in-class assignments will permit discussion with other students.
However:
- You may not "just copy" homework or code from others and claim it as your own work.
- You may not work together on assignments unless you've been specifically told that it is allowed.
The bottom line:
- We'll try to be very specific about what kinds of collaboration are permitted, and what kinds of collaboration are not permitted, and are considered a form of academic dishonesty.
- If you are not sure about whether some kind of collaboration is permitted or not, it is your responsibility to ask questions.
A final note: the emphasis on collaboration in this course does not necessarily extend to other CS courses you may take in the future.
- Each course will have its own policies, and the default policy is still: no collaboration.
- Please be sure you understand each instructor's policy on collaboration carefully, and don't assume it will be the same as that from previous courses.
- And, finally, be sure to review the UCSB Academic Honesty Policy. You should read and understand the UCSB policy on academic honesty listed below. You should also understand that I take academic honesty and personal integrity very seriously, and will do my best to uphold and enforce this UCSB policy.
Other important policies
- If you are registered for another UCSB course that overlaps with this one, you MUST HAVE specific written permission from both instructors, or I am within my rights to give you a failing grade on any work you miss as a result, and will NOT make any accommodations for you. This includes exams.
- Collaboration is only permitted when specifically allowed for—otherwise, you must do your own work.
- On most homework assignments you may collaborate with at most one other person (who must be named)
- This course moves quickly. So attendance is very important. We’ll sometimes cover two or even three chapters in a given week. We need to go at that pace, because during the last week of the quarter, you can’t really start anything new, because there isn’t time to put it into practice with programming assignments. If you don’t put it into practice, you aren’t very likely to learn it in any way that is going to stick with you, so there isn’t much point in just "going through the motions". </p>
You may NOT:
- turn in homework on a day other than when it is due
- have someone else turn in your homework for you (that will be considered academic dishonesty).
- leave homework in a mailbox or slide it under a door
- drop it off with the instructor to be graded later (unless it is specified in the homework)
Exceptions
If you miss a class, you miss the opportunity for the points on that in-class assignment, or homework that was due. Period.
There is no makeup, except for:
- excused absences arranged and agreed to by the instructor in advance, for official UCSB activities
- one "sick-day/personal day" per student, per quarter (see below)
To make up an assignment from a "sick-day/personal-day", you must within one week of the absence, or 24 hours before the final exam, which ever is earlier, come to office hours (this cannot be done in lab). You may only do this ONCE per quarter.
In rare cases, if there is a documented family emergency, documented extended illness, documented required court appearance, or other situation beyond the students’ control (with documentation) the instructor may grant additional make up days entirely at the instructor’s discretion—but this is not a guarantee or a right.
About pair programming
Most of the programming work in this course can be done using a style of programming known as "pair programming". This is where two people (in rare cases, three) work together at the same terminal to solve a programming problem.
It is similar, in some ways, to having a "lab partner" in a Biology, Chemistry or Physics course.
For the assignments where pair programming is used, it is required, not optional. Here’s why:
- Pair programming is a real-world skill that is highly valued by employers.
- Many companies use pair programming extensively, including several local area employers of UCSB CS graduates.
- Companies that employ UCSB CS and CE grads tell us that our graduates have good technical skills but need better skills and working in pairs and groups to solve problems.
- Incorporating pair programming into our curriculum is part of our response to this "real-world" feedback.
- Most students find it helpful and enjoyable—UCSB CS students from 2009-2010 that were surveyed about their pair programming experiences overwhelmingly reported positive results.
- There is also evidence in the scientific literature that it improves student learning, and helps you get better grades.
To learn more about pair programming, watch the following video (it takes less than 10 minutes):
http://bit.ly/pair-programming-video
Disclaimer
The course policies have been provided as accurately as possible, but are subject to change at the instructor’s discretion, within the bounds of UC policy.