Saturday, May 30, 2020

Week of June 1st - 5th, 2020

Monday, Tuesday:
Class time to work on CodeHS Unit 8

Wednesday:
We're going to be working on REPL.IT exercises. You can do this individually or with a partner.  There are two separate programs, but both are pretty easy.  You'll be making two separate shared REPLs -- follow the directions in the assignment and put the two URLs in this spreadsheet.

Thursday:
Finish REPL.IT exercises (if needed) - due by 5 PM today
Work on CodingBat List exercises:
Do at least 11 of 12 List-1 exercises and at least 4 of 6 from List-2.  MAKE SURE YOU HAVE LOGGED IN TO CODINGBAT, OR I WON'T SEE YOUR WORK!

Friday:
Finish CodingBat exercises - due by 5 PM today.  If you need more time, email me before 5.
There will be a completion grade for Unit 8 on Sunday evening.
The Unit 8 quiz will be on Monday.  It has 15 points. Know the following: 

  • the difference between lists and tuples
  • how to use methods like join(), sort(), extend(), remove(), reverse(), append()
  • how to find the length of a string, list, or tuple
  • how to index and slice a string, list, or tuple
  • how for loops step through strings, lists, and tuples
  • how to use the Python in keyword to test for membership in a list, string, or tuple

Thursday, May 21, 2020

Week of May 25th - 29th, 2020

Monday:
Memorial Day Holiday.  Take a moment to thank a vet.

Tuesday:
Last class time for CodeHS Unit 7
There will be another CodeHS progress grade this evening.

Wednesday:
Codingbat - MAKE SURE YOU ARE LOGGED IN, OR I WON'T SEE YOUR WORK! Do all the problems from Strings-1 -- these are easy.  Do at least two problems from Strings-2. double_char is easy, but the rest are harder.  See what you can do.  I will grade your work after 5 PM -- email me before then if you need more time.

Thursday:
Unit 7 quiz: 20 questions:

  • know how to use string methods upper(), lower(), swapcase(), find(), strip()
  • know how to index letters in a string from the front or back, like myStr[2] or myStr[-1]
  • Know how to take a slice of a string, like myStr[:4], myStr[2:5], or myStr[3:]
  • Know what it means for a string to be immutable
  • Know how to use len()
  • Know how to use a for loop to step through the letters of a string
  • Know how to use in to check for a letter or sequence of letters in a string

Work on CodeHS Unit 8 when done

Friday:
Everyone working on CodeHS unit 8

Saturday, May 16, 2020

Week of May 18th - 22nd, 2020


Monday:
On Friday we learned a little about the early days of computing, from the abacus and Charles Babbage's analytical engine to the WW2 era Mark-I and ENIAC, and the gigantic SAGE computers built using vacuum tubes.  How do you get from that to a smartphone in your pocket?  The answer is the transistor, and the integrated circuit that combines millions or billions of transistors into a smallish chip.  Here is a circuit board that has several chips on it -- those black square things:


(These images are from sparkfun.com . . . ) Grind the top off one of those chips and it looks like this:

Take a closer look at the little square in the middle with the tiny wires:

Zoom in:

Zoom in more with an electron microscope (not the same chip as above):




So, how do you make something like this?  It's built up in many layers using a very complex technique called photolithograpy.  This gives a pretty good picture:
Integrated Circuits and Moore's Law: Crash Course in Computer Science (12:40 + promo at the end)
How do they make silicon wafers and computer chips? (8:53)
50 Years of Moore's Law (2:03)
Zoom into a microchip (3:40)

So, how does all this actually work?  Let me try to explain -- after the videos we'll do a video call.
Here is a copy of the slides I'll be going through (updated).

Tuesday:
Complete slides on how a CPU works, demo the Visible Computer.
Work on CodeHS Unit 7, Strings. 

Wednesday:
Work on CodeHS Unit 7.  If you have completely finished all the lessons in Unit 7, you can work on the Machine Learning paper due at the beginning of class on Thursday.

Thursday:
Machine learning paper due at beginning of class, in Google Classroom and also Turnitin.
Continue to work on CodeHS Unit 7.

Friday:
Continue to work on CodeHS Unit 7. Next Tuesday will be the last class time to work on CodeHS unit 7, and there will be a progress grade for unit 7 next Tuesday evening.  We will do Codingbat next Wednesday, and the unit 7 quiz will be on Thursday May 28th.



Saturday, May 9, 2020

Week of May 11th - 15th, 2020

Monday, Tuesday:
Everyone working on Guessing Game assignment -- you can work alone or with one other person.  The completed assignment is due Tuesday at 5 PM.  Please enter the URL of your shared REPL here, and the name of your partner if you have one.

