CMU 15-112: Fundamentals of Programming and Computer Science
Check3 Practice (check3 in class on Tue 13-Sep)


Note: to improve the efficacy of this check, it is different in important ways from check1 and check2. In particular: Please carefully read the instructions and follow them closely.
Note: if you do not complete this check, working collaboratively, in good faith, and on time, you will receive a 0 for your grade on lab3 in addition to check3, and you will have to meet with the course faculty to discuss your lack of participation in the course. Nobody wants that. So please do the work, as instructed here. And have some fun with it (really!).

  1. Week2 time report and brief reflection
    First, if you have not done so already, take a brief moment to fill out this week2 time report and brief reflection. Thanks!

  2. Read 'what to submit'
    The 'What to Submit' section is at the end, but you should be aware of it as you do the work on this check. So read it now, then proceed with the next step.

  3. Form check3 groups
    You must work in groups of 3-to-6 students when working on this check. No exceptions. If you cannot form your own group, go to OH and the TA's will happily help form them there. In any case, you may not do any part of check3 working solo.

  4. Meet with your check3 group
    You should expect check3 to take about 2-3 hours. The videos are 61 minutes in total (that's not so much, and less than one full lecture's worth of time!), and following these instructions should take another 1-2 hours. You must work as a single group throughout this time. Your group may take a break or two (that's a good idea), and even spread this out over Sunday and Monday, but your group must work the entire time as a group. You may not work with several different groups.

  5. Work as a single productive collaborative group
    Do not just work near each other, work with each other. Ask questions when you have them, answer them when you can. Be a team of mutually-supportive learners. And have some fun while doing it.

  6. Strings notes and videos
    Note: even if you have already watched the videos alone, you will have to watch them again with your group. This way, you can be a great collaborator and be all the more helpful to them, even as you further cement your own understanding of the content.

    Working as a group, carefully watch the videos and review the notes on Strings.

    Important note: After each video, and before the next video, each of you needs to write one interesting, not-too-easy but not-too-hard quiz-style question (which you will submit later (see below)). It should be multiple-choice or short-answer, but not free response (so don't ask each other to write lots of functions between each video, as that would take too long). Then, still before the next video, share your questions with each other, answer them, and discuss them. Note that you will each individually submit your own questions that you wrote in this step (see below), so be sure to store these in a text file.

  7. Code Tracing
    Working on your own, but asking for help from your group as needed, do all 3 of the Code Tracing problems from here. Figure them out by hand, and only then run the code to confirm. Then slightly edit the code and try again. Note that you will be submitting your work from the Code Tracing on a physical sheet of paper as you enter class on Tuesday, so be sure to write it out clearly and carefully as you go.

  8. vowelCount(s) and interleave(s1, s2)
    Working closely as a group, write vowelCount(s) and interleave(s1, s2) from here. Then, working on your own, but asking for help from your group as needed, rewrite both of these functions from scratch. Later, practice these until you can write them easily and quickly from scratch, as will be expected when you arrive in class on Tuesday.

  9. What to Submit
    Due by 10:30am Tuesday (for everyone, regardless of which lecture you are in, with no late submissions accepted and no grace days):
    1. Fill out this online form, which asks for:
      1. Your name and andrew id
      2. The names and andrew id's of everyone you collaborated with on check3
      3. Verification that you carefully watched all the videos with your check3 partners
      4. Verification that you did the Code Tracing and practiced them with slightly modified constants until you could solve them promptly without issues.
      5. Verification that you practiced vowelCount and interleave from scratch until you could write them promptly without issues.
      6. The questions you wrote while watching the videos
    2. As you enter lecture on Tuesday, submit a physical sheet of paper with your name and andrew id on it which contains the work for your Code Tracing problems from above.