Syllabus


General Course Info

Term: Spring 2021

Department: COMP

Course Number: 110

Section Times:

  • 001 - Tuesdays and Thursdays 3:30pm-4:45pm (50% Sync / 50% Async)
  • 002 - Tuesdays and Thursdays 5:00pm-6:15pm (Mostly Async)

Learning Support

  • See the Support Web Page
  • Your Primary Support TA E-mails: Assigned in 2nd week of class

Primary Instructor: Kris Jordan

Graduate Instructor: Kaki Ryan

Diversity Statement

I value the perspectives of individuals from all backgrounds reflecting the diversity of our students. I broadly define diversity to include race, gender identity, national origin, ethnicity, religion, social class, age, sexual orientation, political background, and physical and learning ability. I strive to make this classroom an inclusive space for all students. Please let me know if there is anything I can do to improve, I appreciate suggestions.

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

Introduces students to programming and data science from a computational perspective. With an emphasis on modern applications in society, students gain experience with problem decomposition, algorithms for data analysis, abstraction design, and ethics in computing. No prior programming experience expected. Foundational concepts include data types, sequences, boolean logic, control flow, functions/methods, classes/objects, input/output, data organization, transformations, and visualizations.

Co- or pre-requisite: MATH231 - Single-variable Calculus

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 Load Expectation

COMP110 is a rigorous introductory STEM course. Learning how to program is an acquired, practiced skill much like playing a musical instrument or learning a new craft. The amount of time you individually spend practicing programing and working on assignments, outside of any other help, will significantly impact your success in the course. You should expect to spend 2.5 hours per week in lecture and about 9 hours per week outside of lecture working on course work. You are recommended not to take COMP110 in a semester when you are enrolled in 17+ credit hours.

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 when interacting with course staff and peers, whenever possible;
  • 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. during sync meetins;
  • If you are being disruptive in class the instructor reserves the right to ask you to leave.

Final Exam

Section 001: May 8th at 4pm

Section 002: May 14th at 4pm

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:

  • 45% - Mastery
    • 30% - 5x Quizzes
    • 15% - Final Exam
  • 45% - Programming Projects and Exercises
    • 25% - Projects
    • 20% - Exercises
  • 10% - Participation
    • 6% - Assigned Reading Reflection Essays
    • 4% - Gradescope Lesson Responses
      • PollEverywhere questions are ungraded

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

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

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

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

If, and only if, you take all five 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 21%.

Quiz Absence Policy

The quiz dates for Spring 2021 are:

  • Jan 28 - Quiz 00
  • Feb 11 - Quiz 01
  • Mar 9 - Quiz 02
  • Apr 1 - Quiz 03
  • Apr 22 - Quiz 04

The quizzes will be held during the section you are registered for and are synchronous for both sections 001 and 002. These dates, and the final exam date, are the only required synchronous dates for section 002.

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.

You may be absent for up to one quiz. To request absence from a quiz, you should submit this form before your absence: http://bit.ly/comp110-absence.

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 6% 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 4 quizzes,
  • 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 Ungraded, General Course Concepts

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 TAs while they are working as a TA, 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 TA 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, tutoring organizations, and COMP friends are not allowed to help you with any assignments handed in for credit. They may help you with general course concept questions, however we encourage you to rely on TA 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.

Autograding and Resubmissions

Grades on programming assignments have two components: autograded points and manually graded points. You should take note of how many autograded vs. manually graded points there are ahead of submission. You are permitted, and encouraged, to resubmit your programming assignments as many times as you need in order to earn full credit on the autograded points of an assignment. There is no penalty for resubmission. The autograder will run and assign a score within a few minutes of submission. We will not go back and manually assign any credit for autograder points you failed to earn, so you can know and be aware of your autograded points upon submission. If you do not understand the error output of some autograded point deduction, please come see us in office hours!

Early submission of programming assignments

Programming assignments (exercises and projects) whose final submission is made 48 hours, or more, before their deadline will receive a 5% early hand-in bonus on the assignment’s autograded score. Submissions that fall within the early window of 24-48 hours before the deadline will receive a 3% early hand-in bonus. Submissions made within 24 hours of the deadline are not subject to any bonus.

Late policies

All assignments, outside of assessments such as quizzes and the final exam, will have an 11:59pm deadline on their due date.

Lesson responses, programming projects, and exercises will all have deadlines and late periods. After the late period begins, there is a 1-hour grace period in which no penalty will be applied. Beyond that grace period, the following policies apply:

Lesson responses on Gradescope, for participation, are typically assigned on lecture days (Tu/Th) and must be completed before 11:59pm the following day. After the 1-hour grace period described above, a 15 point late penalty will be applied. No lesson responses will be accepted beyond 11:59pm two days following their original deadline. To ensure fairness to everyone, as emergencies may arise, we will drop the three lowest lesson response scores, including zeros due to absences.

Programming and reading assignments - submissions made after the deadline, outside of the 1-hour grace period described above, will have a 15 point late penalty applied. Programming assignments cannot be handed in more than three days after their original deadline.

Late Point Forgiveness Insurance

As “insurance” against sickness, computer crashes, conflicts with other coursework, etc., every student in the course is forgiven 45 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. These points will first be applied to late penalties on programming assignments and, assuming there are points leftover, will then be applied to late penalties on lesson responses.

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…

There is no opportunity for an end-of-semester “bump” in COMP110, all grading policies are applied equally to everyone in the course. Tabulation errors can be fixed, but all grades earned are otherwise final.

Course Schedule

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

Feedback and Grievances

If you have suggestions on how to improve the course or just want to leave some positive, encouraging feedback for the TAs or Kris, please give us feedback. If you make a suggestion we’re able to act on, while we still have time to, we’re more than happy to!

If you have a grievance of any kind you would like to file, anonymously or not, please air your grievance on this form. This is the best way to have your negative experience or concern heard directly by Kris. For the sake of everyone’s mental health, please spread positive energy through your interactions with TAs and peers in the course. Direct your frustrations toward Kris through the form linked above.

Title IX Resources

Any student who is impacted by discrimination, harassment, interpersonal (relationship) violence, sexual violence, sexual exploitation, or stalking is encouraged to seek resources on campus or in the community. Please contact the Director of Title IX Compliance (Adrienne Allison – ), Report and Response Coordinators in the Equal Opportunity and Compliance Office (), Counseling and Psychological Services (confidential), or the Gender Violence Services Coordinators (; confidential) to discuss your specific needs. Additional resources are available at safe.unc.edu.

Counseling and Psychological Services

CAPS is strongly committed to addressing the mental health needs of a diverse student body through timely access to consultation and connection to clinically appropriate services, whether for short or long-term needs. Go to their website: https://caps.unc.edu/ or visit their facilities on the third floor of the Campus Health Services building for a walk-in evaluation to learn more. (source: Student Safety and Wellness Proposal for EPC, Sep 2018)

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!