Comp 110 Intro to Programming

Keep Learning this Summer!

Reaching the end of COMP110 means your journey as a programmer has... just begun.

This summer I will continue posting videos to my YouTube channel, so if you're interested in additional free content just beyond the scope of what we did in COMP110, I would encourage you to subscribe and join me!

I put together a quick, four-minute video highlighting three areas I think would be great for you all who just finished COMP110 to continue exploring here. Those three areas are:

1. Learning more about what an Integraded Development Environment such as VSCode can do to help your development process.

2. Trying to expose yourself to another language like Python

3. Learning how to make your own personal web sites using HTML and CSS and reading through the free, online book

Throughout the summer I'll be posting videos along these directions to my YouTube channel, so I hope you'll join along and keep learning with me! Otherwise, I wish you well and to have a great summer. Thanks again for a wonderful semester of COMP110 in the face of adversity!

Tutoring 4/29 12-2pm, 5-7pm and Final Review Session - 4-5pm

There will be the final tutoring sessions of the semester on Wednesday, April 29th, from 12pm-2pm and 5pm-7pm. See Course.Care for Zoom info.

The Final Review Session will be this Wednesday from 4-5pm over Zoom. Different than before, this session will be Q&A style. Come with any questions you have on the material and we will help answer them and provide practice as needed. See you there!

Lecture 22

Lecture 22 has 3 videos.

The first video is a review of some of the fundamental building blocks of abstraction we have learned this semester in the context of turtle graphics. There are a couple of participation questions on this.

The second video is a follow along exercise exploring some recursive art. There are no participation questions on this video, it's just an exercise in exploring recursion.

The last video has an overview of concepts and a little info about what to expect on the final.

Lecture 21 and PS5 - Compstagram

Happy last week of class everyone! Today's lecture content and related Gradescope questions are posted and focus on function literals and their applications.

As a reminder, the final problem set of the semester is posted as well and due Friday before midnight: Compstagram.

Great work closing out the semester strongly! We're in the home stretch!

Lecture 20 Posted and Diversity Panel RSVP

Find it on the calendar page!

Recursion review session recording can be found below.

The quiz is Thursday at 9:30am EST.

Join us Thursday at 6pm for a panel discussion on diversity in computer science. Please RSVP using this form to get a link to the zoom meeting!

Review Session 5 Recording

Thanks to those who came to the review session today! Here's the link to the recording: (Access Password: J8+.16$^)

Also, the key for ws3 is below to help you study

Ws3 Key Env

Review Session 5 - Mon 4/13, 4-5pm

Review Session 5 will be this upcoming Monday, from 4-5pm. It will cover generics, functional interfaces, and higher order functions. As always, the Zoom link will be posted under Events in the day of. Come out to review for the next quiz!

Lecture 19 - Posted

Lecture 19 videos are posted to the calendar and the lecture questions are live on Gradescope. In this lecture we introduce the powerful concept of higher-order functions.

Review Session 4 Recording

Thanks for everyone who joined the review session today! For those who missed it, the recording of the session can be found here:

Lecture 18 - Recursion Practice & Recursion Review Session Tonight

Today's lecture material is posted to the calendar page along with the accompanying questions to respond to on Gradescope. As mentioned in today's announcements, simply responding to Gradescope lecture questions counts toward the 2% participation points and correctness of responses counts toward the 3% "warm-up" questions we did before Spring Break. As long as you respond to 3 out of 4 of all Gradescope lecture questions correctly, you'll be on track for earning full credit for this grade.

There will be a live, UTA-led review session on recursion this afternoon. See details in the announcement below.

Review Session 4 - Tues 4/7, 4-5pm

Review session 4 will be this Tuesday April 7th from 4-5pm, covering recursion and linked lists. The Zoom link, similar to last time, will be posted in the Events section of ~10 min before the session begins. Excited to see you all there!

Lecture 17 and Assignments Posted

Happy Thursday COMP110! Please see the Calendar Page for today's lecture materials and open the lecture assignment on Gradescope. Additionally, the next worksheet and problem set are live. Happy recurring!

Song of the Day: Pursuit of Happiness - Extended Steve Aoki Remix

Lecture 16 Posted

We are entering a new unit on recursion and functional programming. This is the last conceptual unit of COMP110!

There are five videos (60 minutes of video content total) for today's lecture posted to the calendar page. Corresponding questions for participation in today's lecture are posted in Gradescope. Please follow along with the videos and respond to the Gradescope questions! The next worksheet and problem set will post later today.

Quiz 2 - Details

Please provide feedback on the quiz after taking it by filling out this feedback form.

