An Analysis of High School Computer Science Education (HSCSE)
Chris Chan | Chris Estreich | Andrew Parker | Avichal Garg
overview statistics factors solutions interviews international findings
Overview An introduction and high-level summary of our analysis.
Statistics A collection of telling statistics pertaining to the current state of HSCSE.
Factors The identification of 4 principal factors that affect the breadth and quality of HSCSE.
Solutions An synthesis of several proposed solutions that address the 4 contributing factors we identified.
Interviews A revelation of the real-world conceptions of HSCSE through the eyes of 2 ACM SIGCSE leaders/3 high school teachers.
International A juxtaposition of the status quo of our domestic programs with the established programs of several other countries.
Findings Summary of findings, and an expression of each of our personal feelings on the matter.

Proposed Solutions

        A solution to any one of the four identified contributing factors - economic, institutional, curricular, and societal - cannot exist in a vacuum. On the contrary, a successful solution MUST take into account the other factors. For example, no reasonably pragmatic curricular solution could be created that did not work within the institutional bounds of the American educational system or the lack of resources plaguing high school teachers.

        Interestingly, three of the contributing factors, economic, institutional, and curricular rely heavily upon each other, and one can affect change in any one of these areas by taking into account the other two. The societal factors we have identified, however, exist uniquely outside this framework. The various stigmas and misconceptions surrounding computer science seem to have grown out of the fact that there are economic, institutional, and curricular shortcomings; appropriately, one of the primary reasons we have economic, institutional, and curricular shortcomings is that the societal misconceptions continue to fuel poor funding, poor institutional structures, and poorly designed curricula. In this way, a vicious cycle has deeply embedded itself in the American educational system between societal factors and economic/institutional/curricular factors.

        To break out of the this cycle, there are seemingly two points of attack: Change the societal beliefs and hope economic, institutional, and curricular reform follows, or institute economic, institutional, and curricular reform and thereby impose social change. Due to the fact that people are now more aware than ever the failings of the American educational system, it would be far more effective to address the economic, institutional, and curricular needs in high school education. In a way, by affecting change from this angle, we can give the impression to those outside the educational system that the societal misconceptions are non-existent, and thereby convince them to abandon their misconceptions.

        Though there are no firm solutions for the three areas we seek to directly address, there are a number of options that have been or are being implemented, with varying degrees of success. We highlight some of these below, including some we have generated, though we refrain in most cases from assessing their potential or their success.

| Top |

Economic Based Solutions

ï Seek greater funding from government.

ï Allow qualified college students to be teaching assistants at high schools to significantly increase the quality of education for little cost.

ï Import teachers from overseas for short term fellowships. There is an abundance of qualified computer science teachers overseas that would work for American teacher's salaries if they could be guaranteed a certain amount of savings; economically the payoff for them through exchange rates is tremendous.

| Top |

Institutional Based Solutions

ï Push for state certification standards for teachers to affirm computer science education's importance.

ï Push for school districts to mandate CS classes for graduation.

ï Provide support systems for teachers.

ï A professional organization for CS teachers has been developed.

| Top |

Curricular Based Solutions

ï The ACM has developed a model curriculum (check it out below) which should be transformed into an implementable form for high schools.

ï The College Board AP exam is in place, though has met with limited adoption and increased criticism from educators across the board.

ï No Child Left Behind imposes minimal standards that amount to typing.

ï Standards should be rigorous, with exposure starting early in high school, if not earlier. In this way, even if we have a large number of schools and students not able to meet the requirements, by falling short they still have a very strong foundation, far beyond basic or remedial computer skills.

| Top |

1. The ACM's "A Model Curriculum for K-12 Computer Science"

ACM K-12 Education Task Force
October 22, 2003

The K-12 Education Task Force recommends a four-level model curriculum for K-12 computer science, as seen below.

Notice that Levels II through IV fall under the high school level. Hereís a brief synopsis of each level.

Level II: Computer Science in the Modern World

ï One year course, designed for both college-bound and workplace-bound students;
ï Students will acquire a fundamental understanding of the operation of computers and computer networks and create useful programs implementing simple algorithms;
ï Not merely a course in ìIT Fluencyî (which focuses on technological skills and their uses in other academic subjects), a proper Level II course will be an early exposure of computer science to students as an academic subject;

Level III: Computer Science as Analysis and Design

ï One year course that builds on Level II, placing emphasis on computer science a scientific and engineering discipline;
ï A Level III course will emphasize programming and software design with complex ìreal worldî projects;
ï In addition to programming, topics such as interface design, limits of computers, and societal/ethical issues of software engineering should be included;
ï Students should be prepared to take an Advanced Placement A level exam by the end of this course;

Level IV: Topics in Computer Science

ï A Level IV course can be any ìelective,î including but not limited to the following areas:
        o Advanced Placement Computer Science (A or AB);
        o Projects-based course (e.g. Desktop Publishing, Presentation Design, Multimedia, Graphics, Web Programming);
        o Vendor-supplied course (e.g. A+ certification, i-net+, Certified Internet Webmaster);
ï A Level IV class may last a half or full year, and requires both Level II and (possibly) Level III course experience;

Want to learn more? The full 40-page report can be found (here).

| Top |

2. Engaging Exercises/Assignments

Some perceive high school computer science curricula as being boring or dry. In order to break this perception, educators have been developing activities/assignments that both entertain and educate. Some examples are shown below.

| Top |

| Binary Numbers: "Count The Dots" |

Using just five simple cards you can explore the binary number system, find out how computers store text, and discover how data is sent through a modem.

| Error Detection/Correction: "Card Flip Magic" |

A "magic" trick that will intrigue children, and show them how computers detect, and even fix, corrupted files.

| Sorting Networks: "Beat The Clock" |

A fun activity involving a simple maze marked on the ground with chalk or tape. Participants come out of the maze sorted into order!

| Graph Coloring: "The Poor Cartographer" |

It looks like coloring in, but it's a problem that even the most powerful computers can't solve efficiently!

Courtesy of Computer Science: Unplugged.

Introduction to Object-Oriented Design offers three group activities for reinforcing Object-Oriented Design concepts. Here are some role-play games for the Java language:

| Graphics: Elevator System Role-play |

This role play uses the objectdraw library from William's College. However, it could easily be adapted to another context that has graphical objects. This is a role-play that can be used early in a course.

| Parameter Passing: Swap Role-play |

This role-play is designed to help the participants and observers understand how object parameters are references that are passed by value. This roleplay also uses the objectdraw library.

| Recursion: Broccoli Role-play |

This role-play again uses the objectdraw library but could be adapted. It is based on the broccoli example from the recursion chapter of the book Java, An Eventful Approach, by Bruce, Danyluk, and Murtaugh.

Courtesy of Colgate University Computer Science Department's Unofficial AP Computer Science Website.

| Top |