For a typical teen, creativity seems to mean only one thing: write a program which is some sort of game. I had an interesting experience this week.
We are currently working on designing programming projects using Scratch. I introduced them to BYOB and a quick tour on Scratch fundamentals. Most of the students have had some training on Scratch, so they are now ready to take up a slightly harder assignment. Based on the interviews with my students, I paired them up with students who have similar interests. I gave them the rubric and asked them to choose a topic of interest. They were asked to come up with an idea and have me approve their concept.
Almost all of the first round of ideas could be easily classified into two groups: games using missiles & guns or sports based games. I had one group which absolutely refused to think beyond entertainment. They refused to think of a field that this would expand upon or try and serve some other purpose than pure entertainment. Trying to convince them to think from a different perspective was hard. What made the situation harder was that students thought of it as I shot their idea down.
It has taken couple of days to convince them to think of alternatives and come up with a good project to work on. This has led me to wonder, how do we encourage creativity and different thinking from the norm?
As an effort to get my students to pick project topics that interest them, I decided to do a one on one interview. I enjoyed this. Students were quite open in discussing their interests and passions. The three questions I asked them were:
- What course do you like the most outside of this class?
- What are your interests? (What do you do for fun?)
- Which programming tool do you like best? (I tried not to give any suggestions or hints. But waited to see what their choices were)
I received some really nice answers. One student has an ear for music. In fact, when he designed his Scratch project, he wrote code that played drums with a lovely rhythm to it. There are many artists in the classroom. Maybe they will bring out some interesting artistic projects.
I am going to utilize this information starting tomorrow. The class will start a long term project in teams of two. I am going to guide them to pick topics of interest and suggest partners based on their interests. I will report results next week. After almost a month of just trying to play catch up, I think I am back to blog steadily for this year.
The 1st week was great! Lightbots 2.0 is definitely a lot of fun. Students got into a lot of discussions on using functions and functions calling functions. Before they began to design their own levels, I asked them to make a quick presentation to the class, about their point of view on the relevance of using Lightbots in a CS Principles course. They also had to add a feature to the software… a Lightbots 3.0!!!
We have started recording reflections consistently. Rich Kick used Google docs last pilot year and found it to be very useful. I am trying to use it in my class this year. So far, the reading has been interesting. Nothing to quote yet, but I am sure the best is yet to come!
In my search for adding more technical information to the content, one area I can easily do that is data – Boolean algebra and the Internet. I am doing research on this as I write this. I will blog more in future. I am also wondering about how I could use Visual Basic as my programming language after Scratch.
I have a new research assistant. Angela Park. Great student!!! I am truly excited and looking forward to working with her. Emily was great as my RA last year. She is now pursuing computer science at Georgia Tech. Angela is a Junior and is in my AP Computer Science class. She is a very promising student.
School starts tomorrow. Last week was orientation. I am excited about the students I met during orientation. I have some really bright students and some really hard working ones. Most students seem to be excited to be back. I have an amazing course load this year. I have two sections of CS Principles (the course name for this is Game Design using CS Principles), two sections of AP Computer Science and one section of App Inventor / Java Programming. My class size for CS Principles grew from 30 to 54! Wish I had more time to celebrate.
My focus is to fine tune the curriculum. I am interested to see how much of last year’s curriculum I reuse and be successful. For example I know I am starting CS Principles again this year with Lightbots. I am going to have the students go through the tutorials, analyze the games and rebuild their own levels. I want to increase the technical level of the project by Friday and isolate as to which learning objectives / Big Ideas I am covering in this project. Perhaps it will be a good idea to have students rate the difficulty level from easy to hard and see what their perception is.
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!
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: http://cs4edu.cs.purdue.edu/comp_think. 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.
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.
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.
As a cumulative end of the year project my students are going to design a software product that should be marketable. I want the students to follow the entire software development cycle. They will start with gathering the requirement specifications and understanding the need of the industry they are working in (could be cars – a popular choice-, medicine, entertainment, etc.). The next step is to create an abstraction. Students will be turning in a flowchart or a pseudo code of the product they plan to create. The software created then will be tested using test cases created. Finally they will create a market brochure and flyers for advertisement. The final deliverable in this project is a 10 minute classroom presentation to one of their favorite teachers in the school.
In all, students have 10 deliverables and have a timeline by when each deliverable is due. This week, they brainstormed among themselves and came up with ideas to create a project. They had to decide what their industry was, and who their customer was. One that I loved was two students who want to build a model for a new kind of fishing boat. They want to prototype the model using Photoshop and create an advertisement video using iMovie.
Another interesting happening this week, was conducting the AP pilot in the CS Principles class. The test was online. There was a mixed reaction from the students about the tests. There were students who felt they were very well prepared and the others who felt intimidated. As usual the programming/ algorithmic questions are the ones that the students felt most uncertain about.
An interesting experiment took place in class today. The class was finishing up their presentations on Big Data. One team picked up music. Theirs was more of a report. Based on their research, they reported that music among teens is very popular. Teens listen to music for two reasons: one to fit in among their peers and another to help them deal with the challenges of being a teenager. Finding this to be very interesting I asked my students how many used music to help them deal with their day-to-day problems. At least four heads nodded silently.
Moving on, I asked the team to put up questions to find out why teens listened to music. The students came up with the following three questions:
- Music & coping
- Music to keep self – entertained
- Music because of interest
Results: (Class size 22)
I – 0
II - 12
Now, I can tell you honestly, very often when I am upset, I listen to music to calm myself. It should be quite safe to assume that this is true for most people. But it was very surprising to see that not one student chose music and coping! One student turned towards me and said that he did not need music to ‘cope’ because he had a good home life. The students had interpreted the word “cope” to mean handle conflict!
I am willing to bet if (I) had been labeled Music to Motivate or Music to feel Good rather than Music & Coping, the number tally would be very different.
It is important to note that the design of the questions is probably the most important aspect of the data mining projects.