« October 2008 | Main | January 2009 »

December 31, 2008

The New Year

I hope that you have had as restful and relaxing a holiday break as I have. After what felt like non-stop activity during the first semester, with lessons to plans, assignments to grade, and students to help, it's nice to have some time away from school. As the break winds down, I find my thoughts turning back to school.

As a teacher, I always think of the new year as beginning in September. New pencils and pens, bright classrooms, excited students...the short days of January have nothing on the fall. That said, the new calendar year can provide an opportunity to start fresh.

I used to think it was important to maintain absolute consistency. Even when systems didn't work, I kept going with them. I'd been told it was important to keep things the same, lest we confuse students. Fortunately, I've long since realized what a bad idea that is! Consistency is only a good idea if it works. Now I use the holiday break to reflect on what systems are not working well and how I can improve them in the upcoming semester.

This year, I will offer weekly lunch tutorials, so students will have a dedicated time they can get help. I'm always available by request, but having to set a time is a barrier for some of them. Hopefully, knowing they can come in every Wednesday will encourage some students who need extra support.

What changes are you thinking of? What ideas do you have that someone else might use in their class?

Michelle Hutton
CSTA President

Posted by cstephenson at 01:35 PM | Comments (0)

December 30, 2008

Teaching CS to Middle School Students

As I middle school teacher, I think it is my responsibility to expose my students to a variety of topics within my subject area. In just a few short months or years, they will be off to high school where they will need to choose their own classes. If they haven't been exposed to a topic, then how will they know that they might have an interest in the topic which they may be able to pursue at the high school or even college level?

Computer Science is just one of those topics. By the sixth grade, my students have been exposed to the computer, but not to the topics involving Computer Science. The question then becomes, how do I successfully introduce Computer Science topics to my students to encourage an interest in the field?

Recently, I came across a discussion board posting announcing the launch of Small Basic. The posting touted Small Basic as a "simple, easy to use, and uncomplicated version of Basic." It sounded good, but would it be something that my inexperienced middle school students would embrace and enjoy? Further research into Small Basic at http://blogs.msdn.com/smallbasic/default.aspx is where I found a link to download the application. This download also provides an easy to follow tutorial that I plan to start using with my new class of students as we begin the next quarter of classes in January.

At this same Web site, users can find a Sample of the Week for exploring what others are doing with Small Basic. One of December's samples is the Small Basic version of Tetris. Recreating this game is made simple by copying and pasting it into the Small Basis interface. Once this is done, students can start investigating the code to learn how the code affects the behaviors on the screen or students can experiment with code to see how their changes affect the end result.

I have learned through the CSTA organization that when you find something exciting like Small Basic, you need to share the excitement with others. I hope that you will find Small Basic as exciting as I do and will pass on the word to others.

Dave Burkhart
CSTA Board of Directors

Posted by cstephenson at 01:05 PM | Comments (1)

December 22, 2008

Addressing the Crisis in Computer Science Certification

We can all agree that it is essential that computer science teachers have adequate preparation and professional development to teach computer science successfully. We can probably also agree that there is currently a crisis in computer science teacher certification.

Within most educational systems internationally, the task of ensuring that teachers are adequately prepared to teach a given discipline at a specified level rests with the bodies responsible for teacher certification. Unfortunately, as it relates to computer science teacher certification, there is a lack of clarity, understanding, and consistency with regard to current requirements. Where certification or endorsement requirements do exist, they often have no connection to computer science content.

As a result, there are exemplary computer science teachers whose state provides no certification in their chosen discipline. There are individuals who have knowledge of the discipline who want to teach computer science but lack the pedagogical training to survive and foster learning in a classroom environment and they have no place to get it. And, most disturbingly, there are teachers who have no computer science background being assigned teaching positions that require substantial knowledge of the discipline.

The result of this current situation is that students, teachers, and the discipline itself suffer. It is absolutely essential therefore, that all computer science teachers, new and veteran, have appropriate training. It is equally important that a model for teacher certification in computer science be instituted.

The challenge then, is how do we construct a sensible system of teacher certification that makes sure that everyone has the knowledge they require and yet does not drive skilled and dedicated teachers away from the discipline or the classroom.

In an extensive new report on the current state of computer science teacher certification, CSTA proposes a certification model that addresses individuals from four constituencies: 1) new teachers; 2) veteran teachers with no computer science teaching experience; 3) veteran teachers with computer science teaching experience; and 4) individuals coming from business with a computer science background.

