Category Archives: computer science

CS Ed Week, Part 2

To continue with my post from 12/4, a few more emails for Computer Science Education Week 2017!

Thu 12/7: Hour of Code week almost over!

Hi Patterson peeps,

Just a reminder that we are nearing the end of Computer Science Education Week. I hope you have all had the chance to try out one of the awesome lessons yourself and with your classes (or have plans to do so today or tomorrow!).

 

I leave you with this:

Fri 12/8: Last push – Hour of Code!

As Computer Science Education Week draws to a close this weekend, let me leave you with three resources, two facts, and one reminder:

Resources:

  1. new video from code.org in which basketball star Stephen Curry talks about coding and persistence
  2. A video produced last year, called “Computer Science is Changing Everything”, that really hits home that CS is found in every field, from agriculture to medicine to dance
  3. If you’re not able to do a whole hour of code, check out this five-minutes-of-code  activity in which you can design your own snowflake and holiday card (with thanks to Mr. Callahan)

Facts:

  1. CS Education Week was founded in honor of Admiral Grace Hopper, one of the pioneers of computer science, whose birthday is tomorrow 12/9 (if alive, she would be 111 years old tomorrow, which is sort-of a binary age!)
  2. Coding is for everyone, in the same way writing is for everyone, a way “to organize, express, and share ideas in new ways, in a new medium” (okay, maybe that’s an opinion and not a fact, but seriously, check out this interview with Mitch Resnick from MIT, it may change the way you think about coding).
Reminder:
  1. Don’t forget to send me student names and have your students who do the Hour of Code complete the survey!
 snow
Happy holidays, and happy coding!
Nick Yates

Finally, here’s a photo of my colleagues and I encouraging everyone to “Code Like a Girl”:

CodeLikeAGirl2.PNG

Advertisements

Leave a comment

Filed under computer science, teaching

Computer Science Education Week 2017

Hi all, it’s CS Education Week! Am forming a blog post of the emails I send out to my school to encourage participation in the Hour of Code. Will update this post (or maybe a new one) as I email more.

 

Thu 11/30 (before CS Ed Week):

Greetings Patterson Family!

Next week is Computer Science Education Week, and we have celebrated this each of the last several years at Patterson by having students do an Hour of Code! Please check out https://hourofcode.com/us and consider picking one day next week to teach coding in each of your classes.

 

hourofcode.com
The Hour of Code is a global movement reaching tens of millions of students in 180+ countries. Anyone, anywhere can organize an Hour of Code event.

 

There are a variety of activities, including ones that can be done on computer workstations, ones that can be done on students’ call phones / mobile devices, and ones that are “unplugged” using cups or printable manipulatives etc. Depending on your classroom dynamic, you could also work together as a whole class to complete coding exercises on your teacher computer / projector screen. Or, if you’re feeling ambitious, you could try to come up with your own lesson that relates coding to your content area, and teaches problem-solving or algorithmic thinking (e.g. peanut butter and jelly making as clear communication, necessary for ELA/writing classes and also for writing computer code that breaks a process down into multiple steps and communicates them clearly to the computer to run).

 

FYI – for our ESOL population, many (though not all) of the computer-based coding activities have instructions in multiple languages that can be adjusted at the bottom of the screen.

Please let me know if you plan to do an activity, or if you want to chat about different possibilities. For computer access, I can offer my room for second period (all days next week) or fifth period (except Monday). There may also be laptop carts available on a first-come first-serve basis that you can follow the usual process to reserve. Additionally, I am interested in tracking which activities are used, as well as student names for certificates.
Happy coding!
Nick Yates
Mon 12/4 AM: The Hour of Code is here!

Greetings Patterson Family!

CS Education Week is here, and with it the Hour of Code!

Please consider teaching a coding lesson in one of your classes this week, so that we can help our students become creators of technology rather than merely consumers of technology.

Here are some intro videos to the HoC: https://hourofcode.com/us/promote/resources#videos (YouTube + download link in case YT is blocked)

Among the activities, there seem to be two new ones for this year that I’ve noticed near the top: Minecraft (three versions, one from each of the past two years, plus a new tutorial for this year) and Google Design-Your-Own-Logo-with-Scratch.

You can also sort the activities by the technology you plan to use (computers, student mobile devices, or unplugged – no devices), AND nicely by content area (e.g. if you teach Science and want to teach a cross-curricular science+coding lesson):

