Category Archives: AP CS Principles

Why Codecademy is Awesome

We have been using Codecademy in the CS Principles course to cover HTML and CSS (the abstraction part of the Big Ideas). IT is a great tool – lets the kids self pace, give instant feedback. They have made some pretty amazing things.

Plus the site uses badges to track progress. You know how I love badges.

I just got this e-mail from them – such a great summary of why Computer Science is important:

You’ve been a Codecademy student for a month now. Well done!

Here’s why that’s great news for you:

We believe that learning how to program is the best job security you can have because it’s more important than ever before to understand the systems we depend on every day.

The need for computer literacy has never been greater. As a Codecademy user, you’re getting a head start in many ways:

  • You’re learning how programs function, and how to control them
  • Programming is a skill that’s virtually guaranteed to help you get a job
  • By learning to code, you’re becoming a creator: someone who makes things happen
  • You can create programs, games, web pages and animations
  • As your coding skills grow, you can share knowledge and even teach your skills to others
  • In a world of tech consumers, you’re becoming an empowered builder…

Nice work!
So don’t stop here. Why not master a topic right now?

Exactly.
Created by Rebecca Dovi
I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.

Weekly Roundup

For the Computer Science Principles classes last week I had them define Computer Science . The Wordle below is from their definitions after Unit 1. I am planning on having them do this each unit and see how our collective definition shifts as we layer on more material. I think this might make a good writing prompt later int he year.

Other things I’ve been looking at:

  • Been using this site with my Algebra I kids: http://learnscratch.org/ I am hoping to incorporate Scratch and Graphing
  • Curious to Try this: http://www.learnstreet.com/teacher_signup as the AP Computer Science Principles classes start on the Internet and HTML
  • Rereading As We May Think by Vannevar Bush – this document, from 1945,  first suggests hypertext. Beyond the reading level of most of my high school kids, but some good nuggets
  • As the computer club keeps working on their 3-D printer I am looking forward to trying Blockify
  • Interesting Video recruiting for AP Studio Art: http://www.youtube.com/watch?v=KwyeKseCShY
  • And, we just found out our CSTA chapter will get 100 Finches to play with next fall! Cannot wait.
  • And lastly made my hotel reservation for SIGCSE. The one thing I learned coaching debate – make the hotel reservation early!

Created by Rebecca Dovi

I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.

Top 20 Ways to Learn Computer Science Online

I’ve been trying to keep up with all of the new ways to learn to code online – the first list is here. The new APCS Principles course has a lot of elements that move beyond teaching computer science as a coding class, including teaching about the Internet and using data. It is getting hard to keep up.

Modest Maps

A few top 20 lists:

And for a little numerical diversity:
I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.

Top 20 Programming Languages

This is pretty interesting, this site lists the top 20 programming languages, and tracks their popularity over time.

Pascal is up 0.991% in the past year. Who knew?

This could be a fun way to look at the idea of “Big Data” as a part of the CS Principles course.

Created by Rebecca Dovi

I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.

Surfing the web:

I am looking for ideas to use next year in the CS Principles pilot, some of the better ones:

Created by Rebecca Dovi

I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.

So, What is code?

Great video from PBS Off Book, a series that explores art in the digital world

Is Code the Most Important Language in the World?

Is Code the most important language in the world?

It does a great job of quickly describing what code is and then delving into some of the current issues in computer science. I am using it this week as a part of CS Education Week as a journal prompt for my students.

“It is hard to say what problems would be solved with a more diverse workforce.”

– Adda Birnir, Co-Founder SkillCrush

This is the driving force behind a lot of my own work lately. This moves is beyond just looking at diversity of the workplace, but really at how we solve problems as a society.

Inevitably the problems we solve are going to reflect the views and experiences of those solving them. At a deeper level though, the people with the ability to solve these problems through coding have the power to ultimately decide what problems get solutions.

Computer Science is predominantly white and Asian males. In the 2010 census this group made up roughly 38% of the overall population in the United States. That means that 62% of the population is outside of this circle of influence. In essence their problems are outside the view of the people solving humanities problems.

I highly recommend the series in general. The videos are very engaging, short, and show a great diversity of people working with technology.

Some other topics they cover:

And in case you are using writing in your cs classes here’s a full list of the Journal prompts I use in CS Principles.
Created by Rebecca Dovi
I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.

Why Teach Computer Science – Facebook Discussion

So last week on Facebook I posted this link: Teach US Kids to Code. It brought up a really interesting discussion between some of my former students about computer science classes.

