Syllabus


General Course Info

Term: Fall 2020

Department: COMP

Course Number: 110

Section Times: Tuesdays and Thursdays 4:45pm-6:00pm

Learning Support

  • Office Hours on Course.Care: See Sakai > Resources > OfficeHours CourseCare
  • Your Primary Support TA E-mails: Assigned in 2nd week of class

Primary Instructor: Kris Jordan

Graduate Instructor: Kaki Ryan

Textbooks and Resources

The course web page is the primary resource for this course. There is no textbook for COMP110. We will distribute occasional videos, readings, reference material, and tutorials via the course website and e-mail announcements.

Course Description, Target Audience and Prerequisites

This course is an introduction to computer programming for students with no previous programming experience. There are two primary goals:

  1. learn fundamental computer programming skills, and
  2. improve your problem solving and logical thinking skills. The course is designed to use a general-purposed programming language which is widely used in both academia and industry while also being pedagogically strong.

If you have already taken a college-level (or AP) Computer Science course, you may attempt to place out of this class and take COMP210 when the placement exam is next held.

Goals and Key Learning Objectives

This course is intended to teach basic computer programming skills to students ranging from those with no prior programming experience to those with some prior experience. This course aims to teach general programming language concepts and semantics, problem definition, problem solving, logical and recursive thinking, through algorithm development and writing programs.

Course Requirements and Policies

You should attend all synchronous lectures and check the course web pages for announcements and updates. You should watch any assigned videos, especially those of asynchronous lectures, and read assigned readings before lecture begins. You should complete all programming assignments on time.

Videos, Reading, and Programming assignments take about 9 hours of work per week; start early and ask questions. For scheduled lectures, please show up a few minutes early as you would a traditional lecture. Please respect your fellow students by maintaining proper etiquette in class; this includes:

  • Turning your camera on during zoom breakouts;
  • Muting yourself unless asking a question or engaging in class discussions;
  • Not arriving late habitually or leaving in the midst of class;
  • Not talking, sleeping, reading other material etc. in class;
  • Keeping cellphones, etc. off during class;
  • PLEASE DO NOT use your laptop to surf the web, watch Netflix, iMessage, use Facebook, etc.
  • If you are being disruptive in class the instructor reserves the right to ask you to leave.

Final Exam

Date: TBD

The course final is given in compliance with the UNC final exam regulations and according to the UNC Final Exam calendar. If you have a non-standard final exam that conflicts with COMP110, per UNC policy the non-standard final exam must offer you an alternate time.

Grading Criteria

To do well in this course you must come to your own individual mastery of introductory programming concepts. Final grades are calculated with the following weights for each course component:

  • 72% - Mastery
    • 24% - 3x Programming Projects
    • 32% - 4x Quizzes
    • 16% - Final
  • 28% - Exercises and Preparation
    • 24% - Exercises
    • 4% - Participation

The most fair way to assess mastery of material while distance learning is through a combination of timed assessments which involve programming and open-ended project work where you are able to demonstrate mastery.

Taking at least three of the four quizzes and the final exam, as well as handing in all four programming projects, is required to be eligible to pass COMP110.

The cumulative final exam is worth 48% of your final grade at the start of the term. Each quiz you take accounts for 8% of your final grade and reduces the weight of your final examination by 8%. There are no drops.

For example: By taking all 4 quizzes, your final exam’s weight is 16% of your final grade. If you must be absent from a quiz (see policy below) then the three quizzes you take will account for 24% of your final grade and your final exam will account for 24%.

If, and only if, you take all four quizzes and your final examination score exceeds your lowest quiz score, then we will retroactively grant you an absence for that quiz and your final exam score will be worth 24%.

Quiz Absence Policy

You may be absent for up to one quiz. To request absence from a quiz, you must submit this form before your absence: https://bit.ly/comp110-20f-absence. Only in the case of medical or otherwise verifiable emergencies can we accept late absence requests.

If you are a part of an organization whose authorized university absences will conflict with two or more of the key dates of quizzes, per course policy you cannot pass this course and should plan on taking COMP110 in a future semester when these unfortunate but important conflicts will not arise.

To ensure these assessments are fair for all students enrolled in COMP110 this term, and to return graded quizzes as quickly as possible, we do not offer quiz makeups for credit for any reason. By being absent from a quiz, the quiz’s 8% credit will simply not be drawn down from your final exam score’s weight. As such, this is not a penalty, it simply means your mastery of this quiz’ material will be assessed on the cumulative final exam.

We can offer everyone absent from a quiz the same learning experience of sitting for the quiz at some later date and receiving feedback on it, but a quiz taken in this fashion is not for credit and will not count toward nor against your mastery grade to ensure fairness to all students.

Course Passage Policy

In order to pass COMP110, you must:

  • Have a passing grade given the rubric of weights above and grading scale below,
  • Be present for and take at least 3 quizzes,
  • Not miss more than 5 days of synchronous class meetings, AND
  • Score greater than 40% on the final exam.

