Following the Software Development Cycle
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.
Big Data: Questions – key to Data Modeling and Data Analysis
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
III- 10
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.
Greenfoot and Object Oriented programming
After a couple of frustrating sessions with Greenfoot, (a few weeks leading to spring break) I decided to take a step back and find out what was frustrating my students. Thinking about it, I understood that some concepts of object-oriented programming were bogging the students down. So we (Rona, my student teacher & me) decided a different approach. Rona walked the students through the next tutorial. When a student got stuck, we asked students to raise their hand and we got them help (Rona, me or another student). When there was a concept that was new or a new terminology introduced, we stopped and I gave them a quick 5-10 minute lecture. We did this for three days.
We might have had a break through. We will find out in the next few weeks as we come back from Spring break. We did ask the students to design a simple class in Greenfoot from one of the programs available. We have not looked at all the projects but the few we did see were quite good.
Big Data : Revisited
Easily the most popular unit in the entire course at this point I can confidently say that every single student enjoys Big Data. Here is an illustration. One of my girls did not enjoy programming. In fact she had decided computer science was not her career choice but she was going to become a nurse. While the class was making the Big Data presentations I asked her what she thought of the unit. Her words were “interesting, fun and practical!” It had caught her interest and made her think a little more about computer science and its relevance! This student has one more year before she goes to college and maybe she will change her mind?
Another one of my Seniors who had taken the class because it was an elective credit that he needed to graduate and had chosen to turn in mediocre work throughout all topics came to me after the Big Data unit and told me that this was the most interesting topic he had done all year in all his classes!
So… what did we do in these classes? The class split into groups of three. Each group picked an industry of choice: movies, music, video games, retail industry
(toothbrushes (!), shoes, retail stores). For each industry they were required to find a problem they had. The problem had to relate with improving business. The next step was to then create a set of questions which would help them understand the problem and analyze the problem better. And the final step was data modeling and charting out the results. Part of the grade was to present the results to the class, which of course for my set of students is the most exciting and fun part: they love to show-off their results.
I am taking these projects and making them into case studies. The idea is for it to be available for the next year’s students to read, analyze and then come with their own projects for data mining.
Playing Catch Up…
Wow! Where did the month of March go? It has been crazy, crazy.
How does one catch up with past blogs? I am not going to play any catch up. I will write one blog each day this weekend, until I feel I have said everything I need to convey. Then I will go back to my bi-weekly postings.
CS Promotion
These two weeks are is quite important for making students at North aware of the computer science programs and specifically the new CS principles course. Of course I am teaching CS Principles under the hood of Game Programming has made it even more fun and attractive.
We have an elective fair at our school. All departments that offer elective courses give out flyers and brochures and encourage their current students to talk about the courses and have other students recruit them to their classes. At our elective fair this year we gave out blow pops! I attached tiny messages like, “Join Game Design”, “Do you like gaming? Take a computer class to understand it better” to the blow pop. Then I asked many of my volunteer students to give them out to other students who they thought would enjoy computer science. This was a lot of fun.
For AP classes, I used the PSAT scores to help determine a student’s potential. I looked at their performance in language arts (students need to be able to comprehend the free response questions that are given to them in the AP Exam) as well as how well they performed on the math section of the PSAT. Based on the data I sent letters to about 50 students and their parents encouraging them to take AP Computer Science. At AP Night (an evening when all parents are encouraged to come to school and talk to the AP teachers) I spoke to several of the students and parents and gave them handouts specifically outlining what my expectations are for my AP course.
Enrollment is next week. I will find out if this promotion had any impact.
Disadvantages of following a tutorial
Programming with Greenfoot has gone reasonably well. I let the students follow the tutorial for a chapter and then come together as a group to discuss their progress. Tutorials are no fun. Students like interaction. Students like programming with a purpose. Tutorials do not give them the why. That is what we facilitators do. We show them the big picture and get them excited.
Every Greenfoot day, I start the class discussing what was covered the day before. After they were able to create their own methods I had them design their own classes. And associate an image to their class. They were to add one new behavior to their objects and then give a demonstration. Essentially, after every small tutorial, have a small independent activity that is open-ended and creative. This seems to keep the interest going.
I do see students now forming a clear opinion about programming. There are definitely students who say, that they do not like cryptic syntax errors. They would rather design, explore and research than code. And then there are others who like the challenge. Those who enjoy working with code, would rather program than do anything else.
CE 21
Last week was CE21. This is the first time I have attended the conference. It was an interesting experience. I enjoyed meeting some really interesting people. I am excited to see the progress we are making towards making CS Principles an AP.
Here is the link to the CE21 presentation of CS Principles. It has been announced that the first AP exam is scheduled to be held in Spring of 2016. That means if all goes well the first AP CS Principles course will be conducted the academic year 2015-2016. There was a college board presentation on the next steps that will be taken to get ready for the AP CS Principles course offering and testing.
Jan Cuny spoke about CS 10K goal. (Training 10K computer science high school teachers). Here is the link to her talk.
Another hat I wear is I am in the Advisory council for the Computer Science Collaboration Project (CSCP). I went to dinner with Karen Peterson and other members of the group. I really enjoyed myself and learnt a lot of new things.
More about specifics on what I learnt in future blogs…
Greenfoot as a programming tool
Today introduced Greenfoot in class. I start this topic with some trepidation, but with a distinct sense of purpose. Introduce students to real programming.
Greenfoot is programming in Java. While the programming tool continues to be more of a learning tool than an industrial programming tool ( like using JAVA with an IDE) , students will be required to program and deal with frustrating complier issues like missing semicolon.
Also, Greenfoot is not a tool where students can explore the software and figure out how to make it work. There is not much to explore… but there is a lot that can be done. It is an extremely powerful, visual programming environment and gives you all the power of an object oriented environment.
I have started them on the tutorial that comes with Greenfoot. I like the tutorial. It is simple and straightforward. Once students had their software running they were enjoying themselves. The rest of the week I will be talking about classes and objects, and how I can create multiple objects from one class. Greenfoot makes it easy to explain this concept.
Flash Games: Presentations and demonstrations
This week we spent a good bit of time watching flash game presentations and going over binary number conversion.
The link given is a very good site for students to learn binary number conversion. I am giving them a test next week and this is a good review.
http://www.binarymath.info/decimal-conversion.php
My students have designed some really neat games. Students were required to turn in requirement specifications and a flow chart for the game that they had in mind. Then they were let loose on the computer to design the games. Here are some of the games that they have designed for this project.