Now back when I taught these kids (now very much grown up and in their careers) my focus was mostly code, code and more code. I am happy to say my teaching has grown since then. Our discussion centered on the fact that many kids just don’t “get” coding. They pointed out that half the kids in our classes never really moved beyond variables. And honestly this was my fault.

Without the broader context the abstraction of computer science can be overwhelming. Especially for an age group that has not necessarily hit the abstract thinking phase of development. Abstract thinking starts in early adolescence and continues until they are in their early 20’s. And as teachers we can’t control where they are in that spectrum.

What I can control are the activities and topics we do in class. By building a scaffolding through engaging activities you create a framework and a context for all these abstract things. Though practice comes understanding.

This leap from teaching code to teaching computer science has been the biggest development in my career.

NCIS

So here is what I wrote. It is the core of why I think every kids deserves computer science in school.

In a way it is asking the question from the wrong angle. For instance in Latin there is no expectation that every student become a master level linguist. There is an understood intrinsic benefit to studying something rigorous even if you do not hit mastery.

For too many cs classes we have a kind of Jedi master approach  You will either become expert, or get nothing out of the experience. I think there is a valuable middle. 

I assume all of my students will engage with some type of computing device in their professional lives. Having some experience with programming means they have a better understanding of what these devices can and cannot do.

We’ve hit the point where cs is the magic trick…watch any old episode of NCIS to see that. For too many people you hit the button, magic occurs and answers appear. Any person with some cs experience knows how untrue that is, and how manipulative it can be.

We are at a point where you are either someone that understands this, or is getting tricked. It has become a basic literacy issue.

So no, many of my students will not master abstraction or recursion, but my classes also cover the culture of cs. They don’t have to get every nuance of programming to understand some of the science behind what we do.

And that knowledge puts them on the stage with the magician, maybe holding the hat but still on stage, rather than in the audience. Cs should be more than a fun show. We depend on these devices so much that cs is a core part of being a literate person of influence.

 

Created by Rebecca Dovi

I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.

Sidewalk Chalk

Quote of the day: “It was one of those fight or flight things, and you can’t fight a mouse.” 12th grader explaining why he ran from a mouse.

We had a four legged mouse in the lab today, tiny and cute, but it’s gotta go. The kids have already named it Billy and want to keep it.

Considering this week started with 7 inches of snow and today it is 80 degrees they have been a bit off the walls, even without rodents.

 

So, for the CS Principles class we went outside today. We’ve been working on Algorithm design (Big Idea # 4). To work on this we did sidewalk art. each team was given a copy of a lab we will program in C++ next month, and using pseudo-code they had to plan out a solution. We haven’t done ifs or loops in C++ yet, but they all came up with a correct algorithm for solving the problem.
We started this fall with BYOB Scratch, and they seem to be doing much better this year with using methods in designing their programs. They all got exactly how to call existing methods to find the solution. I am looking forward to seeing if how their labs compare to previous year’s students after drawing out their plans.
Created by Rebecca Dovi
I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.

Posters for Computer Science – Careers that use Computer Science

These posters are from the Otronicon Science Center in Orlando, FL. Forget Harry Potter World, we are definitely putting that on the list for our next Florida trip. I am sure this kids won’t mind.

Anyhoo, I am fascinated that a science museum has done such a thorough job of including computational thinking and computer science topics in their materials.

Anyway, the posters are free to print and use. They include writing, architecture, linguistics – some fields we don’t traditionally associate with computer science.

Some of the other pages have some good resources too. The Medical Sim City page (tagged:See how simulation technology is being used to create better doctors, nurses and other medical professionals) looks like it has some interesting things to help cover the modeling and simulation info in the APCS Principles course, for example.

Created by Rebecca Dovi

I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.

Pinterest and Teaching Computer Science

Spring is here. I know some of my teaching friends to the north are still getting the occasional snow but for us it has been sunny and in the 80’s.

I love the end of winter, but as a teacher it is a mixed blessing. All the sudden you are fussing about the lengths of their shorts and trying to keep them somewhat focused on what’s happening INSIDE the classroom.

So if you are in need of some inspiration here is my Pinterest board where I keep track of ideas that might apply to computer science.

Drawing from our sidewalk chalk last spring.

My favorite idea of the last year was doing sidewalk chalk to do algorithms and pseudocode. Will I ever make homemade sidewalk chalk? Probably not, but the recipe is there if you get the urge.

created by Rebecca Dovi

I have spent the last 18 years teaching math and computer science at Powhatan High School in Powhatan Virginia. I currently teach Algebra 2, Exploring Computer Science/Game Design, and AP Computer Science. I also facilitate a Middle School Tech Club, Game Design and Tech Divas Summer Camps.