Course Policies

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 and Academic Honesty

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:

However:

The bottom line:

A final note: the emphasis on collaboration in this course does not necessarily extend to other CS courses you may take in the future.

Other important policies

About pair programming

Most of the programming work in this course will 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:

To learn more about pair programming, watch the following video (it takes less than 10 minutes):

http://bit.ly/pair-programming-video

If a lab allows you to pair program, you must choose a partner before you start working on the lab. You must then follow the pair programming guidelines descibed in the video above. All the while you should be working on a single copy of the assignment. The name of both partners should be clearly specified as a comment at the top of each file. The partners should make a single joint submission to our autograder (gradescope) and add the name of both partners to the submission made on gradescope. Failure to follow these guidelines, for example submitting two copies of the same code individually would be considered a case of academic dishonesty and will be reported Academic Integrity Office

Policy for finding a partner

You are encouraged to work with a different partner for each lab (that allows collaboration). You must try to pair with a student who is registered in the same section as you. If you are unable to find a partner in the same section, inform your primary TA who will assiste you with finding a partner. If the TA is unable to assist you with finding a partner, you may pair with a student registered in a different section. However, both students should plan to attend a common section going forward. Students in a pair will work together to complete select lab and programming assignments.

Late Lab Policy

The policy is simple, and is based on the idea that the primary purpose of the deadlines is to allow the TA manage his/her workload. The number of labs in this course requires that he/she not have to do “context switching” between grading different labs. All labs must be graded in one sitting, or he/she just won’t be able to keep up with the workload. So:

Frequently Asked Questions

Do we need to bring laptops to class?

You do not need to bring a laptop to class but you are **encouraged** to bring your laptop to follow along during live coding sessions in lecture, and to use your own device during lab (discussion sections).

Research has shown that the use of electronic devices for purposes other than note-taking or class related activities hampers the learning of both the student and those sitting close by. Although you are allowed to bring your laptop or mobile device, please do not use it to read email or Facebook, play games, etc. That latter use can be a real distraction to others sitting behind that student, not to mention the distraction to the laptop user herself/himself.

The instructor holds the right to ask you to leave the class if you fail to comply with the course policy on using devices.

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.

Back to Syllabus