CS16, Winter 2018

Lab04:
Pair programming, and
exam/project preparation


Goals for this lab

By the time you have completed this lab, you should be able to

Step by Step Instructions

Step 0: Get together with your lab partner

Today is chiefly about working effectively with your lab partner, so it is best if no student works alone today. Let the TA pair you up if your regular partner is absent, or if for some reason you have worked alone in prior labs.

At most, one student per session may do the work for this lab alone, but only if the session has an odd number of students, and only after the TA has exhausted all efforts to pair everybody up. Alternatively, the TA may decide to have one group of three students today. Do whatever the TA tells you to do.

Step 1: Watch a video about pair programming

Our plan is for the TA to show you an approximately 9-minute video about pair programming on the screen at the front of the class. While you wait for that showing to begin, read this summary of what you should do and what you should not do when you engage in programming with a partner: dos and donts of pair programming (link opens in new browser window, or more likely a new tab). Keep this summary handy to help you follow along with the video.

If there is a problem showing the video on the screen at the front, your TA will direct you to watch it on your computer screen instead. If you do that, please turn down the volume as low as you can to keep from disturbing the other students. Here is a link to the video. You should watch the first 9 minutes (but you may skip the closing credits for now).

Step 2: Prepare answers for exam review problems

Work with your partner to devise answers to these review problems for Exam 1. Probably it is best to write your answers on paper (or even type them into a new text file), but at least discuss all of the problems.

Each student must be prepared to give a verbal answer to any one the problems if the TA asks you to do so. The purpose of this step is to help you get ready for the first exam - that you will take alone.

Step 3: Devise an algorithm to solve PA3 problem

Here is a link to PA3. If now is the first time you are looking at it, then begin by studying the features of that programming assignment. Do this together with your partner, of course.

Take out a blank piece of paper (at least one to start) or open an empty text file with an editor - do it the way you and your partner feel most comfortable. Work with your partner to write an algorithm that solves the PA3 problem. Remember to start with the major steps, and be sure to consider the order in which those steps must occur to solve the problem correctly. Refine each of the steps one at a time, until you are comfortable that each part of the problem is managed by your algorithm.

If you already finished writing this program before today, then still write out the algorithm.
And look for ways to improve your program.

Don't be afraid to write very small practice programs to try out parts of your solution. But concentrate on the algorithm, not the code, and be prepared to show your plan to the TA when you get checked off for completing this lab.

When you both are very comfortable with your algorithm - to the point where each of you feels you can implement it - then proceed to Step 4. Whether or not you get to that point when the lab is nearing completion, the TA will visit you to see the results of your efforts, so be prepared to show off those efforts.

Step 4: Show off your work and get credit for this lab

Get your TA's attention to inspect your work, and to record completion of your lab work.


Evaluation and Grading

Each student must accomplish the following to earn full credit [50 total points] for this lab:

Just to be clear: there is nothing to turn in for this lab, but the TA must check off the completion of your work.

And by the way, that means you cannot earn any credit for Lab04 without actually attending a lab session. But you should at least watch the video and prepare answers to the exam review questions if there is a reason that you cannot attend.


Prepared by Michael Costanzo.