code_options

 

Please let me know if I can help in any way, whether by consulting with you on which lesson might best fit your class, or having you bring your class down to my room, etc.

HAPPY CODING!

Best,

Nick Yates and the Academy of Engineering and Technology Team

Mon 12/4 PM: Google Doodle today celebrates 50 years of kids coding!

Hey Patterson people,

The Logo programming language, designed for kids with a turtle that moved around and could draw pictures, was invented 50 years ago! Today’s Google Doodle celebrated that fact. In case you missed it, and want to try it out, here’s a link that will still work after today is over: https://www.google.com/doodles/celebrating-50-years-of-kids-coding . It is a cool symbol-based (no words, so should work for students of any language!) HoC-style activity within a Google Doodle, with a rabbit trying to eat some carrots. Check it out!

 

Celebrating 50 years of Kids Coding #GoogleDoodle
Also, if you’re interested, there is an actual Hour of Code activity based on that original turtle (updated to the Python language), which can be found at https://hourofcode.com/codehsturtle
Happy CS Education Week!

NY

Tue 12/5: Hour of Code subject recommendations

If you haven’t started the Hour of Code yet because you don’t have access to a classroom set of computers and aren’t sure what coding has to do with your curriculum, here are my recommendations for unplugged subject-specific activities!

  • Science – Rock Paper Scissors, with connections to biological population modeling (unplugged activity plus presentation on teacher screen)
  • Social Studies – History of Codes and Ciphers (one lesson, plenty more material as well e.g. wikipedia)
  • Art – Algorithmic Doodles (fractals & algorithms)
  • Math – Hexahexaflexagons (geometry, discrete math w/ directed graphs and finite state machines)
  • English / Language Arts – Magical Book Magic (computational thinking and patterns with words)

If any English teachers do have access to a set of computers, the Automatic Homework Excuse Generator looks pretty cool too!

Happy coding,

Nick Yates & the AOET Team

1 Comment

Filed under computer science, teaching

Number Systems

Binary and hexadecimal today in AP CSP:

binary.jpg

hex.jpg

When I was in elementary school, I was fascinated with number systems. I know I read about some different number systems used by different cultures through history in a book of number history my parents had, and was also inspired by some discussion of binary / ternary / base-4 in The Math Curse. I asked my mom to explain them, and she did.

Somehow (I forget the source, if it was a news article or an “interesting fact” in some book), I got really into the Inupiaq number system, both the symbols and the base-20 place value system for writing them. I remember writing the date in the upper right-hand corners of my papers using Inupiaq numerals each day in Mrs. McCarthy’s 4th grade class (or was it 6th grade? — she was my teacher both those years).

Always lots of fun teaching number systems! One of my favorite topics. 🙂

#day16 #apcsp #teach180 #180blog

Leave a comment

Filed under computer science, math, teaching

Planning In Code

One of the skills I work with students on in many of my classes is how to plan to code, in a helpful and efficient way. This is true certainly in my computer science classes but also in my Principles of Engineering (POE) and Computer Integrated Manufacturing (CIM) classes as well. Pseudocode, flow charts, process flow diagrams, are all structures and formats I have used before with students, with varying degrees of success.

This year, with Advanced Placement Computer Science A (AP CSA), I definitely plan to use several of the UML diagram formats with Java coding. Certainly class diagrams (like this one I posted last week) fit very well with an object-oriented language like Java. The course I took this summer on the Software Development Process, and especially our group project there, helped me understand several of the UML formats in a deeper way; I can definitely see myself using the Use Case and perhaps Sequence diagrams as well.

Anyway, today I worked with my AP CSA students to develop a few less-formal diagrams on the board: We did some mind mapping together as we brainstormed attributes or variables with values that would apply to weather (for a weather app):

weatherAttributes.jpg

And then we did the beginning of a decision tree:

weatherConditionals.PNG

My engineering students are using a planning table on paper to plan out their G&M-codes they will use to control the CNC milling machine to carve out their initials.

And my AP CS Principles students haven’t gotten deep enough into code yet to use a planning template. We have done some coding using Python as a calculator and to draw pictures (turtle library), and to play interactively against the “intelligent paper”. But most of our time so far has been discussing computing innovations, their impact on society, and working on a research presentation.