Ensuring Exemplary Teaching in an Essential Discipline: Addressing the Crisis in Computer Science Teacher Certification provides a comprehensive examination of the complex issues of certification. It looks at the research is available and provides a detailed look at what is needed to meet the needs of teachers in each of these constituencies. The report is available online at http://csta.acm.org.

We believe that this is a critical discussion for our professional community right now, so tell us:

* What are your experiences with certification/endorsement in computer science?
* What were the qualifications required of you when you were assigned to teach your first computer science class?
* Were you adequately prepared?

Fran Trees
CSTA Chapter Liaison

Posted by cstephenson at 10:41 AM | Comments (8)

December 12, 2008

Real World Learning in a Web Design Class

I started teaching web design to students when the World Wide Web started to explode in 1994. Back then my students used HTML and notepad to create the school's website. Web design tools have come a long way since then. So I am constantly looking at different ways of teaching web design

I decided some time ago that it is important to introduce programming concepts in this course. Students really have no clue where programming is used on the websites that they view on a daily basis. They just click away without understanding what that button control does. In my Web Design class, they will learn programming concepts in addition to learning how to build web pages and websites.

Here is an outline of what I teach:
HTML
DreamWeaver
Flash
DotNetNuke

I use the online lessons from Maricopa Community College to teach HTML. I don't have my students do all of the lessons, but they do learn the basics of creating a 3-page site and having text, graphics, and links on the page.

Next, my students learn how to use Dreamweaver from Adobe Software. I use a book called Adobe Dreamweaver CS3 Revealed written by Sherry Bishop. The book has students create several different websites so that they learn how much easier it is to use software to create a website than html.

Learning Flash has also been fun and challenging for my students. Why? Partly because students need to think and Flash requires them to learn about objects, layers, and animation. It is not just point and click! I use a curriculum called Web Game from a company called I Support Learning.

Here is a description of the curriculum:

Students are immediately attracted to and engaged by web games featured on websites. The fast-growing segment of e-commerce and website creation is making this skill valuable and necessary to compete in a global economy. As competition increases and budgets shrink, companies are seeking new and innovative ways to attract and retain customers. From art, design, branding, and the skills necessary to bring it all together, your students will be leading the charge on the latest marketing phenomenon - web video games. These skills are in high demand and offer students immediate access to entrepreneurship opportunities.

To make the curriculum easy to implement, all the necessary knowledge and skills of programming and creating web video games are delivered through totally interactive software. Through text, pictures, animations, and digital videos, students are led through the exciting world of web game design. Due to the highly interactive and self-directed nature of our curriculum, students are allowed to find their own pace. Regardless of the learner's motivation or learning style, students will find a new level of success with our curriculum.

This curriculum was designed to support state assessments by addressing national math, language, science, art, and technology standards.

What attracted me to this curriculum was this:

Skills for Life
Good life skills are made relevant through situations that have students examine their actions. Through interactions with their boss, co-workers, and customers, students learn what it takes to be successful in the real world. They discover the long-term benefits of making choices that allow them to take pride in what they do.

Critical Thinking and Problem Solving
Employers want people who solve problems. Our projects lead students through analyzing, brainstorming, and creating solutions using the design process.

Students work for a Web Design Company as an intern and are given a task of creating a game in Flash to advertise a new soda pop called Carbonade. Their job is to create a Flash game that can be used on the company website.

Throughout the lessons, students learn how to take instructions from a boss and how to create this game using the actionscript that Flash has as a feature. Students also learn basic programming concepts such as a variables, if statements, and loops.

This link will show you an example of the games that my students have created. http://www.lhps.org/scarbeau/flashstudent/

Once they have mastered Flash, my students learn DotNetNuke. I have been much involved with this product as a speaker, webcast leader, curriculum developer, trainer. I am also the author of the new DotNetNuke 5 published by Wrox Publisher.

