Sunday, March 22, 2020

Week of March 23rd - 27th, 2020

First period students are expected to respond to the Google Classroom attendance question and also check in on the group chat at 8:00 AM, and second period students at 9:05 AM.  You can communicate with me (or other students) via email or the group chat at any time.  Also, please check back here frequently for updates and news.

This week, I expect you to be forging ahead with CodeHS.  I feel like people are making good progress, and my impression is that most of you like it, or at least find it tolerable.  My goal is for everyone to have finished Unit 2 by March 30th, and to have you take the Unit 2 quiz on April 1st.  (It has 25 multiple choice questions, in case you were wondering -- it should be easy to complete in an hour class period.)

Please do your best to pace yourself accordingly.

Monday:
Everybody CodeHS-ing!

Let's talk about cheating.  I am pretty sure that you can find answers to many or all of the CodeHS problems online.  I am certainly aware that you can share answers with one another via various channels that I cannot see.  And I do notice that some of your problem solutions look very very similar.  Is this cheating?  As in so many things, the answer is "it depends".  If you are mindlessly copying code and pasting it into a window without understanding it, then yes, you are cheating. If you are looking at the code and thinking about it and trying to make it make sense to you, that's different -- looking at and understanding other people's code is a great way to learn.  Professional programmers use one another's code all the time. . .  but they become responsible for it, and they have to know how it works.  As I've said before, programming is fundamentally a social practice, with people working together and helping one another.  I hope you will help one another learn this stuff, but ultimately you are the one who needs to become a problem-solver.

As far as detecting cheating, be aware that CodeHS has some excellent tools for tracking how long someone worked on a problem, and what steps they took on their path to the solution.  If I do see something that strikes me as suspicious, I have good documentation to help me figure out what happened.

Tuesday:
Everybody still CodeHS-ing!

Wednesday:
Group 4 current events:
P1: Jenna, Emily, Megan, Jason
P2: Abbi, Ishaan, Hannah, Erin
Remember to enter your topic here and be sure no one else from your section is already doing it.

Everybody still CodeHS-ing!

Thursday:
Turn in the Google Classroom assignment: read http://openbookproject.net/thinkcs/python/english3e/way_of_the_program.html and submit the attached vocabulary sheet. Actually read the thing! There are some pretty interesting and deep ideas about natural and formal languages, high and low level programming languages, and different kinds of errors. I encourage you to do the exercises in section 1.12 of the reading using IDLE or repl.it, but I'm not going to collect anything for that.

Sunday night around 9 PM I will be going through CodeHS again and will be giving you another progress grade. If you have completed section 2.16 by then, I will give you a 100. If you've completed 2.15, a 95, 2.14 a 90, and so forth. This will count as a 10 point project.  'Completed' means that you've done most of the problems in that unit.  If I sent one or two back to you to be redone, I'll still count it as complete for this grade.  Note that just over half the class has completed or almost completed 2.15 as of Wednesday night!


If you get stuck on a problem, what should you do?  There are several things to try:
1) Re-watch the video for that unit
2) Ask Mr. J. for help -- send an email if it's not during class hours, and be sure to include the number of the problem.  If you want to talk on the phone, that's fine.
3) Ask your friends for help
4) Just go on, and come back to it later

Also: there is a bug that we have seen in CodeHS sometimes, where you get an indecipherable message UnboundLocalError that looks like this:

As far as I can tell, this always occurs inside a function, when that function tries to access a variable created outside the function.  The workaround is to declare the variable to be global, like on line 4 below:
 

Friday:
Everybody doing CodeHS, working to finish up Unit 2 by the end of Monday.  Remember that I will be doing another progress grade on Sunday evening, and we'll be having our first test on Tuesday.  It's multiple choice, I think it's much easier than the programming challenges from the course -- it's similar to the questions after the videos.
You might find this inspiring:  The High Schooler Who Became a COVID-19 Watchdog