On this page:
People
Office Hours
Policies
Computing Environment
Assignments
Pair Programming
Exams
Projects
Grades
Version: 5.2.1.6

General

People

Instructors: David Van Horn.

Instructors design and implement this class. They lecture and create the labs, assignments, and exams. They are here to teach from life.

TAs: Ian Johnson.

TAs teach labs, supervise the grading of homework sets, hold office hours, and occasionally substitute in lectures. In general, they are apprentice teachers and are here to learn how to run a course.

Tutors: Jason Shrand and James Grammatikos.

Tutors have, in the past year or two, mastered the material of this course; they help in labs, hold office hours, grade assignments, and can remember what it’s like to be lost. They are here to gain a deeper understanding by teaching what they know to others.

Office Hours

David Van Horn

dvanhorn

WVH350

Thursday

3:30pm-5:30pm

Ian Johnson

ianj

WVH308

Friday

1:30pm-3:30pm

Jason Shrand

jshrand

WVH102

Monday

2:00pm-4:00pm

James Grammatikos

jgramm

WVH102

Tuesday

11:30am-1:30pm

Communication

Lectures are held Monday, Tuesday, and Wednesday at 9:50am-11:30am in Shillman Hall 215.

Exams are held Thursday at 9:50am-11:30am in Shillman Hall 215.

Labs are held Tuesday and Thursday at 1:30-3:10pm in 211 WVH.

Assignments are due on Monday at midnight in svn.

Final Project is due on Tuesday, June 26 at midnight in svn.

Policies

Computing Environment

You will complete your assignments (other than the first one) using the Eclipse IDE. Though, if you feel more comfortable, you may choose to use another IDE (e.g. NetBeans) or work directly from the command line, but you and your partner must both be comfortable with the chosen programming environment, and the staff may not be able to assist you with issues encountered in other environments.

You will use Subversion to work on your homework sets, to keep track of revisions, and to submit your homework.

Assignments

There will be one problem set each week.

Problem sets require you (and a partner) to apply the concepts from lectures and labs. The problems will consist of structured programming assignments that may be based on the work done in previous weeks, and may also include more creative projects where you can practice your design skills.

Pair Programming

You must work on your problem sets in pairs. Your lab TA will assign you a partner. Every few weeks, you will get a new partner.

Keep a log/calendar documenting the times you and your partner met and worked together and when you plan to meet next. If the planned meeting does not happen, write down an explanation.

Pair programming means that you and your partner work on the problem sets jointly. You read them together and you work on the solutions together. One of the lab’s purposes is to teach you how to work in pairs effectively; indeed, pairs are provably more effective than individuals in programming. The rough idea is this: One of you plays pilot, the other co-pilot. The pilot works on the keyboard and explains aloud what is going on; it is the co-pilot’s responsibility to question everything. After a problem is solved to the satisfaction of both, you must switch roles.

Every partner must be able to solve every homework problem in the end. In other words, You must be able to solve every homework problem on your own.

All programs must be completed strictly by you and your partner. You are free to discuss the problem sets with others, so long as you acknowledge discussants. However, you may not share code in any way. Submitting code that is not your own will be considered a violation of the University’s Academic Integrity Policy (pages 38—40 of the 2011-2012 Underaduate Student Handbook). Violations of academic integrity will be reported to OSCCR and will have a negative impact on your grade.

If you are having difficulties working with your partner, please inform your instructor. Bring in your log of meetings with your partner to help explain the problems you may have.

Exams

There will be a weekly in-class exam that tests your mastery of the course material. Exams are open-book and notes. You may not use any calculational device other than the one between your ears.

Projects

There will be a substantial class project implemented over the last several weeks of the course.

Grades

You will get a gpa for your homework (including the project) and for your exams. You must have both a passing homework gpa and a passing gpa to pass the course. For the final grade, we will assign a weight of 40% to the homework grade and a weight of 55% to the seven exams. The remaining 5% are up to the instructors’ whim.