After school today, I had students stay for CyberPatriot practice, and it was also the first day of Interactive Mural Lab, led by some folks from MICA, which will help coach some students to creative a computer-programmed, electronics-infused, creative mural on a wall of our school! I’m super-excited to watch their progress over the course of this year, both to see how the mural turns out, and to see what skills and techniques students will learn as a part of this project.

Phew – I’m exhausted just writing about all that! 🙂  Have a good evening.

#day15 #180blog #teach180

Leave a comment

Filed under computer science, teaching

Team meetings

One of the things we’ve tried to do over the years is to meet as an engineering department once a week, every Friday. There are so many things to discuss and work on, from field trips, to after-school clubs, to purchasing equipment & materials, to recruiting students into the pathway. Some years that has not been possible, if we don’t have the same planning period, so we would just grab a few minutes here and there (perhaps after the school day was over). Other years we kept it less formal, since my colleagues and I would constantly be having meetings and working together every day.

This year, we brought back the tradition, stronger than ever:

team_mtg

Five of us, from engineering, computer science, and entrepreneurship, on the Academy of Engineering and Technology (AOET) team. Go team!

Another thing that has kept us strong over the years is support from teachers at other schools (unlike a math department, nine-strong at a school the size of Patterson, most engineering schools only have 1-2 engineering teachers at each school) and from industry and higher education. We meet once a month with our Program Advisory Committee (PAC), which supports and advises the seven Baltimore City high schools with PLTW Engineering programs. We had our first PAC meeting of the new school year yesterday (Monday) afternoon at OpenWorks. This year, one of our main foci is going to be pipeline development, including strengthening connections with middle schools and with colleges/universities.

Later this week, on Thursday, Code in the Schools will host our first monthly Professional Learning Community (PLC) meeting with Baltimore City computer science teachers.

[Days 9-10 #180blog]

Leave a comment

Filed under computer science, engineering

Day 3

Today was a fun day in every class!

AP CSA – Students had turned in a simple Java class (program) yesterday with five print-line commands, in which they print out the traditional “Hello, World!” statement, then their name, then 2 truths and 1 lie about themselves. Today they stood up at the front of the room, read their 2 truths and 1 lie, and we had to guess which was the lie. 🙂 A fun get-to-know-each-other type of activity based on the new programming language we’re using. [Thanks to Jerry, our master teacher this summer at training, for sharing this idea/activity!]

AP CSP – We did the “intelligent paper” activity from the CS Matters in Maryland curriculum, in which I make extravagant claims about a piece of paper being more intelligent than any of the humans in the room, because it will never lose a game of noughts and crosses. We get to discuss algorithms and artificial intelligence, and what intelligence even means!

CIM – As a team-building exercise that also connects to manufacturing, students work together in an assembly line fashion to mass-produce origami balloons. Here are a few of them in action:

balloons!

After school – Seven students showed up for after-school tutoring / coach class! On the third day of school!! I think that’s a record in my time teaching. Maybe I make the class too difficult… or maybe I’m just an awesome teacher who inspires his students to really care about learning… (the truth is probably somewhere between those two extremes). This is the first year I assigned summer homework, for both of the two AP compsci classes, and I’m giving students a couple days/weeks to make sure they are caught up with the summer homework, while also basing the first few weeks’ quizzes on those topics, so that probably has something to do with it.

7CoachClass.jpg

I got home and cooked a good meal for supper, so all in all, a great day!

1 Comment

Filed under computer science, engineering, teaching

Daily Agendas on Google Docs

I’ve been doing this with a few classes for the past two years, but this year made the move to all: I keep a Google Doc with the day’s agenda for each class. This is useful as a central location from which all of the day’s activities can progress, with links to assignment documents, links to online quizzes, links to videos, and links to resources all embedded in there. In review surveys at the end of each class, this has consistently been a highlight and something they really appreciate. For example: “The links on the agenda and the directions that gave us to do what we had to do”, and “Somenthing that I really liked about this class was the agenda because if by any reason you was absent you just have to go to the online agenda and you can make up from your home.”

Because of these reviews, this year I’m moving to all classes having an online agenda. Combined with the fact that I’m a fan of the tinyurl.com website for shortening and choosing your own url, I was laughing with a few of my students this afternoon that today I had my students use 5 different tinyurls for these agendas (and of course have to keep them straight in my head):

CSP_Agenda

[Year 12, Day 2 post]

 

Leave a comment

Filed under computer science, engineering, math, teaching