DotNetNuke Is Free and
Versatile - DotNetNuke is an open source web application framework ideal for creating, deploying and managing interactive web, intranet and extranet sites.
User-Friendly - DotNetNuke is designed to make it easy for administrators, content editors, developers, and designers to manage all aspects of their web assets. Wizards, content-sensitive help, and a well-researched user interface provide a superior user experience.
Powerful - DotNetNuke can support multiple websites from a single application installation. In dividing administrative options between host level and individual site level, DotNetNuke allows administrators to manage an unlimited number of websites - each with its own unique appearance and content.
Feature-Rich - DotNetNuke comes loaded with a set of built-in features that provide exceptional functionality. Site hosting, web design, content management, security, and membership options are all easily managed and customized through simple, browser-based tools.
Supported - DotNetNuke is managed and supported by DotNetNuke Corporation, a legal entity which provides production Service Level Agreements as well as other professional services for the platform. DotNetNuke is also supported by its Core Team of volunteer developers and a dedicated international community. Through user groups, online forums, resource portals and a network of companies who specialize in DNN, help is always close at hand.
Easily Installed - DotNetNuke can be up-and-running within minutes. Developers can simply download the software, and follow the simple installation instructions. In addition, many web hosting companies offer integrated installation of the DotNetNuke application with their hosting plans, providing a simple mechanism for end users to experience the power of the platform.

The curriculum has students create two portals for CompSci High. The first portal is for the school and they created a portal that includes pages for Faculty, Admissions, Academics etc. They learn how to place modules on the pages and learn how to create their own modules using Visual Web Developer and Visual Basic.NET from Microsoft and SQL Server Express. They also learn how to change the graphics in DotNetNuke which is called skinning. The second portal is a student portal for information about athletics, student government, class information and clubs.

The skills that I teach are real world skills. Needless to say, my students are always busy learning in their Web Design class.

I hope you take advantage of this curriculum and teach your students a little about programming in your Web Design class. Good luck!

Resources:
HTML: http://www.mcli.dist.maricopa.edu/tut/tut0.html
Dreamweaver: http://www.adobe.com
I Support Learning: http://www.isupportlearning.com/noflash/Web.html
DotNetNuke: http://www.dotnetnuke.com
Free DotNetNuke curriculum: https://www.academicresourcecenter.net/curriculum/pfv.aspx?ID=7205

Brian Scarbeau
CSTA Board Member

Posted by cstephenson at 02:51 PM | Comments (9)

December 09, 2008

Why Students Do Not Take APCS

I recently heard a statistic that 30% of the students who take AP Computer Science go on to major in computer science in college. While this may sound like an impressive statistic, it only serves to highlight one of the systemic problems in high school computer science education -- namely, that we don't serve a broad base of students.

Consider the evidence. Only 20,000 or so students currently write the APCS (both A and AB combined) exam, and this number is likely to decrease next year when the AB exam is retired. Contrast this with the 100,000 students who take the AP Chemistry exam, the 145,000 students who take the AP Biology exam, the 275,000 students who take the AP Calculus exam, and the almost 600,000 students who take the AP English Language or Literature exams. In fact, more students take an AP exam in French than in Java!

Why is there such a wide variance in the numbers? I think you have to examine the motivations of students who take AP courses. While some students take AP courses because they like the subject matter or because they want college placement and/or credit, my experience has been that the vast majority of students take AP courses for two reasons:

First and foremost, students take AP courses because of the GPA boost they get. Many high schools have a higher GPA scale for AP and honors courses, but even if they don't, admissions departments at the college level will often recalculate a student's reported GPA to weight AP courses more heavily. The end result is that many students will only take a non-AP course as a last resort because it will often *lower* their GPA -- even if they get an A+.

Second, students take AP courses because it improves their chances for admission at most selective colleges and universities. Admissions officers want to see students take the most challenging coursework available to them. When there's a choice, it is better to take an AP class (even if your grade is slightly lower) than to take a non-AP course and get an A+.

The main problem is that the APCS course (either A or AB) is perceived as difficult and time-consuming -- not rigorous and challenging. With all that students are doing these days, being able to sink two or three or four hours a night into a lab is just not possible. Even if they have the time to put into APCS, they have the very real concern that their other grades will suffer as a result.

It comes down to the fact that when students have a choice between APCS and another AP course that they perceive as "challenging but doable," students will usually pick the latter -- sometimes even if they would prefer to take computer science.

Don't get me wrong. I love computer science and I advocate strongly that *every* student should have a basic understanding of the field. But unless we do something soon to change how computer science is being taught at the AP level, I fear that APCS A will soon go the way of AB.

As far as that 30% statistic I mentioned earlier, I'd much rather see it drop to 2% -- as long as we could develop a broadly appealing yet rigorous computer science course. If AP Computer Science could draw a similar number of students as AP English, we would increase the number of students who go on to major in computer science by more than 50%. Now *that* would be impressive.

Robb Cutler
CSTA Past President

Posted by cstephenson at 12:31 PM | Comments (3)