Quiz 2's format will be different from our paper based exams due to the circumstances of being remote.  You will see it appear on the Gradescope Assignments page at 9:30am EST.

The quiz is open notes and open VSCode. As such, its emphasis will be about 20% on tracing with Environment Diagrams, 70% on code writing involving methods and constructors, and 10% on critical thinking questions you'll respond to in English.

Collaboration is not permitted and we are trusting you to be honorable here. If we suspect collaboration in the grading process based on answer similarities, we will have Zoom-based proctoring on quiz 3 and the final.

You should have paper to diagram on. You will not hand-in the paper, nor scan it, but we will ask questions related to diagrams (like those on lecture Tuesday) that you can only answer by correctly drawing it out.

Important! The questions involving code will all relate to the cell contagion simulation code base you worked on in Lecture 15. A working copy of all files from Lecture 15 were just added to the course repository in the directory q02-oop. You should be familiar with the Cell and Model classes. You can also see those files online here: Cell, Model.

For code based questions you are permitted to first try writing and testing code in VSCode and then copying it over to Gradescope. You are not required to do this, though, and nothing in VSCode will be turned in for credit only what you complete in the Gradescope submission.

Quiz 2 will open on Gradescope tomorrow at 9:30am EST. You must begin by 9:45am. If you are on the West Coast and need a start time exception, please fill out this form tonight:

If you have ARS accommodations for extra time, the correct amount of time will be reflected when you begin the quiz.

Review Session 3 Recording and WS2 Key

Thanks to all who attended the Zoom Review Session today! If you missed it, the recording can be viewed from this link:

(The actual review session material begins at 4:50)

The slides are posted under Calendar. Happy reviewing!

Also, below is the key for worksheet 2 to help you study.

Ws2 Key

Lecture 15 Videos Posted

Welcome back to 110!!! :)

As explained in the more detailed posts below (read them if you haven't!) lecture will be delivered asynchronously for the remainder of the semester in the form of pre-recorded videos.

For your part, you'll want to move through today's 4 videos found on the calendar page (announcements, two challenge environment diagram questions, and then a code reading and writing exercise). As you're moving through these videos and following along, you'll also want to respond to the questions on Gradescope for Lecture 15. These will take the place of PollEverywhere and is due within 24 hours of lecture (Wednesday of 9:30am).

This lecture is meant to serve as practice for Thursday's quiz. Additional details about the format of Thursday's quiz will be forthcoming.

Office Hours Instructions

If you have questions about how to use office hours remotely, we've setup a page with more detail:

Review Session 3 - Tues 3/24, 4-5pm

Review Session 3 will be held tomorrow from 4-5pm on Zoom! It will cover classes, objects, constructors, and methods. You will be able to access the Zoom link ~10 minutes ahead of time by going to Events in Course.Care. Come out to review for the next quiz!

Moving Forward

The team and I wanted to share more information about how we plan to complete the remainder of the semester remotely. The gist is we will pick up where we left off and try to be as flexible as possible. We understand your shelter at home schedule may not be as in your control as life was on campus. 

The only dates where we will have tight timeline expectations are on Quiz dates and the Final Exam. You should plan to be at a computer with internet connection on these dates and times. The new quiz dates are pushed back from the original dates while the Final Exam remains the same:

  • Review Session 3 - Tuesday, March 24th - 4-5pm EST
  • Quiz 2 - Thursday, March 26th - 9:30am EST
  • Review Session 4 - Tuesday April 7th - 4-5pm EST
  • Review Session 5 - Monday April 13th - 4-5pm EST
  • Quiz 3 - Thursday, April 16th - 9:30am EST
  • Final - Friday, May 1st - 8:00am EST

Unit 2 Worksheet is Due 3/24 at 11:59pm

If you have not begun working on this worksheet, we encourage beginning soon to load the details of Object-oriented Programming back into the front of your mind. If you do not have a printer at home do not worry, there are two options available to you: 1) just respond on plain paper and scan that instead, 2) fill in the PDF digitally using Adobe Acrobat or another PDF editor.

Office Hours will Be Remote and Reopen Monday 3/23

You will need to have the Zoom software installed (instructions here) and signed in with your UNC account (login here). You will initiate a meeting, copy the URL, and then request help via Course.Care just like before (and provide us with your meeting URL to join). Detailed instructions on this process will be posted.

Lecture will be delivered asynchronously beginning Tuesday 3/24

Instructional videos, warm-up, challenge problems, and hands-on exercises will be posted as YouTube videos you can watch at any point in the day. Each lecture will have questions to answer via Gradescope for participation purposes and must be completed by the end of the given lecture day.

