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,
Grades will be evaluated based on weekly assignments. There
will be 10 weekly assignments.
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
We follow the university's
Academic Honesty Policy and Procedures.
Disclaimer: Course content, schedule, and policies are subject to change.