Wednesday, September 13, 2017

First 10 days of AP CSP

The first 10 days of AP CSP using CS50 curriculum.

This is my third year of teaching AP CSP (first year pilot). Each year, as most of you know, I need to change some things up.

Day 1: Keynote - I shared a prezi about my summer and what I did specifically to bring back to the classroom.  I also gave students an inside look as to what it would be like to work for Facebook.

Day 2: Waffle Day - Because the Disney Family Fun calendar said it was Waffle Day.  So we practiced algorithms by making waffles.  We only had a 2 oz plastic cup and a 16 oz cup so we may have had to come up with our own algorithm when the box didn't quite match our tools. Algorithms were recognized again when we sat down to play Guess Who. This "board" game has one rule, you can only ask yes/no questions.  Sorting, searching, and binary was all discussed by the conclusion of the 3-game matches going on around the room.  Students thought the point was to show diversity as discussed at Facebook but we got a little more vocabulary introduced.

Day 3: Drawer building - Nothing like getting some manual labor out of your students.  I had a cabinet that needed some drawers put together for our new supplies in the room. I grouped students up in 3's and asked them to figure out how the drawer went together without the instructions.  Once again an opportunity to discuss algorithms and an opportunity for critical thinking.  (This was a popular activity and I will need to find something new to build next year.)

Day 4: The syllabus.  Yeah, now that they are hooked
and are already introduced to some vocabulary I laid out expectations for the course and what they could expect. I also prepared for something new.  While reading for the AP CSP test this summer it was evident a lot of students did not understand nested algorithms.  Each year we make PB&J sandwiches. I decided the students would go shopping with me (grocery is two blocks from the school) -- later I will use the receipt illustrating taxable algorithm, non-taxable algorithm, total cost.  Well, they made the shopping list on day 4 and quickly changed it to ham & cheese sandwiches when we learned of a peanut allergy in the classroom.

Day 5: Shopping day

Day 6:  Algorithms (this time a little more formal) - What's an algorithm? - David J. Malan
Signed up with Scratch accounts.

Day 7: Binary via Nate and a game.

Day 8: Ham & Cheese sandwich day - Pseudocode

