CS180 - Programming Fundamentals
    Summer 2021


    Course Policies


Students are expected to attend class regularly and to complete weekly reading and programming assignments and homework projects. The grade for the course will be assigned based on the following components:

  • in-class participation (20%),
  • weekly team practice (20%),
  • programming assignments (30%),
  • final exam (30%).

    Course components

It is the student's responsibility to read and learn the material contained in the text and in handouts and to complete programming projects and practice problems assigned weekly. Class time will be spent discussing the important concepts contained in the reading assignments and sample problems, in clarifying confusing details of the readings or software use and practicing learned concepts.

Attendance of the online class requires your live video to be on at all times, when class is in session. Please note that perfect attendance constitutes only 40% of the participation grade, the rest of which is based on active participation, in other words, questions asked and answered in class.

A significant amount of work outside of class will be needed for students to adequately master the material necessary to complete the weekly practice and programming assignments. You should plan such time into your regular weekly schedule. I am readily available outside of class meetings during office hours and by appointment if you have questions or need additional assistance.

After the first week, you will be assigned a team of peers, based on your expressed preferences for time. Weekly team practice is an integral component of this online class and is intended as an opportunity to (a) learn from each other, (b) practice communicating your ideas related to computation and programming artefacts, and (c) learn to be effective in collaborating virtually. Weekly team practice will be graded for effort based on (a) the submitted video of your 45-60 minute collaborative work session, and (b) your submitted work. All teams must submit their work for every weekly assignment, however, not every team will be evaluated each week; evaluated submissions will be picked at random and will not be announced ahead of time. Each individual member of the team will receive an individual grade. Further details regarding weekly team practice will be provided after the first week of classes.

Programming projects will focus on developing algorithmic skills as well as mastery of the language and will require substantial effort. Unless noted otherwise, programming projects are strictly individual (i.e. non-collaborative) assignments. Solutions will be due on Tuesday at the end of the day. and must be submitted electronically via the appropriate Assignment link on the Blackboard site. Projects submitted past the deadline but before the end of the day on the following Saturday will be awarded 50% of the credit. In addition, the late penalty can be waived on up to two projects during the term. Projects submitted after the Saturday deadline will receive no credit.

If you have any questions on a graded programming assignment, please see me or a CIS Sandbox tutor. Students are welcome to discuss the course material with their classmates and collaborate on problems assigned for in-class and home practice, but you cannot collaborate on solutions to the graded programming assignments. The code submitted by a student in fulfillment of an individual graded programming assignment must be entirely his/her own. Do not share your files with anyone else in the class. All students are expected to adhere to the requirements stated above and the Bentley's Academic integrity policy, which includes Bentley's Honor Code (details on the policy can be found in the Undergraduate Student Handbook, the Graduate Catalog, and Bentley's academic integrity course page on Blackboard into which all students and faculty are enrolled). The essence of the policy is that you should not represent someone else's work as your own (no plagiarism, no cheating on exams, no illicit collaboration on projects, etc.). In an investigation of a possible academic integrity violation, you may be asked to independently reproduce a portion of your submitted solution to a programming assignment; failure to provide correct responses may be used as evidence of cheating. Failure to adhere to these policies can have serious consequences, including course failure, suspension, or even expulsion. If you are feeling overwhelmed, visit with the instructor rather than resorting to an action that will cause additional stress and harm.

The Final exam will be conducted as individual oral examination, i.e. in a short online session with the course instructor, where each student will be expected to answer questions and solve problems based on the topics covered in the course. Further details regarding oral exams will be provided in time.