Syllabus


General Course Info

Term: Fall 2021

Department: COMP

Course Number: 110

Course Website: https://21f.comp110.com

Sections:

  1. Tu/Th - 9:30-10:45a - Remote (Mostly Async)
  2. Tu/Th - 11:00-12:15a - In-person (About 50% Async)

Instructor: Kris Jordan

Graduate Instructor: Kaki Ryan

Instructional Formats

The two sections of COMP110 this semester will cover the same conceptual content, have the same lessons and assignments, but will be taught in two different formats: Section 1 is remote (mostly asynchronous) and Section 2 is in-person (with some remote asynchronous lesson days).

Required Synchronous Days BOTH Sections

  • 8/31 - Tuesday (Quiz 0)
  • 9/16 - Thursday (Quiz 1)
  • 10/5 - Tuesday (Quiz 2)
  • 10/28 - Tuesday (Quiz 3)
  • 11/18 - Thursday (Quiz 4)
  • 12/3 at 8am - Friday (Final Exam)

Section 001 Format: Remote Mostly Async

Section 001 is offered remotely and mostly asynchronously as part of Carolina Away. Instructional content will post to the course site by 9:30am each Tuesday/Thursday. Most instructional content will be delivered and completed asynchronously, with the exception of the dates listed above. Those dates are quiz and final exam dates which require completion during our regularly scheduled course time- 9:30am-10:45am. Please check and mark your calendars for these dates so as not to schedule or plan for any kind of conflicting event.

Section 001 is welcomed to virtually attend Section 002’s live streamed, in-person lecture. You will be able to ask questions remotely. The link to the in-person live stream will be posted on the course website. You are also welcomed to watch the recording of the in-person live stream after it has concluded.

Section 002 Format: In-person (with some remote async lessons)

Section 002 is offered in-person in Hamilton Hall 100 at 11:00am with the following remote asynchronous lesson dates planned, which you will complete outside of class:

Section 002 Remote Asynchronous Dates

  • 8/24 - Tuesday
  • 9/2 - Thursday
  • 9/9 - Thursday
  • 9/21 - Tuesday
  • 9/28 - Tuesday
  • 10/7 - Thursday
  • 10/14 - Thursday
  • 11/2 - Tuesday
  • 11/9 - Tuesday
  • 11/23 - Tuesday

Face Masks in Hamilton 100

This semester, while we are in the midst of a global pandemic, all enrolled students are required to wear a mask covering your mouth and nose at all times in our classroom. This requirement is to protect our educational community — your classmates and me – as we learn together. If you choose not to wear a mask, or wear it improperly, I or a member of the course staff will ask you to leave immediately, and I will submit a report to the Office of Student Conduct. At that point you will be disenrolled from this course for the protection of our educational community. Students who have an authorized accommodation from Accessibility Resources and Service have an exception. For additional information, see Carolina Together.

Classroom Etiquitte in Hamilton 100

Please respect your fellow students by maintaining proper etiquette in class; this includes:

  • 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 Instagram, Tik Tok, etc. during in-person meetings;
  • If you are being disruptive in class the instructor reserves the right to ask you to leave.

Attending In-person Lectures Remotely

In-person lectures will be live streamed and recorded. If you cannot physically attend class due to quarantining, or some other issue, you can watch lecture and participate remotely via the stream URL posted to the course site.

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 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.

Pre-requisite: A C or better in one of the following courses: MATH 130, 152, 210, 231, 129P, or PHIL 155, or PSYC 210, 215, or STOR 112, 113, 120, 151, 155.

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. Additionally, the course offers broad exposure to some of today’s key issues of computing in society.

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 on lecture/lessons and about 9 hours per week outside of lecture working on course work. We DO NOT recommended taking COMP110 in a semester when you are enrolled in 17 or more credit hours.

Course Requirements and Policies

You should complete all asynchronous lessons and related questions on time. Section 2 should attend all synchronous lessons (all days except those shown above) and check the course page for announcements and updates. You should complete all programming and reading assignments on time.

For in-person lectures, please show up at least five minutes early so that the class can begin promptly at 11:00am.

Final Exam - December 3rd 8:00 - 11:00am

Both sections have a Common Hour Exam on December 3rd, 2021 at 8:00am. If you have a regularly scheduled course during the 8:00am Mon/Weds/Fri time slot, then that exam will take precedence over COMP110 and you will need to take the COMP110 exam during the make-up time on Sunday, December 5th at 12:00pm. The course final is given in compliance with the UNC final exam regulations and according to the UNC Final Exam calendar.

Grading Criteria

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

  • 60% - Preparation, Practice, Participation
    • 40% - Exercises and Projects
    • 10% - 4x Reading Responses
    • 10% - Gradescope Participation Responses
      • 0% - In-lecture Polling Questions
  • 40% - Mastery
    • 30% - 5x Quizzes
    • 10% - Final Exam

The fairest way to assess mastery of material while distance learning is through a combination of timed assessments, excercises with “on your own” sections, and open-ended project work.

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 40% 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 10% 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 16%.

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 the lowest quiz score and your final exam score will be worth 16%.

Quiz Absence Policy

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 001.

If you are a part of an organization whose authorized university absences will conflict with two or more of the key dates of quizzes, you 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,
  • Take at least 4 quizzes synchronously,
  • 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, lecture assignments, 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 me.

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

I reserve the right to, at any time, ask you to submit to a “code review” test with me 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.

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 at the end of the semester. 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 at the end of the semester. Projects and reading assignments cannot be handed in after the 3-day late period.

Late Point Forgiveness Insurance

As “insurance” against sickness, computer crashes, conflicts with other coursework, etc., every student in the course is forgiven 60 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.4999999999…

Course Schedule

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

Feedback

If you have suggestions on how to improve the course or just want to leave some positive, encouraging feedback for the TAs or I, 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!

Contributor(s): Kris Jordan