CS4414: Exams

In fall 2020 CS4414 will be taught online, and all graded work will be done as take-home programming assignments ("labs") or take-home quizzes.  In total we will have 12 graded items: 7 labs and 5 quizzes.  There will be no other exams.

There are two kinds of labs.  Some labs are stand-alone labs intended to help you gain proficiency with C++ and Linux tools that we showed you in class or in recitation.  Others are somewhat more ambitious and involve mini-projects that you will build over several weeks, with a series of steps each described as a separate lab.

A typical quiz asks questions that relate directly to the most recent lectures, or to recommended readings associated with recent lectures.  The role of a quiz is to test your understanding of core concepts.  In contrast, a typical lab focuses on skill development: putting the ideas we see in class to work to solve problems.

All submitted work must be your own, but this does not mean you can't study with friends and even discuss labs or exam questions with friends.  CS4414 is about learning the material, and if you learn by interacting with TAs or with friends, this is fine.  However, there are limits: If your friend supplies you with the answer to a question or code for a lab, that violates academic integrity both for you and for your friend, and you could both face serious penalties, up to a possible F in the course.  So, there is a big difference between talking to a friend to understand an exam question, versus having your friend tell you the answer to the exam question.  The former is fine; the second violates the academic integrity policy.

In systems programming, we often base our solutions on templates or demo programs available from open source download sites.  This is standard practice and in many situations, it wouldn't even be possible to replicate those templates by hand if you wanted to.  As such, this pattern of work is allowed in CS4414, provided that you document the source of any materials that you used.  However, there is a big difference between preexisting materials and materials created just for you.  Asking any third party for the solution to a problem you are supposed to solve on your own, even some anonymous hacker on a web site for developer help, is a violation of the  academic integrity policy.