Should CS Principles be the first CS course in High Schools?

June 29, 2012 at 1:45 pm | Posted in Uncategorized | Leave a comment

Last week I made short 30 minute presentation about CS Principles at Georgia Tech. Barbara Ericson from Georgia Tech was conducting a computer programming course workshop for teachers and gave me a 30 minute slot to talk about my pilot experiences. There were teachers from all over Georgia as well as some from a few neighboring states.

 In Georgia we have a computing pathway with three courses: Computing In the Modern World, Beginning Programming and AP Computer Science. I piloted the CS Principles course with my Beginning Programming students. I mapped the Georgia standards with the CS Principles learning objectives. Last year I covered the curriculum for both standards. As I spoke about this, one of the teachers raised a question that if CS Principles is a breadth rather than depth course, is it more suitable as a first CS course for high schools?

High school students need one course that introduces them to computing: Hardware, software, networking, image editing, web design and graphic design, etc. CS Principles is more focused towards the computer science aspect of computing.  It is about problem solving and logic development. It is about using tools to create a software product than learning to use a software tool.  There has to be one course before CS Principles that lets students get a broad tour of computing including the parts of the computer, usage of various computer applications and get a glimpse into the world of computer science. CS Principles / AP CS Principles can then be the next course after Computing In the Modern World.

 On a final note, I am excited to announce that I have been selected to pilot the portfolio assessment for CS Principles. Fun times ahead!


Assessments for CS Principles

June 19, 2012 at 3:38 am | Posted in Uncategorized | Leave a comment

           A quite week with no professional obligations provides time to reflect on the past year. Academic year 2011-2012 has been an interesting year and one with tremendous growth.

            Teaching CS Principles has been a paradigm shift for me and I have grown a lot both as a teacher as well as a computer science student. I had created several types of tests and quizzes for my class. Given that my course was extensively project based most of my tests were around projects. Every project had a rubric that the students followed as a guide. However, for our mid-semester and end of the year finals I was required to create multiple choice questions.

            I created about 40 multiple-choice questions from which I gave about 20 during the finals. It was hard creating these! I based them on logic and reasoning and on the CS Principles – Big Ideas.  As I reflect I am not so sure about the value of these questions. What purpose do multiple-choice questions serve? In an ideal world probably they are intended to test to see if a student truly understands a concept. So in the context of CS Principles, the questions would test a student’s comprehension of the Big Ideas.  I think it should be necessary to add some programming / pseudocode based multiple-choice questions to asses students programming capability.

            Aman Yadav has done some good work on creating assessments for computational thinking. Check out his page:  I am going to use this resource to create some more questions for the upcoming year.

            It does look like at the end of my rambling I am inclined to believe that multiple choice questions have to be a part of the CS Principles assessments.

Who can teach CS Principles?

June 9, 2012 at 8:15 pm | Posted in Uncategorized | Leave a comment

Yesterday, I gave another short talk on CS Principles and my experiences at North Gwinnett. It was again at the Staff Development Workshop at my district. The audience was different from last week. All of the teachers were non-programming teachers. Most of the teachers in the room teach one of the following courses: Web Design, Flash Development or Computing In the Modern World.

While preparing for the presentation, I tried to think what kind of information would be useful to them. History and the thought process behind CS Principles would be useful. I could explain what the course would teach, how was it different from other CS courses that were already being taught and about the significant shift in thinking from AP Computer Science A.  I decided they would be much less interested in details of the curriculum but more interested in what kinds of projects my students did. So, I took some samples with me.

I started as always getting them off their chairs with a group activity and brought them around to thinking problem solving and logic development. Then as I pulled up my student samples I sensed an interest!  I noticed that my audience, who had possibly taught that this was an “AP” course that would be too difficult to teach, now started thinking that they already teach most of this! And a small shift in thinking, a short learning curve and they could very easily be successful teaching this course.

My emphasis throughout the presentation was that CS Principles was not about teaching how to use Photoshop or CS5 but certainly both could be used as tools to create a software product. And if that is possible, then these teachers should be able to easily teach CS Principles. As I thought more about this, I realized that this message was very important, at least in my district and couple of neighboring ones.  In many of the schools the AP Computer Science is a Math teacher and most of the students are academically high achievers and most of the time good math students.  The non-AP technology courses that are taught in these Business & Computer Science departments (CTAE) are by the Business-Ed teachers who have trained themselves to teach Web design and similar such courses.  CS Principles can and should be taught by these teachers.  If we are to achieve the CS 10K goal, then I think it is important to send the message that AP CS Principles do not have to be taught only by the AP Computer Science teachers.

And that is what I like about talking / teaching AP CS Principles.  It is an interesting course to teach and an easy course to sell to teachers and students.

Summer is here… Professional development time

June 2, 2012 at 3:59 am | Posted in Uncategorized | 2 Comments

As the school year finally ended last week, I was grateful for the down time. It has been a very busy year and by end of May I was ready to be done. And after a week, I am now ready to reflect.  I will talk more on the reflections in my blogs over summer.

This summer is a very interesting one. I will be conducting several workshops over the next two months. Yesterday was a short one hour session that I presented CS Principles at Brookwood High School. One of the premiere schools in our district. My good friend Crystal Furman ran the Beginning Programming & AP Computer Science session.

Attached is the presentation that I used for the talk. I found the teachers very receptive. I started with the Rainbow Game that I mentioned in an earlier blog. It was an effective way to get everybody engaged and excited.

There were some excellent questions that were raised. One was, should there be a non-AP version of CS Principles? If not how do we address students who are not AP-inclined? I see their point. If we have a sophomore who is not ready to take the AP exam but is very interested in computer science, open-ended projects etc. we are not going to get the student just because their school might insist they have to take the AP exam. But we need a good assessment system in place. Why? Because of the openness of the projects, evaluating them without the support of collegeboard for high standards for learning, will  become a problem.

Another question that came up was how does this AP course / exam impact schools which are on block schedule. End of the presentation, almost all the teachers in the room said they would like to pilot the course and some may even unofficially pilot this  in the fall. Certainly, as I walked around, and presented the Big Ideas and its implications, the impression I got was most of them felt that this course was something they could teach. I mentioned again and again that the learning curve for this course is not very steep.

One hour was not a whole lot of time. As I planned for the lecture, I felt, I could not teach a concept in great detail and present an overview of this exciting course. So I focused more on the course overview and have hope to have a detailed training session for the Fall.

Blog at
Entries and comments feeds.