Syllabus


General Course Info

Term: Spring 2024

Department: COMP

Course Number: 110

Course Website: https://comp110-24s.github.io

Sections:

  1. 001 - Async Mondays, Sync Wednesdays and Fridays - 2:30 PM - 3:20 PM
  2. 002 - Async Mondays, Sync Wednesdays and Fridays - 3:35PM - 4:25PM

Instructor: Alyssa Lytle

Curriculum

A list of concepts covered in this class can be found here

Course Description, Target Audience, and Prerequisites

COMP110 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 is expected or needed. 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 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 Structure

Instructional Format

Most new concepts will be introduced asynchronously and remote via prerecorded lessons that enable you to pause, rewind, slow down (or speed up!) and complete with more flexibility than a fixed lecture format permits. Mondays will be led this way. The rest of the course, Wednesdays and Fridays, will serve as days to practice, reinforce, and extend the concepts introduced on Mondays. These days will be held in-person such that you can be surrounded by peers and Undergraduate Teaching Assistants to collaboratively work through challenges together.

Quizzes and Required Synchronous Days

Quizzes and examinations are offered in-person only this semester. The format is pencil and paper. We will provide the quizzes/exams/paper, you only need to bring pencils, a good eraser, and your ONECard to quizzes and exams.

Quiz Dates

  • Quiz (QZ) 00: Fri, Jan 26
  • Quiz (QZ) 01: Fri, Feb 9
  • Quiz (QZ) 02: Fri, Mar 1
  • Quiz (QZ) 03: Wed, Mar 27
  • Quiz (QZ) 04: Fri, Apr 19
  • Final (FN) Exam: Fri, May 3 @ 8 AM (Makeup Sat, May 4 @ 12 PM)

Final Exam Makeup If you have a university approved reason for needing to take the final on a makeup day, please fill out this form.

Quiz Absence Policy

The quizzes will be held during the section you are registered for and are synchronous, in-person for both sections 001 and 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, you should plan on taking COMP110 in a future semester when these unfortunate, but important, conflicts will not arise.

You may have an unexcused absence for up to one quiz.

If this is an excused absence (university or instructor approved), you should submit this form with attached documentation: https://airtable.com/appLAcrgEhUfhwgpH/pagL61MnQCtPPc7T6/form.

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

Office Hours and Tutoring

The most valuable resources in COMP110 are office hours and tutoring. The resources are offered strictly in-person. Information and times can be found here: https://comp110-24s.github.io/support/.

Textbooks and Resources

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

Course Expectations + Grading

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 and async lessons ON TOP OF about 9 hours per week outside of lecture working on assignments and studying. 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. You 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 its scheduled start time.

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:

  • 35% - (EX) Programming Exercises
  • 5% - (RD) 3x Reading Responses
  • 10% - (LS) Async Lesson Responses on Gradescope (Graded for Correctness)
  • 10% - (CQ) Challenge Question Responses on Gradescope (Graded for Correctness)
  • 30% - 5x Quizzes
  • 10% - Final Exam

The quiz/final exam grading policy is updated to the following: 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 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%.

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,
  • Score greater than 50% on the final exam.

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. The early hand-in bonus does not apply to manually graded points on projects.

Regrade Requests

Regrade requests for quizzes and other manually graded assignments are open for 72 hours following the release of the grade. If you missed any of the points on a given assignment, you should review work as soon as grades are posted to be sure you understand why you missed something. This will help bring your understanding of concepts closer to comprehension faster. In the event we graded something improperly, select the specific question on gradescope and click the “Regrade Request” button at the bottom. If there are multiple questions, submit multiple requests one per question, rather than batching them together. Do not use regrade requests to ask why something is wrong, come work with us in tutoring or office hours to understand the problem at hand.

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 and programming exercises will all have deadlines and late periods. The following policies apply:

Lesson and Challenge Question responses on Gradescope are assigned on lecture days and must be completed before 11:59pm the same day unless noted otherwise. If handed in after the 1-hour grace period described above, a maximum 15% late penalty will be applied. No lesson responses will be accepted beyond 11:59pm two days following the original deadline. To ensure fairness to everyone, as emergencies may arise, we will drop the 2 lowest lesson scores and the 1 lowest challenge question score, including zeros.

Programming and reading assignments - submissions made after the deadline will have a 15% late penalty applied at the end of the semester. Exercises and projects cannot be handed in beyond their 6-day late period, which follows the original deadline. The lowest exercise score, including a zero, will be dropped.

Late Point Forgiveness Insurance

As “insurance” against illness, computer crashes, sporting events, conflicts with other coursework, and waves arms around in the air life, every student in the course is automatically forgiven the following points worth of late penalties on assignments at the end of the term:

  • Lessons: forgiven up to 2 late lesson penalties
  • Challenge Questions: forgiven up to 2 late lesson penalties
  • Exercises: forgiven up to 2 late exercise penalties
  • Readings: forgiven up to 1 late reading assignment penalty

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

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…

Honor Code Policies

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

Resources

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!

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)

Diversity Statement

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

Disclaimer

The instructor reserves the 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, Alyssa Lytle