Honor Code and Collaboration Policy

In order to do well in this course, you must come to your own individual understanding of the material. As such, collaboration is prohibited outside of the following policies.

Make sure that you are familiar with The UNC Honor Code. You will be required to sign an Honor Code pledge to hand in with every quiz and the final as well as “sign” the code you submit for grading by filling in your PID in the required __author__ variable. Failing to do so may result in no credit assigned for the assignment.

Collaboration Policy on General Course Content

You absolutely may, and are encouraged to, discuss general course concepts (i.e. not assignment-specific) material with anyone, including other current students and tutors. This includes going over lecture slides, documentation, code examples covered in lecture, study guides, etc. The examples you use to discuss general course materials must be from lecture or your own creativity, you cannot use examples directly drawn from any assignments handed in.

Collaboration on Graded Work

No collaboration with peers inside the course, or anyone outside the course, with the exception of our course UTAs while they are working as a UTA, is allowed on exercises, projects, environment diagrams, quizzes, and exams. Your ability to complete each individually is critical for your ability to do well in this course. Illegal collaboration is easily detected in COMP110 because Gradescope has built-in support for Stanford’s MOSS program (Measures of Software Similarity), as well as other machine learning techniques. Every year, a number of violations are caught and prosecuted in the Honor Court, so far always resulting in guilty convictions and sanctions. Avoiding any fears here is simple: work on assignments and assessments on your own and come to office hours when you have questions. Please note that if you know someone who is a UTA, you are only permitted to receive help from them while they are working in their official capacity. Receiving help from a UTA outside of their working hours is considered an unfair advantage for academic gain and is an honor code violation.

Permitted Resources on Graded Work

  • Materials on the course website and any linked resources
  • Instruction received from UTAs
  • Official programming language documentation
  • Online documentation for specific errors you encounter

The following are not permitted resources on coursework handed in for credit and are considered honor code violations:

  • Asking for help on an assignment or assessment on GroupMe, or any other mobile or web application, groupchat, or forum.
  • Talking about specific assignments with peers in the course or anyone outside the course with the exception of UTAs.
  • Looking at someone else’s screen, whether in person or shared remotely, while working on a an assignment. Letting someone else look at or share your screen.
  • Copying code found on any website or community such as StackOverflow, Github, Chegg, or CourseHero.
  • Sharing or reusing code with any peer currently in the course or anyone who has previously taken the course.

When in doubt, ask Kaki or Kris.

Tutors and Informal Help from COMP Friends

Tutors and COMP friends are not allowed to help you with assignments handed in for credit. They may help you with general course material questions and for additional help in preparing for quizzes or the final exam, however we encourage you to rely on UTA assistance foremost.

Code Review Test

Kris reserves the right to, at any time, ask you to submit to a “code review” test with him or a head TA. We may ask you to meet to explain any line of code or decision made in your program that we deem suspicious or confusing. Thus, you should be able to comfortably explain why you (and you alone) wrote any single line of code in an assignment handed in for credit. Should you be unable to do so, your grade will be a zero for the assignment in question and you may be taken to honor court depending on the severity of the infraction.

Early and Late Submission Policy

Starting and finishing programming assignments as early as possible is the key to success in COMP110. As such, we want to reward and encourage you for submitting your work early. Falling behind in COMP110 is perilous because the concepts build on one another as the semester progresses.

Late policy for coursework

Each assignment has a deadline on Gradescope. Work handed-in after that deadline is considered late. If your work is handed-in within six hours of the deadline no penalty will be applied. If it is handed in after that, a 20 point penalty will be applied. Once hand-grading begins on an assignment you will not be eligible to recieve credit for the hand-graded component. Work can no longer be accepted 5 days after the deadline.

Late Point Forgiveness Insurance Policy

As “insurance” against sickness, computer crashes, conflicts with other coursework, etc., every student in the course is forgiven 50 points worth of late penalties on programming projects and exercises at the end of the term. Like real insurance, there is no reward for not needing to use these points and you should try to avoid using them outside of unpredictable, emergency situations like a computer crashing or being hospitalized.

Grading Scale Breakdown

  • A: 93-100
  • A-: 90-92
  • B+: 87-89
  • B: 83-86
  • B-: 80-82
  • C+: 77-79
  • C: 73-76
  • C-: 70-72
  • D: 60-69
  • F: 59 or below

In cases of fractional points, grades will be rounded up if greater than 0.499999999…

Class Participation

Class attendance and participation is required to do well in this course. Class participation is worth 5% of your final grade.

This participation grade will comprise of:

  • Attendance in synchronous lectures and participation in class exercises
  • Responses in class quizzes (some graded for credit, others not)
  • Other activities and exercises announced as participation through the course

Course Schedule

See the course itinerary on the home page of the web site.

Disclaimer

The instructor reserves to right to make changes to the syllabus, including assignment due dates and quiz dates. These changes will be announced as early as possible.

Check the course site regularly for updates and announcements!