COMPSCI 220 Programming Methodology, Fall 2017

Course Description

This course covers programming methodology for solving real-world problems using features of a modern programming language. The programming language that we will use for this class is C++, although the techniques covered will be general to other imperative programming languages. We will take inspiration from robotics problems to cover examples of how to apply different programming design patterns and techniques to solve problems.

Lectures: Tuesdays, Thursdays, 2:30-3:45PM, Engineering Lab II 119

Discussions: [Check your schedule on spire!] Wednesdays, Fridays, 9:05-9:55AM, 10:10-11:00AM

Rod Grupen, grupen [at] cs [dot] umass [dot] edu
Joydeep Biswas, joydeepb [at] cs [dot] umass [dot] edu, Office Hours: Fridays 1:30PM-2:30PM, CS238

Course Staff:
Khoshrav Doctor, Jarrett Holtz, Samer Nashed, Nicholas Galang, Kyle Vedder, Sean Barker, Timothy McNamara
TA Office Hours: Mondays 4-5PM and Fridays 2-3PM, Edlab (LGRT 226)
Assignment submissions: Moodle (COMPSCI 220 F'17)
Discussions, Announcements: Piazza (COMPSCI 220 F'17)

Schedule and Lecture Notes

Virtual Machine

Virtual machine image: link
Instructions: link


Grades will be evaluated based on weekly assignments. There will be 10 weekly assignments.

Late policy:
All assignments are due at 11:55PM on the day that they are due. You may use a total of five late days in any combination over all the assignments without penalty. Late assignments will be determined by their submission time on Moodle. After the late days are used up, the value of the assignment goes to 0. Late days are computed by rounding up: for example, two minutes late, two hours late, or 23 hours late all count as one late day. Thus, if you miss a deadline by a few minutes, it is better if you get a good night's sleep and then submit the late assignment any time within the next 24 hours. You must submit all assignments to earn a passing grade in the class.

Academic honesty and collaboration policy:
All assignments submitted by you must be your own, coded by you, and formulated by you. You may discuss the general topics of the course with anyone, and the assignment problems, however the solution you turn in must be based entirely on your understanding of the problem. As a rule of thumb to distinguish discussion from plagiarism, feel free to discuss problems verbally or via temporary written means (e.g. whiteboard), but do not share any written matter or code.

We follow the university's Academic Honesty Policy and Procedures.

Disclaimer: Course content, schedule, and policies are subject to change.