I am afraid we are running out of time before the Create PT is due at the end of April. I swapped Unit 3 & 4 so we can get the explore task completed by the end of February. Planning on starting Unit 3 after a week of Explore PT classroom time. But in working back from April 30, I see we won’t have time to get through most of unit 5 before then. What lessons are absolutely essential for the create pt?
IMHO, students need functions, variables, loops and conditionals to have sufficient complexity for the create task. Unit 3 covers functions, parameters and loops so students would get almost all they need. Unit 5 chapter 1 will introduce variables and conditionals so I would recommend planning to complete through stage 10 before starting the explore task. It is definitely a challenge to balance the desire to cover material, the goal of engaging students and the time requirement for the PTs.
@eroberts I agree with Andrea about the programming part.
However, if you’re going to cut corners, do it with Unit 4. You can drop the cryptography stuff almost entirely. (While fun and interesting, it takes time, and you can get away with much less). You can probably do Unit 4 lessons 1-4, and then merge 8-9 and move on to staring the Create PT. I think it’s possible to do in ~2 weeks.
I switched unit 3 and 4. I was planning to teach unit 4 lesson 3 today, lesson 4 tomorrow. We haven’t done any programming yet. Was going to start that after they complete the Explore PT.
Thanks so much for both of your input! This will help greatly as I plan out the rest of my year!
If I were only to do one of the cryptography lessons in Unit 4, which would you recommend?
If you can carve out 1-2 class periods for encryption, I would recommend finding a way to condense lessons 5 - 7 to give students time to appreciate what encryption is and how it is used. Maybe students can use the widgets for Stage 5 and 6 briefly (<10 minutes). You can decide if you want to do the cup/beans activity or show a video on public key encryption. Students just need a general understanding of how algorithms are used in encryption/decryption and to connect that with Internet security. No need to make them experts on the actual process.
Students found the public key encryption a bit hard to grasp. I wrote a python program that generates public keys in the same fashion as used in the code.org encryption unit, so that I could walk them through it and demonstrate how it works. It helped quite a bit. If anyone wants that program, send me an email. email@example.com
FWIW, and for those who are interested and want to nerd out, this widget was originally prototyped in App Lab itself. Check it out: https://studio.code.org/projects/applab/AwXRD3-vtzPpAz80v0B5Ow
If you want to go look at the code, look for the function called
function calculateInverse(a,m) (around line 550) which is the crux of the whole thing. Given a number
a and a modulus
m it does a brute force search for a value
u that satisfies the equation
(u * a) mod m == 1. It is a given that
m is a prime number (because those are the only values we make available), so the solution for
u is unique.
If you check out the activity in Unit 4 Lesson 7 called “Multiplication + modulo” which gets at this idea, and what the widget is doing behind the scenes.
I switched Units 4 and 5, working on Unit 5 first. I had the students go through Stage 14. I felt like they needed experience with while statements and list processing. Although Stage 15 and beyond do more array processing, I felt like that was more than required from what I found on available resources for the MC test and Create PT. I am currently speeding my way through Unit 4 assigning as much as I can for homework. I may go light on the encryption making sure the students understand what it is but not much more. I also need to make sure I have the time allotted for the in-class Explore and Create PT’s along with ample review. For review my school has purchased a school wide license to albert.io. All AP teachers seem pleased with that resource so far.
Do you find you need a paid license for albert.io? What do you find is the advantage of having the paid license versus the free version?
i agree that what I did cut some of unit 4
@carole_black - So your research showed you don’t really need to cover 15 and above for the MC?
@hwalden Hi -
My students are in Unit 5 finishing Lesson 6 (which introduced if statements). I see Lesson 7 has an unplugged activity practicing if statements, while Lesson 8 applies if and when statements. I am trying to see what Lessons I can condense for the interest of time. Do you think the unplugged activity can be skipped and go straight into Lesson 8? What would you recommend? How would I approach this.
We start on the lessons in class and what students do not finish, they get it done for HW. I am trying to get through unit 5 without leaving much out because I know it is an important unit. However, any suggestions or thoughts would be very helpful!
Thanks so much,
I would suggest NOT skipping all of lesson 7, but it can be condensed, and the activity sheet (“Will it Crash”) could be done for homework. The reason not to skip Lesson 7 is that the problems are posed in the AP Pseudocode which is probably helpful for students to see.
I assigned a power point for them to read at home and the first part of the worksheet as pre-lesson homework. Then gave some time in class with partners for the bulk of the worksheet (20 min I think) and spent about 10 on wrap up and then moved on to Lesson 8.
I used @samuellandete excellent power point. https://drive.google.com/open?id=10yiWF-x83k_tfWqIdEMaYmE90JOswbKxsZTQSyOahy0 - Thanks Sam!
Thanks for sharing. This seems like a good approach to the If statements, and the Will it Crash? worksheet.
Thoughts on skipping Unit 5, L15 and 16 in favor of having time to do a mock exam and addl AP practice? They have done all the other practice on arrays.