Lectures will be added to the calendar page as soon as they are ready. There will be no lecture content on quiz days. I will send e-mails as new content is added in the first couple of weeks while we transition to this cadence.

Tutoring will be Remote and Reopen Tuesday 3/24

Hours will post to Course.Care on Sunday. You will join a Zoom meeting we create and we will break into separate rooms by course/topic depending on demand.

Review Sessions will be continue through Zoom and be recorded for later viewing

Zoom links will be posted in Course.Care. After the session, the slides and recording will be posted.

Quiz 2 will be open book with VSCode allowed on Thursday 3/26

Quizzes will be administered via Gradescope with 1:15 time limits. Our proctoring setup is still TBD, but may involve Zoom. The Format of Quiz 3 and the Final are TBD pending the experience we all have with Quiz 2.

The format of Quiz 2 will be similar to the practice questions on Tuesday 2/24's lecture. These questions will be responded to via a Gradescope interface. You will not need to print anything, but you should have paper to create your own diagrams / scratch work. You will not need to worry about scanning or turning this in.

Should you declare COMP110 Pass/Fail before Final Grades are released?

No. Under the new policy you can declare P/F through the summer and into August. That gives you time to see what your letter grade will be and decide whether to mark P/F. In order to earn a P, you must still earn a D or better in the course. Based on my experience of prior semesters, students who declare P/F mid-semester fail more often than they expect as the motivation to put in effort diminishes.

If you plan to take COMP210/COMP283, you must still earn a C or better in COMP110 even if you declare the course P/F to continue in the major/minor.

The team and I thank you for your patience and perseverance navigating this new reality. We'll get through this together!

Review Session 2, 2/18 Peabody 104

Review session 2 will be this coming Tuesday, February 18th, from 5-6pm in Peabody 104. We will be covering 2D arrays, scope, and environment diagrams with globals and blocking. Come out to review for the next quiz!

The slides can be found under the "Calendar" section!

Also, since grades from WS1 won't be out until after the quiz, here is the key for WS1 to help you study!

Ws1 Key Env

Mancala Posted

The next Problem Set is implementing the game mechanics of Mancala using 2D arrays, loops, and logic! Getting started early on this problem set is encouraged. You can find it on the Calendar page!

Worksheet 1 Posted

Find it on the calendar page. Deadline is Sunday the 16th at 11:59pm.

Review Session 1, 2/10 Peabody 104

Review Session 1 will be this upcoming Monday, February 10th 5-6pm in Peabody 104 (the building right across from Sitterson). During this session, we will be covering for loops, arrays, iterating over arrays with for loops, and environment diagrams. Come out to review for the next quiz!

PS02 - Array Utils Posted

You can find the next problem set posted on the Calendar Page. This problem set is designed to give you practice working with arrays, functions, and writing tests.

Review Session 0 / WS0 Key

Our first review session will be Monday, January 27th in SN014 from 5-6pm! Topics covered will include data types, variables, expressions, if-else logic, while loops, functions, and environment diagrams. This is a great way to prepare for the first quiz and ask TAs any questions you have. Excited to see you all there!

Also, to help you study since WS0 grades won't be out before the quiz, here is the key for WS0.

The link to the slides can be found here:

Ws0 Key Env

Worksheet 0 Posted and Tutoring Open Tu-Th

The first worksheet is posted to the calendar. You must print it and fill it in with pencil before scanning (scanning instructions here: and uploading to gradescope. When uploading, be careful to scan your pages in the correct order and orientation first. Open the file on your computer *before* submitting. Thanks!

Tutoring (free!) starts tonight in FB007. See Course.Care for the full schedule. Generally: Tuesdays, Wednesdays, and Thursdays from 5pm to 7pm. Tutoring is for conceptual help and practice problems, not for problem set help or worksheet questions.

PS1 Posted

PS1 is now posted on the Calendar page. 

Its due date is extended by a day to be Friday, 1/24 at 11:59pm. This problem set makes extensive use of loops, conditionals and variables. Be careful that your output exactly matches the expected output -- minor variations in capitalization and punctuation can throw the autograder off.

Welcome to COMP110

Welcome back to Carolina! This Spring we'll go from zero-to-programmers with no prior programming experience expected. Comp 110 is open to and taken by all majors, not just those thinking about concentrating in Computer Science. Learning computer programming is a rewarding, challenging, and increasingly valuable skill. If you are a curious soul who enjoys creative problem solving: you're in the right place.

If you are not currently enrolled in the course and are hoping to get in you must show up to class on the first lecture and fill out a form announced in class. We are not able to accept late adds to the course this semester.