CS 312 - Software Development

Spring 2017


Professor Christopher Andrews
Office 635 McCardell Bicentennial Hall
Email candrews@middlebury.edu
Course Website http://www.cs.middlebury.edu/~candrews/classes/cs312 or go/cs312/
Discussion forum https://piazza.com/class/iz1qfrdgup83xn
Lectures TTh 11:00 - 12:15, MBH 632

Office Hours
MW 10:30a-12:00p
TTh 3:00p-4:00p
or by appointment

Grading

Assignments 35%
Project 65%

Attendance

You are expected to attend class. We will be covering a lot of ground in the first part of the course, and I’ll be pulling material from all over. Once we move to the project phase, you will be conducting group meetings at the start of every class, presenting to the class, or doing in-class exercises, so attendance will be essential. If you cannot make it to a class, you must make arrangements with me and your group, once they are formed.

Assignments

For the first half of the course, there will be approximately one assignment a week. Once the project starts up, there may be some in-class exercises which will count towards this grade.

You have three late days that you can apply to any of the assignments. You do not need to ask to use one. However, you may use no more than one on any given assignment. Beyond this, you must talk to me before the deadline (either the original one, or the 24 hour extension if you are using one) if there is some reason you will not be able to get your work in.

The project is why most of you are taking this class. You will work on the project for the second half of the semester. The project will be group based, and you will work in groups of approximately 8. The nature of the projects will mean that you will need to be in frequent contact with your group, and should be contributing code every week. Your grade for the final project will be partially determined by the overall success of the project, but will mostly be determined by your participation and contribution to the project both in coding and in non-coding activities. You will submit regular status reports summarizing your contributions and may also be evaluated by your peers.

Getting Help

We are going to be using Piazza for our class discussions outside of class. Rather than emailing questions to me, I encourage you to post the questions on Piazza. This will allow other students to answer questions and to benefit from the answers you receive. This system will only work if you use it, so please do so.

Honor code and collaboration

I expect all work turned in with your name on it to be yours. The only exception to this is code that I post as examples in class, which you may use.

Unless work is labeled as collaborative, you should not be working together. You are welcome to provide advice and help hunt for bugs, but if you see substantial portions of someone else's code in the process of helping or being helped, you should not copy it. Leave the problem to one side for an hour or so and then try to reconstruct it on your own later.

You will, of course, be looking for help online. You should restrict this to technology questions (what function provides this, what parameters does this function take, how does this library work), rather than application questions (e.g., if I ask you to implement Tic Tac Toe, don't look for Tic Tac Toe implementations).

There are obviously going to be gray areas, especially once you get to the project. I expect all code not produced by you or from one of my examples to be cited. This can be a simple as a comment that indicates which code and a URL indicating where the code came from.

Accommodations for disabilities

Students who need test or classroom accommodations due to a disability must be registered in advance with Student Accessibility Services. Please contact Jodi Litchfield (litchfie@middlebury.edu or 802.443.5936) for more information. Students who may need disability-related accommodations are encouraged to make an appointment with me as soon as possible. All discussions will remain confidential.