Friday, March 27, 2020

Week of March 30th - April 3rd, 2020

Just reminding you that around 9 PM on Sunday night March 29th 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.

Monday:
Last day to work on CodeHS before our first quiz.
Check out this tweet to see how cell phones can be used to track the movements of people -- in this case from one Ft. Lauderdale beach at spring break, spreading  Covid-19.

Tuesday:
Our first quiz!  I will unlock it at the beginning of class, and lock it at the end -- giving you about an hour.  It's 25 multiple choice questions, an hour should be more than enough time.  We'll see how it goes, this is a new experience for me too.  
Here are the things you should be familiar with:
  • basic Tracy commands: forward(),  backward(),  left()right(), color(), circle() with 1 or 3 parameter values
  • using for loops with 1 parameter value to repeat a block of code
  • using for loops with 3 parameter values
  • how to define a function
  • what the purpose of defining functions is
  • the difference between defining a function and calling a function
  • the importance of indentation in Python
  • input("question"), and the use of int(input("question")) when you need the user to supply a number
  • the use of == and %
  • I only see one mention of a while loop, but it would be good to know the basics
Once you've finished the quiz, go ahead with CodeHS.  When you're done with Turtle Graphics (unit 2) go on to Console Interaction (unit 3).  There are 6 sections in this unit, and they're mostly pretty easy, so they should go faster than unit 2.  Plan to make steady progress on your own so that you've completed unit 3 and are ready to take the unit 3 quiz next Thursday.

Wednesday:
An experiment!  We will watch a video together, and use the chat to comment as we watch.  The idea is that I will send a 'go' message on the chat, and we'll hopefully all be watching the roughly the same thing at more or less the same time.
The Smartest Machine on Earth - a video about IBM's Watson, from when it was preparing to compete in Jeopardy.  This is old now, but it's still the best documentary I know about AI.  If you find another good one, let me know!
There's an interesting Q&A that goes with the video.

Thursday:
Assuming that Wednesday works out okay, we'll watch a few more videos together:
Machine Learning and Artificial Intelligence: Crash Course Computer Science (11:50)

Artificial Intelligence: What the tech can do today (5:27)
Google Assistant calling a restaurant for a reservation (0:54)
This AI is beating Doctors At Their Own Game (5:52)
Google's Driverless Car (4:14) (This is 9 years old now but I haven't found a better overview)
Healed through AI (39:54)

Note that I will be doing another completion grade next Wednesday evening.  If you have completed all of Unit 2 and Unit 3 through the end of 3.6 by about 9 PM on Wednesday you will get a 100.  Through 3.5 will get a 95, and so forth.  Note that many of you are well past that already.  If you want to take time to get started on the AI paper while others are catching up, that's fine.

Friday:
Do the "Getting Started with AI" homework and submit it on Google Classroom before the beginning of class.  Here 
are some other things to be thinking about for today's class:
  • Can computers have emotions?  Do you need to have a body to have emotions?
  • What does it mean to be conscious?  How do you know?  Can a computer be conscious?
  • Can a computer do anything more than just what its program tells it to do?
  • Are there limits on what a program can tell a computer to do?
I am going to try to conduct a video chat discussion as well.  This may turn out to be a train wreck, but I want to give it a try.   I will share the link to the conference in the Google Classroom attendance question, and also in the class chatroom.

I will also be introducing the AI paper assignment today as well.  It won't be due until mid-May, but I want you to be thinking about it for a while.  I don't know how things are going to unfold over the rest of the school year, but I'm sure that your grade on this paper will be a VERY substantial part of your overall grade.  I hope you'll put some real thought and effort into it.
Finally, there will be another CodeHS progress grade.

I will do another progress grade about 9 PM Wednesday evening, where you will get a 100 if you have completed through the end of unit 3.7, 95 for 3.6, and so forth.  The best way to do CodeHS is to chip away at it steadily.

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

Friday, March 13, 2020

Week of March 16th - 20th, 2020

First period students are expected to be in their Google Classroom at 8:00 AM, and second period students at 9:05 AM.  You can communicate with me (or other students) via the group chat at any time.


This will be an interesting experience.   I really hope that we can make good use of this time, and I also know that staying constructive and on-task will be a challenge for all of us.  I know there are ways to cheat, and ultimately it depends on your character.  I hope you are interested in an education, and not just a diploma.

I will do my best to help you solve problems, and will try to adapt my approach based on your feedback.

Monday:
For today, my goals are pretty simple:
  • To have everyone report their presence in Google Classroom at the appropriate time.
  • To verify that everyone can use the Google Chat successfully.  There's a link to it in the Google Classroom.
  • To get everyone signed up for the proper section of CodeHS.
Progress on Monday: It looks like most of you have gotten at least to section 2.3, "Turning Tracy".  If you aren't quite there yet, you might want to put a little more time in.  My impression is that things get more difficult in section 2.4.

Tuesday:
Homework due today: Medical informatics part 2 due today -- submit to turnitin, and also turn in via Google Classroom 