Folks, there are a couple good reasons to learn about programming.  It can obviously be useful in the world, and it can help you get a job, but more importantly, it is a great way to practice actually thinking and solving problems.  If you're struggling to figure something out in this assignment. . . that's the idea!  Take your time, put some genuine thought and effort into it.  It really isn't that hard, and you'll feel great when you get it.  I encourage you to take a minute and re-read the 'Guy Under the Car' story.

Wednesday:
Quiz on Unit 6, functions and exceptions
Know how to define functions
Know how to define and work with function parameters
Know how to work with function parameters with default values
Remember that functions must be defined before they can be called
Know what happens when you multiply a string by a number
Know how local and global namespaces work
Know how functions can return values
Know the difference between printing a value and returning a value
Know the purpose of try and except
Know that int('1.5') will generate an exception

When you finish the quiz, work on Codingbat warmup-1 problems.   MAKE SURE YOU LOGGED IN, OR I WON'T SEE YOUR WORK! You should try to solve each problem yourself, and only look at the solution provided after you've tried it.  Codingbat gives me information about how many times you tried to solve each problem, what the code for each attempt looked like, and when you made each attempt.  So it's pretty easy for me to tell if you just copied and pasted, and didn't really make an effort.

Thursday:
Continue to work on codingbat.  MAKE SURE YOU LOGGED IN, OR I WON'T SEE YOUR WORK!  Depending on how far you have gotten with the next section of CodeHS, you may not know how to do not_string, missing_char, front_back, or front3, but you should be able to do the eight others.  Doing this much will get you full credit on the 10 point assignment.  This is due by 5 PM today. If you are working on it but need extra time, let me know before the deadline.  I encourage you to also do problems from the logic-1 set, but they are not required.

I know that these can be challenging and hard to understand, especially at first.  If you're finding that to be the case, it means there's some important stuff about Python that isn't clear to you yet.  Generally, the problem is that it's much simpler than you realize.  If you're stuck, it's fine to look at their solution and see what you're overlooking. And I will be more than happy to help you. . . we can do a video call with you (or a group) for as long as it takes to get you feeling strong and confident about it.  And if you don't get a few of the problems, there's no shame in that, just know that there's more work to do.


I have observed that a -very- small number of you appear to be simply copying the Codingbat answer and submitting it.  This is a waste of my time and your time too. Instead, please send me an email sometime before 5 today saying that you are not going to do the assignment.  I will give you full credit for it, and you can take the time you saved to think about what kind of a life you want to have.


Remember - your machine learning paper is due at the beginning of class next Thursday, May 21st, one week from today.  Upload it to Google Classroom, and also TurnitIn.  Please don't wait until the last minute. . .

Friday:
Computer history day!  We will watch and text-chat together like we did with the AI videos.

Recommended, but we won't have enough class time:
The Queen of Code (16:30) Grace Hopper was a serious badass.

Sunday, May 3, 2020

Week of May 4th - 8th, 2020

Monday:
Unit 5 quiz. This quiz has some tricky questions! Take your time!
  • Know how to work with for loops, while loops, and nested loops -- that is, a loop within a loop, like the example below.
  • Know how to work with range() with one, two, and three parameters
  • Know what break and continue do
  • Remember that 'between 5 and 10' does not include the values 5 and 10 unless the word inclusive is used
  • Be able to predict what is printed by code like:
sum = 0
for i in range(4):
    sum = sum - 5
    for j in range(3):
        sum = sum + 1
print sum


Tuesday:
Getting Started with Machine Learning Paper is due on Google Classroom
Continue to work on CodeHS Unit 6

Wednesday:
Continue to work on CodeHS Unit 6
In preparation for Thursday's class, please register for codingbat.com, a web site for practicing Python:


To register with codingbat:
1. Go the Python section of codingbat.com and create an account, by clicking on "Create Account" in the upper right-hand corner of the home page. Use your school email as your ID.

2. Then, back on the home page, click "prefs". In the memo field, please enter your period, followed by a space, a hyphen, and another space, followed by your last name and a comma, and ending with your first name.  So if your name is Ima Narwhal and you have PCT during second period, it should look exactly like this:
     2 - Narwhal, Ima
Then click the 'update memo' button.

3. At the bottom of the 'prefs' page, under Teacher Share, enter my email address, ajudkis@ctemc.org. Then click the 'Teacher Share' button. This will allow me to see your progress.

Here's a video that walks you through it:





Thursday:
Continue to work on CodeHS Unit 6
I will attempt to do a video lecture on unit 6 topics for part of the period today!  Woo hoo!
Here's a PDF of the slides I'll be using.

Friday:
Last class time to work on CodeHS Unit 6.  There will be a progress grade on unit 6 on Sunday evening. Next Monday and Tuesday we will be working on a project to practice the Unit 6 concepts, and the Unit 6 quiz will be on Wednesday.

 If you have already completed all the problems in Unit 6, please get started with Codingbat -- here's a video to show you how.  Start with the problems in Warmup-1.  Solutions are provided, but really try to figure them out for yourself.