General Course Info
Term: Spring 2019
Department: COMP
Course Number: 101
Section Times:
001: MWF, Genome Sciences 100, 3:35 PM - 4:25 PM
Instructor Info
Name: Jeffrey Young
Office: Sitterson 044
Email: jeffrey@unc.edu
Enrolling in COMP101
To enroll in COMP101 you must be enrolled on ConnectCarolina on the first meeting of class. If you are not enrolled and trying to add late you must attend the first lecture and fill out a form distributed during the class time. We cannot accept late adds who do not show up on the first day of classes.
Teaching Assistants (see course web page)
Within the first weeks of the course beginning, you will be assigned a dedicated TA support staff made up of two members of the COMP101 team. In addition to your personal TA team, our incredible staff will hold copious amounts of open office hours during the week. These hours will be posted on course.care.
Textbooks and Resources
The course web page is the primary resource for this course. There is no textbook for COMP101. We will distribute occasional readings, reference material, and tutorials via the website and 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: i) learn fundamental computer programming skills, and ii) improve your problem solving and logical thinking skills. The course is designed to use the TypeScript/JavaScript programming languages.
If you have already taken a college-level (or AP) Computer Science course, you may want to skip this class and take COMP 110 or COMP 401. Please refer to the following link for more information: comp101.org/topics/getting-started/am-i-in-the-right-course
Goals and Key Learning Objectives
This course is intended to teach basic computer programming skills, using the programming language TypeScript, to students with no prior programming experience. This course aims to teach students general programming language concepts and semantics, problem definition, problem solving, and logical thinking, through algorithm development and writing programs.
Course Requirements and Policies
You should attend all lectures of the week and check the course web pages for announcements and updates. You should complete assigned readings and programming assignments on time.
Programming assignments take about 4-10 hours per week; start early and ask questions. Bring your laptop to every lecture session. Please respect your fellow students by maintaining proper etiquette in class; this includes:
Key Dates
There will be a quiz every other Friday of the semester.
Final exam schedule:
The course final is given in compliance with UNC final exam regulations and according to the UNC Final Exam calendar.
Grading Criteria
You will be evaluated in this class as follows:
Regrade requests on quizzes are handled through Gradescope. Regrade requests will only be accepted for the 72 hours following grade release on Gradescope.
As "insurance" against unexpected emergencies, bad days, and so on, at the end of the semester the lowest quiz grade, including a 0, will be dropped. For dean excused absences, we will hold make-ups on the Sunday following the original quiz date at noon.
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 exam as well as "sign" the code you submit for grading.
In order to do well in this course, you must come to your own understanding of the material independently. As such, collaboration is prohibited outside of the following policies.
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 assignments.
Collaboration on Problem Set Programs
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 problem sets and worksheets. 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 we use 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 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 unfair advantage for academic gain and is an honor code violation.
Permitted Resources on Problem Sets and Worksheets
The following are not permitted resources on problem sets and worksheets:
When in doubt, ask Jeffrey.
Tutors and Informal Help from COMP Friends
Tutors and COMP friends are not allowed to help you with problem sets or written worksheets. They may help you with general course material questions and for additional help in preparing for exams, however we encourage you to rely on UTA assistance foremost.
Code Review Test
Jeffrey reserves the right to, at any time, ask you to submit to an "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 a problem set or response on a worksheet. 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 COMP101. As such, we want to reward and encourage you for submitting your work early. Falling behind in COMP101 is perilous because the concepts build on one another as the semester progresses.
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 at the end of the semester. Note that "late penalty" means points deducted for credit that you earned and these points will only be added back if the assignment was completed in full. Like 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...
** In order to pass the course you must score at least a 40% on the final exam.
Class Participation
Class attendance and participation is required to do well in this course. The instructor reserves the right to use different means to classify as class participation – you will be clearly informed during the semester, but expect to encounter PollEverywhere quite frequently.
Course Schedule
See the course calendar.
Disclaimer
The instructor reserves to right to make changes to the syllabus, including assignment due dates and exam dates. These changes will be announced as early as possible.
Check comp101.org regularly for updates and announcements!