Days 9 - 10: Scratch - Binary Bulbs (I don't do the pset0 get to know Scratch first because I introduce Scratch in middle school so we try to solve this as our first problem.)

And this was CS50 Cedarville, The First 10 days.

Wednesday, July 20, 2016

AP CSP teacher summit

I was invited to join approximately 70 other computer science teachers at the AP Computer Science Principles (CSP) Teacher Summit immediately prior to the annual AP Annual Conference held in Anaheim, CA, July 13-17, 2016.  I must admit other than attending a webinar in the winter about the CSP course and upcoming test I had not previously focused my energy on AP.  I specifically was targeted on making my own class work and was not yet worried about the AP CSP alignment or whether my students would pass the test.  Actually, I didn’t even know there was a new AP computer science course on the horizon until AFTER I selected my curriculum to teach a new computer science course at my school.

What I found was AMAZING! During this meeting I had a small opportunity to share my experience piloting Harvard’s CS50 as an AP course but more importantly I got to hear about the journey of all the other computer science teachers using other curriculum. I talked to teachers that had not yet taught CSP, some already submitted a syllabus and selected curriculum and some had not selected curriculum yet.  I got to hear from teachers that have been involved with testing curriculum over the past 3 years, and teachers that have been on this journey for 8 years.  I got to hear about the revisions of the test, the curriculum framework, and WHY different curriculum works in different situations. This was such a wonderful professional experience to hear and learn about the process and to join a community of educators all teaching the same course with the same objectives including The White House initiative of #CSforAll.

Now, I’ve discussed communities a lot over the last few blog posts and the last thing I wanted to do is have one more community to participate in but this is worth it!  I now not only have a connection with people that are teaching the same CS50 curriculum but also a community of educators to draw ideas on topics just in case I need another angle whether it be for a certain student, a group of students, or my entire class. I am very thankful to be included in this experience.

If you are teaching AP CSP I strongly encourage you to join the teacher community. If you are looking to bring an entry level computer science course to your school look into AP CS Principles.  It is well thought out!

Something I learned about while at the AP CSP meeting was about bridging diversity in computer science.  I learned about programs I had not yet heard about that I can use in an array of my computer technology courses.  In addition to CSP I teach software applications, and 4 – 8 computer technology. I encourage parents and other teachers to check out these resources as well.
  • Facebook’s Tech Prep initiative has resources for teachers and parents as well as ideas of where to start.
  • National Center for Women & Information Technology has resources for encouraging women in the field.
I appreciate the efforts of College Board, Lien Diaz and the AP CSP team, the pilot educators, and the community surrounding this course. I look forward to getting further connected in this computer science community. 

Microsoft Tools for the Computer Science classroom

Last week while attending CSTA 2016 I learned about several computer science tools for my classroom. I have been teaching how to use Microsoft Office tools since 2005.  In a time when several resources are free I have not backed down on the use of Microsoft Office in the classroom or its viability in the workplace.  And now Microsoft Office is free for students with a .edu email address. Although our school district’s one-to-one initiative includes Chromebooks and the software of choice includes Google Drive and Chrome Apps, I still make the effort to use Microsoft Office Software in my classroom lab.  My Software Applications course is a tagged course in the Ohio transfer module and I teach it at the high school for college credit.  But up until now that is all I used Microsoft tools for, office productivity.  The office productivity skills are wide with Microsoft Office as you can start at presentations, documents and spreadsheets, then incorporate formulas, and macros in common Office products and even SQL statements in Access.

What I didn’t realize is the software available for my computer science course specifically.
Visual Studio Community – an IDE for creating modern applications for Windows, Android, and iOS, as well as web applications and cloud services all for FREE.

Xamarin – ability to deliver native Android, iOS, and Windows apps, with a single shared C# codebase.

Azure - a collection of cloud services including analytics, computing, database, mobile, networking, storage, and web. I found a fun looking contest for students to learn more about using Azure.

Additionally, if you want to learn more about the software products or software development as a teacher, professional, or for your CS50 final project?  There’s a class for that.  Microsoft offers free courses at Microsoft Virtual Academy, via, and at Channel 9.

I’m looking forward to growing my skills and offering new tools for my students that I can see them using outside of the classroom.  Who knows, after a few more courses I might be on my way to the new Microsoft Professional Degree.

CS50 workshop - San Diego

I knew in my mind I needed to write about this at the time, but I ran out of time in my rush and desire to take every empty hour to see San Diego. But, that's all about choices and a different blog. With that said, this post may make many edits as I "remember" things I wanted to say.

After teaching CS50 AP at Cedarville High School over the past year I was invited to speak to on boarding teachers about my experience. I chose to speak about the community surrounding the CS50 experience. There is so much community! Feel free to view my Prezi.

First, community is addressed within our own school. I chose CS50 because my teaching philosophy matched the philosophy I saw in the lectures and support I saw form the Harvard course. In my classroom I play music, encourage students to work together, create hashtags specific to the course and include students in demonstrations. And of course we had our own CS50 t-shirts. Each individual educator who teaches their own CS50 course brings their own sense of community to the course.

There are opportunities for students to continue to foster their own sense of community beyond the classroom. Like the CS50 course targeted to college students and beyond there are communities of online support for the high school students that teachers can choose to share with students after discussing academic honesty and the types of help that is acceptable.

There is a community for educators teaching the course such that after providing proof of their educator status they can join in on conversations with other teachers to further discuss strategies, grading, teaching tips.

The community I had not anticipated was the relationship between high school teachers and the Harvard staff. For many of us teachers we are the only teacher at our school or maybe even district teaching this course that is aligned to the AP CSP framework. This course puts students on track for taking the new AP CSP exam offered May, 2017. 

The CS50 AP staff really listen to the teachers and try their best to support their needs. I was most impressed with the summer interns who at 19 years old approached me at our first gathering to ask about my CS50 pilot year. These students took CS50 themselves at Yale and Harvard and one of them even took the course in high school. 

I shared with them which PSets I completed with my students and the items I'd like to see from a teaching standpoint that could really make managing the course easier. These rockstar students presented a sample of the new CS50 portal the next day and worked after our meeting to implement the features I requested the night before! 

Awesome example of what CS50 students can accomplish and what the CS50 team is bringing to the course to help teachers!

Stay tuned to CS50 AP to learn about the new features available to teachers.

Wednesday, June 22, 2016

What I Learned About Student Choice By Watching LeBron James Grow Up

In 2003, I was substitute teaching for an extended time at an alternative school in my home town. This was not a charter school or private school but the school in the district that you went to if you got expelled from your home school. There was a daycare on the bottom level for the teen moms to drop off their babies and there was not only a counselor for the 60 students that attended this school but also a substance abuse counselor assigned to this school. Sitting in the office was a police officer and at the time it was the only school in the district where you had to check in at the office and go through a metal detector. Sounds enticing for $80 a day, right? Since then, over the last 13 years, a lot has changed and the police officer in the building and metal detectors aren't so uncommon at public high schools. But I want to be clear this was unique at the time, for the area, and the district and not a lot of substitutes were willing to take THOSE jobs. A placement that still impacts my teaching today.

I was assigned to the computer lab where I had to monitor students working on assignments. I think there was some kind of 2-hour block schedule and I don't remember much about any of the tasks or assignments students were asked to complete. There was one project that stands out to me today. It was the "Current Events Paper". Catchy name-straight to the point. To many of us a 500-word essay about a current event at the high school level wouldn't even fall under the "project" category.

NBA Covers - St. Vincent - St. Mary High School Fighting Irish's 

LeBron James - May 26, 2003

Credit: Sporting News Archive / Contributor

So, as I monitored the class I started asking about what students were writing about. There were three boys 17-18 years old that had newspaper clippings and copies of local news papers and they were all doing their report on the same person, another high school student, LeBron James.

As I looked at the different topics their's stood out. I recall saying to them ummm are a few clippings about a high school basketball game really worthy of an entire current events paper? What are you going to say? In a year or two will this guy even matter? To be honest, in January 2003, I personally had never heard of LeBron James and admitted that I didn't follow high school basketball.

At that moment I was "schooled" on who LeBron James was. The boys told me about his record and how we was surely going to be drafted straight out of high school. They said he was an inspiration! At 17? I never forgot about LeBron after that and started to hear his name in the news and current events myself.

But what did I learn about student choice? The assignment was to write about a current event. Boys who were not necessarily academic scholars were excited about the assignment, excited about writing, excited about sharing, and had hope through another high school student. They were inspired by someone their own age, that came from a similar town, who lived in the same state. Those boys knew more about what was "important" in the news than I could ever choose for them. 

Since then LeBron WAS drafted straight out of high school, has played for the NBA FOR 13 years, has 3 championship wins, and recently brought back, with the rest of his Cavaliers' teammates, a win for Cleveland in my home state, Ohio. 

I wonder now about those boys. Where are they, did they graduate, do they follow LeBron now? Are they thinking 'we knew he'd be great'? Were they further inspired? What I know is those boys were critically thinking, and synthesizing information. What I do know is that although we want every student prepared to go to college, going to college may not be the right path and sometimes not finishing college is OK as Bill Gates, Frank Lloyd Wright, and Tom Hanks has showed us. What is important is a drive, desire, and passion for what you do and wanting to succeed. To work hard and do your best! To build relationships and trust. To have a choice, and learn.

As a teacher I've learned a lot about setting up situations for students to explore and create and I understand that every experience needs an element of choice. Maybe it's the font they use, the topic, or the media. Not everything is one way, actually nothing is one way. I teach computer science and actually everything has MORE than one way. By setting up situations that give students choice they grow.

Saturday, June 4, 2016

Teaching Computer Science: What is enough?

CS50x AP Reflections/CSFair Reflections

What is enough when teaching Computer Science to high school students? Since having a successful Computer Science Fair I have been asked about the experience and a few teachers have shared concerns about their own fairs and I want to address those topics. First, every concern mentioned to me was a concern of my own prior to our fair. Just as teachers are expected to foresee misconceptions prior to teaching I suppose planning for mishaps or gaps during a presentation is just as important. I would also like to add that our Computer Science Fair provided a platform for students to exhibit the culminating work as a result of a course created to meet the requirements of the Computer Science Principles AP framework.  The AP (Advanced Placement) tag as per College Board is an opportunity for high school students to engage in college level coursework. My course Programming and Apps adapted the course lessons and assignments from CS50x and CS50x AP.
Concern: Projects don’t look fancy or flashy.  How ‘bout if guests viewing the presentations don’t realize what really went into creating the project?
When teaching computer science we approach the aspect of programming as a tool.  There are many different programming languages and an introductory course is just that…an introduction.  Here is the issue.  What is enough?  This course began with understanding binary and quickly catapulted into understanding loops, conditional statements and procedural languages that are compiled namely C. Frankly, none of the course problem sets were flashy.  We didn’t teach flash or any graphic arts for that matter.  There were a few opportunities where via an API we incorporated graphics but even those graphics were simple shapes. When we got into HTML and CSS we could incorporate existing photos/images and styles but even then we didn’t get into graphic arts so be OK with it not looking fancy or flashy. It is the student’s job to explain what it took to create their project.  In my fair, when possible, I had two laptops for students to showcase both the code and the user interface.

 Concern: Projects are coming along slowly.  How ‘bout if the projects are not finished in time for the fair?
Haha!  Good one! First of all, once again, the student’s responsibility.  How I tackled this topic though...I had students provide evidence of all they did complete and if the actual project they intended was not complete I asked them to commit to having something to show.  Something completed. For example, if students decide they are going to create a drone from scratch with working motors and controlled by their phone and it’s not progressing like they would like I suggested creating a game (mobile app or web app) that would give facts or quiz people about what makes drones work.  Even an elaborate blog post with pics and step by step explanations of leveling and connecting motors.  A simple webpage should actually suffice for a final project in an introductory course but since these students were ambitious enough to do more embrace it as the topic of a webpage to be continued instead of seeing the project as unfinished.

Concern: I do not know how to do all the things students want to do. What happens when I’m asked a question about the project, after all this is my course?
When giving students the autonomy to choose their own final projects it is inevitable that students would select things that may not be in your wheelhouse. I personally struggled with this a lot.  I wanted to help students with their projects but when they chose to create a robot that required soldering and wires I had to admit that physical computing was actually beyond the course and beyond the knowledge I currently have.  I supported them by helping post in forums or suggesting professionals that may be able to lend advice.  When students submit a pre-proposal or their proposal for that matter don’t hesitate to let students know where your knowledge limits lie. Don’t make the mistake I made and drain yourself at coming up with a solution to every project.  Let students know that the project may need to morph or that they will have to do a lot of independent work.  And when they do complete the project and it’s time for the fair, make sure guests know that students owned those projects and questions should be directed toward them.

Concern: Projects are missing graphics. How ‘bout if the general public could have created something “better” using a tool versus working from scratch?
Have you ever had those Pillsbury cookies, you know the slice and bake kind that come out of the oven warm, and perfect and with the picture of that princess from Frozen? You take them to a party and pretend that you made them from scratch because, after all, you baked them.  Then there is the lady that brings in the cookies clearly made from scratch with homemade icing and a personalized touch but not quite so perfect and definitely no Frozen character on them.  Everyone knows her cookies took more time, they’ve seen the cookies at the grocery just like yours. This doesn’t mean that people don’t appreciate the Frozen character cookies and it doesn’t mean they don’t taste great but people understand that the bling is bling and that doesn’t mean the graphics make the product. Besides see above this isn’t graphics class. Educating students and adults about what goes on behind the scenes in those drag and drop sites and that you are teaching students to start at the bottom (lower level) is ok.  And true, the graphics are cool but people really dig the story that goes into your project so much more. Snake a JavaScript game readily found online doesn’t look like a snake at all but students gravitate to the challenge of the game just the same.

Concern: This is a first. How do I know who to invite?
It’s up to you.  I know my administration wanted to hold back on the invitations.  I wanted to invite other schools to our event and was told to see how this year goes.  I personally am more of a ‘make the first one count’ kind of person.  We invited family, state representatives, students from other classes within the school, the Board of Education, and university faculty from the colleges in our county. We even sent an invite to the President of the United States. He said he wants everyone to learn to code, right? I don’t think it matters if this is your first rodeo or 10th you and your students have a reason to be proud so invite whoever suits you.

Concern: Projects are reproductions of already created products. How ‘bout if guest students make fun/judge the efforts of the fair participants?
First of all, shame on those people who judge your students’ projects but then should they be judged?  Students need to feel the pressure of showcasing to the public.  If students truly put forth their best effort and demonstrate what they learned guests will react positively.  I think some of the favorite projects at our fair were replicas of other games. i.e. Snake mentioned above.  Guests were actually impressed that a student could recreate it with a twist.  Students who have not taken a CS class are more curious than anything about what the course is about, a course where you get to play on computers and show off your own video game. Our experience was that guests were not concerned with the specific details of the project but they know they haven’t done this before themselves.

Concern: We are limited on space.  How ‘bout if too many people attend?
See above regarding invites.  Invite what you can accommodate but really is it possible that too many people show up to see what your students achieved with their projects?  One thing you can do is if having an event in an entry way or cafeteria that is filling up have some volunteer students from a different class prepared to take guests to a temporary holding area or have an ambassador give a tour of the school.  This gives time for the congestion to lift and allow more participants in the active zone.

Concern: Some of the projects are created in Scratch and that was our first problem set.  Is this enough to show they learned the concepts of the course?  Is it OK to allow these kinds of projects?
I allowed and even encouraged Scratch projects and MIT AppInventor projects. Why?  Both tools allowed students to dive in to the development of the game, or app they were creating without having to create graphics as previously discussed and without getting caught up on syntax.  Although we were teaching the importance of syntax throughout the course I believed it to be more important to take away the process of development and with so many different languages that required so much different syntax knowledge I didn’t want to be hung up on that if a student had a good idea.  I felt that Scratch projects can be in-depth projects and they were! Remember Computer Science is understanding the development of an algorithm and design of computational systems, not a single language.  

Friday, June 3, 2016

How Students View Education in 2015

At the start of the 2014-2015 school year our MS/HS principal shared a video created by Michael Wesch in collaboration with students of the Kansas State University. The video titled “A Vision of Students Today” posted 8 years ago has been viewed over 5 million times on YouTube.  The video shares characteristics of the students at this University when posted in 2007.  As faculty we were challenged to think about what this would look like in our high school. A rural high school, in a small village, in southwestern Ohio. Cedarville is home to Cedarville University and a majority of the “residents” are non-permanent university students. The school, and village prides themselves on tradition and well you don’t really know what students are thinking until you ask the students.  A survey was created and students replied via an anonymous Google Form.  Eighth grade students compiled the responses and shared the data and selected quotes via a video of their own. 

I would like to add that this 8th grade project was one of the most engaging projects students participated in all year in my class.  So, beyond the video and what it says I learned a lot about this type of assignment

Students were engaged because they were
(1) Out of their seat
(2) Out of the classroom
(3) Had a voice

Eighth graders felt a responsibility to deliver the overall message of the survey results. You can see it on their faces in the video, it may not be their words but they want to share the message.

This video was shared with staff in the hopes that they could get a sense of what the students are thinking and feeling about their education.  Some adults may say "students don’t know what they need to know yet.  We know because we’ve been to college, have a job, etc." My friends that teach Family and Consumer Science and Business courses may say "I teach how to get a job and how to do taxes but students aren’t taking my classes." How do we change that?

The meme at the end wraps up the Vision essentially stating that technology alone is not engaging to students.  I think this is so powerful because I’m a technology teacher.  But beyond that, when I went back to school in 2011 to obtain my Masters in Education in Curriculum and Instruction I was told time and time again to bring things into the classroom that the students could relate to such as their cell phones and iPods.  What I learned is that iDevices, Chromebooks, and phones alone are not engaging students in learning.  How we use them in the classroom is important and even more important is that students buy in to the concepts that they are learning.  Our students have never known a world without the Internet and they are expected to know how to use a computer almost inherently without being taught. Computers are just another part of school, a tool like a pencil. Not an element of engagement. Most students don't even know how or why a computer works but only that they are required to use it.  But that discussion is for a different post.

Do your students see value in what you are teaching them? Do they understand why?  Are students sharing what they know in various ways?  How are they showcasing their knowledge? Are they engaged? Do they feel valued? Do they have a voice? Do they have a choice*? 

*Disclaimer: Please know that when I give my students choice it’s not as freeing as they may want it.  EVERYONE is going to edit a photo.  The method, or tool to edit may be choice, the photo edited might include a choice, and the tool used to take the original photo may include a choice.  But everyone is going to edit a photo and no matter how many students use Instagram to add filters before posting their selfie… not every student enjoys learning about masking, and pixels, and file extensions. But by giving them a choice, and giving them ownership of what they are learning I find it easier to engage.