Using CodeHS: So far, so good!  You seem to be liking it, and it seems to be working okay for the most part. One thing I've notices is that some of you have in some places gone on to the next unit before the proceeding one is actually finished.  I know this can happen by accident, I've done it myself.  Please try to avoid this, it makes it harder for me to track your progress.  To see what your progress looks like to me, click on the drop-down in the upper right-hand corner of the page where it shows your name, and select "My Student Page".  Then click on "Show All PCT Period x Assignments".  In the right-hand column it will show "100 % completed" for the units it thinks you've finished.  If any of them shows less than 100% after you've gone on to the next unit, click on the "Resume" button and finish off whatever is needed.

Progress on Tuesday: Generally things seem to be moving along.  One thing I didn't like is that quite a few of you seem to be missing the spirit here -- the goal isn't just to get past the grader and get on to the next assignment, the goal is to learn how to use the fundamental structures of programming languages.  Cutting corners now will leave you clueless in a week or two!  If the grader is looking for a loop, it may be fooled by something like

for i in range(1):
     forward(20)
     left(90)

but that isn't a very useful or interesting loop, and if you do that it means you haven't learned what you need to learn.

Similarly, if you are trying to get Tracy to draw a picture, your program needs to draw the correct picture! 

I kicked back a bunch of your exercises today -- they show up in your status as pink dots, and the Resume button will take you back there.  You can see my comment on the program by clicking on the Grade menu on the right side of the window:

Please fix it before going on, and ask for help if you need it.

Wednesday:
Group 3 current events:

P1: Katie, Prabhnoor, Eric, Christian
P2: Zarin, Natalia, Aakanksha, Jennifer
Remember to enter your topic here and be sure no one else from your section is already doing it.


Current events will obviously have to work a little differently while we're online only.  I will expect each current event presenter to submit a Google doc to me via Google Classroom that includes a link to your article, and also the notes you took as you read the article.  Also, each presenter should post a substantial (a good paragraph or two) summary of your article to the course's chatroom.  Basically, I want you to write out what you would say if you were in front of the class.  Also, please respond to any questions or comments.

It feels to me like almost everyone is making good progress.  I have set a date for completing chapter 3 of CodeHS for March 31st.  That seems like plenty of time to me. . . as long as you are making good progress.  I expect the work to get more difficult as we get farther along with it, so don't get too complacent.

One more reminder -- please always start the day's CodeHS work by clicking on Resume.  If it takes you back to something you thought you already did, take another look and make sure you actually submit it, and that I didn't kick it back to you because I was unhappy with it.

Thursday, Friday:
Keep plugging away with CodeHS. . . I have a feeling that it's going to be a very big part of my plan for the next month or so.  Comments and suggestions are welcome.

A lot of you are making excellent progress.  If you are somewhere in section 2.9 (Artistic effects) or 2.10 (Top-down design) you are comfortably in mid-pack for either class.  If you are more than a little behind that, please try to put in some extra time over the next few days and try to catch up.  If you feel really stuck, please reach out to me and we will figure something out.  

Sunday night I will be going through CodeHS again and will be giving you a progress grade.  If you have completed section 2.10 by then, I will give you a 100.  If you've completed 2.9, a 95, 2.8 a 90, and so forth.  This will count as a 10 point project -- not that big a deal, but I need to be recording something in the grade book.

Note -- I think that problem 2.10.4 (Bubble Wrap 2.0) is pretty tricky.  I suggest that you solve it in stages:

  • first draw a complete white circle on top of each blue bubble,
  • then figure out how to just draw a quarter circle on top of a single blue bubble -- maybe use the sandbox (see upper left part of menu) to experiment with that.
  • then figure out how to move back to the starting position and direction to repeat drawing the same quarter circle
  • then put that code into a loop to draw it on each bubble
and if you're really stuck:
# This function will draw a highlight on each bubble
def draw_highlight():
    for i in range(10):
        left(90)
        forward(20)
        right(90)
        forward(10)
        left(90)
        pendown()
        color("white")
        circle(10,90)
        penup()
        left(90)
        forward(30)
        left(90)
        forward(40)

Friday, March 6, 2020

Week of March 9th - 13th, 2020



Monday:
Begin medical informatics presentations.
I'll want a printed copy of each group's presentation, 3 slides per page, portrait mode. To do this from Google slides, go to Print Settings and Preview under the File menu, and select the settings below:



Double-sided is preferred but not required. Your output should look something like this:

You can do this in class, first thing Monday. You will not have ANY time to modify your slides on Monday, so make sure you are ready to print and present at the beginning of class.


Tuesday:
Continue with medical informatics presentations.

Wednesday:
Current events group 2:
P1: Lexi, Anna K., Sharvani, Devan, Tanya
P2: Filza, Anna D., Kareem E., Jewely-Ann, Kareem H.

Remember to enter your topic here and be sure no one else from your section is already doing it.


Wrap up remaining medical informatics presentations
Remaining class time used to work on Part 2 of informatics project, which will be due next Tuesday, March 17th at the beginning of class.

Please register for Google classroom:
1st period: kksw4vp
2nd period: r4ldvly
Then please go to https://runestone.academy/runestone/default/user/register
first period: register for course PCT-CVE
second period: register for course PCT-CVE-P2

Thursday:
Begin new unit:
What Most Schools Don't Teach
Introduction to Python programming - input and output, arithmetic, types and expressions
You can download Python 3.8 from here. It's free!
Or you can use https://repl.it/languages/python3 in a browser -- make yourself a free account and you can save files.

Begin 'Using IDLE' worksheet.

Friday:
JSUMC rotation