Our goal of
introducing programming and algorithms starting in elementary school
depends the creation of a very strong computer science curriculum for
K-12 and having well-qualified, knowledgeable teachers to teach the
material. Although we already have proposed a general-purpose curriculum
for K-12 computer science, the issue of finding qualified teachers remains
to be addressed.
schools cannot compete with industry and universities for the people
best suited to teaching programming and algorithms. Fortunately, there
are several paths that schools can embark on to ensure the excellence
of their computer science teaching staff:
- Educate the existing
computer science staff.
Most of the existing computer science staff at the elementary, middle,
and high school level are inadequately prepared to teach both programming
and algorithms. Most schools' idea of computer science is learning
how to use applications like Microsoft Word, Excel, and PowerPoint.
The rest make some attempt to teach computer science, but the teaching
staff rarely knows much more than their prescribed lesson plans. To
this end, we propose summer workshops for teachers involved in computer
science education. There could be a summer workshop for each grade
or school level (i.e. elementary, middle, high). Additionally, we
propose the formation of a special committee for teaching computer
science at lower school levels. This committee would ideally be composed
of respected college educators from top computer science schools worldwide,
as well as researchers into early acquisition of computer science
such as Michael Tempel and Michael Fellows (see Works
Cited). At the beginning, the workshops would be led by the committee
members, focusing on the techniques needed to teach the subject matter
and discussing different student learning styles. The teachers will
also be taught to use the appropriate tools (e.g., KTurtle for teaching
Logo or Eclipse for teaching Java). As time goes on and teachers gain
experience, the workshops would have a greater emphasis on collaboration
and discussion of effective lesson plans and teaching techniques.
Note that these sorts of summer workshops already have been initiated,
such as that led by Michael Tempel and
- Hire undergraduate
or graduate level computer science students from local universities.
These students should have had teaching experience at the college
level as teaching assistants, or at the very least adequate and solid
knowledge of the topics being covered. Several students from universities
like Stanford, MIT, Berkley, and many others, would be willing to
volunteer to teach computer science topics at local schools. Most
such students are more qualified than school teachers who may not
have had programming experience besides that taught in the workshops
we propose. As incentive for college students to participate in such
a program, we also would suggest some amount of remuneration to encourage
the students. If the public schools do not have the fiscal resources
to support such a program, then universities could pick up the bill.
Specifically, universities could give a small scholarships to students
who are helping teach computer science at local schools. Such compensation
should pose no problems for universities like Stanford whose endowment
funds are billions of dollars.