The NCATE
Standards
for Preparation of Teachers of Computer Science
Philip East
University of Northern Iowa
1 Introduction
During the past two years, members of SIGCS and ISTEs
Accreditation Committee
have worked (with input from SIGCS members and others) to revise the
standards
for the preparation of secondary computer science teachers. The main
players
in this process were Lajeane Thomas and Harriet Taylor (from the
Accreditation
Committee) and Joe Kmoch and Philip East (representing SIGCS). The
Standards
were initially developed in 1991-92. In the regular five-year review
cycle,
they were revised in 1997 and the third revision is now complete. The
document
describing the ISTE/NCATE Standards for Secondary Computer Science
EducationInitial
Endorsement and their use is significantly larger than this
article which
is meant to serve as an overview of the Standards. Additionally, while
the Standards
have been approved by NCATE, there may be some slight variance between
their
final form and this document which was developed from the document
submitted
for approval.
2 The Standards
2.1 Overview
The ISTE/NCATE Standards for Secondary Computer Science
EducationInitial
Endorsement, describe criteria to be used by Colleges of Education
(or other
teacher preparation entities) in assessing their teacher preparation
programs
for certification by NCATE, a national body that accredits teacher
education
programs. The Standards, therefore, indirectly indicate the knowledge
and skill
expected of secondary computer science teachers. Previously there were
two sets
of standardsone for an endorsement to teach computer science and
one for
a bachelors degree in computer science education. Now, however, the
Standards
refer only to programs that provide an endorsement in computer science
education.
It is anticipated that the computer science portion of a CS
teacher-preparation
program would approximate a minor in computer science.
A secondary computer science teacher is also a teacher. Thus,
programs to prepare
CS teachers should are expected to address pedagogical knowledge and
skills.
Teacher preparation programs have substantial non-content components,
i.e.,
student teaching. These standards reflect only that portion of
preparation that
relates to computing. The CS content would be likely be delivered in
six to
nine courses and the professional or pedagogical material might well
be addressed
in a single methods course.
The CS Standards statement has three parts. The first relates to
computer use
skills and expectations of all teachers for using computing in
instruction.
NCATE expects all teachers to possess basic computer use skills and
expertise
in using computer-related technology in teaching. While it may be a
bit redundant
to refer to preparation that should exist regardless of the specific
content
discipline, including it for CS seems reasonable, since a computer
science teacher
ought to know computing technology better than most other
teachers.
The second part of the Standards relates to the CS content. Our
original draft
of the standards had more explanatory prose than exists now. The
intent should
be relatively clear, however. We organized the CS content in four
broad areasprogramming,
computer system operation, data representation, and social aspects. As
you examine
this portion of the standards, keep in mind that such documents are
produced
by a committee based on feedback from many people and they were
developed for
two audiences (the computer science community and NCATE).
The final part of the Standards relates to the discipline specific
aspects
of preparing computer science teachers. Preparation here was organized
around
five aspects of teachingplanning for teaching, classroom
teaching (getting
as close as possible considering that student will likely do student
teaching
in some other discipline since this is only an endorsement), classroom
and course
management, assessing instruction, and professional development.
Again, it is
likely that most of the content involved here would be addressed in a
single
methods course.
Various elements of (individual standards within) the Standards have
titles,
descriptions, and a performance indicator. Presumably, successful
students would
master most if not all of the individual standards. Guidance as to
successful
performance is provided with the Standards document via a rubric. The
rubric
provides exemplars of unsuccessful performance (approaches standard),
successful
performance (meets standard), and even better performance (exceeds
standard).
Rubric entries can help explain each individual standard. In our work
on this
revision of the standards, the rubric entries were created after the
content
was determined. I suspect they will all be included in the next
revision, and
not be subject to widespread review.
It should be noted that we worked relatively hard to generalize the
Standards
as much as possible. We are hoping that our efforts will make the next
revision
easier and will allow teacher preparation programs more flexibility in
how they
organize their individual curricula.
As you examine the standards, feel free to note what you like and do
not like.
The next review will need to be completed in 2006 so it is likely that
work
will being in 2005, only two years from now. Be prepared to submit
your thoughts
then.
2.2 Prerequisite Foundation StandardsISTE National
Educational Technology
Standards (NETS) for Teachers.
The computer use skill and expertise relating to using computing
technology
in teaching has six areas. As noted above, teacher preparation
programs are
supposed to address this material for all teachers. For
detailed information
on this component of the standards, you should examine the full NETS-T
(National Educational Technology Standards for Teachers) document
available
on the Web. A brief overview of that material can be gained by
examining the
titles of the six ares:
- Technology Operations And Concepts.
- Planning And Designing Learning Environments And Experiences.
- Teaching, Learning, And The Curriculum.
- Assessment And Evaluation.
- Productivity And Professional Practice.
- Social, Ethical, Legal, And Human Issues.
2.3 Secondary Computer Science (CS) Content Standards
The material below comes from the portion of the Standards relating
specifically
to the preparation of prospective computer science teachers. The
titles, subtitles,
and attendant prose should provide general understanding of content
and rationale
for it. The rubric should further explain each standard as well as
provide guidance
for assessing student work within the teacher preparation program.
Specialty Content Preparation in Computer Science.
Professional study in computer science education for secondary
teachers provides
experiences selected to develop a breadth and depth of knowledge of
computer
science. Courses and performances fulfilling these requirements must
include
experiences beyond the beginning level in computer science. It is
anticipated
that study approximately equivalent to a minor in computer science
will provide
the necessary specialty content in computer science to meet these
standards.
CS Standard I. Programming and Algorithm Design
CS endorsement candidates will demonstrate proficiency in programming
that
requires the use of data abstraction to solve non-trivial programming
problems
in multiple programming paradigms.
CS-I.A. Laboratory-based Programming
Experiences
CS endorsement candidates will perform laboratory-based
activities
that demonstrate programming proficiency in a modern high-level
programming
language. A sequence of experiences is recommended to provide a
connected, orderly
approach to computer science during the initial study of the
discipline. The
endorsement candidates and their students will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
1. demonstrate knowledge of and skill
regarding the
syntax and semantics of a high level programming language, its
control
structures, and its basic data representations
|
Correctly describe effects of execution of a given
sequence
of programming instructions (trace code) involving basic
features of the
programming language used.
|
Select and organize basic language instructions
and data
representations to accomplish a given straightforward task.
Discuss generally
how they work to accomplish the task.
|
Discuss rationale for choices made in selecting
and organizing
basic language instructions and data representations to
accomplish a given
straightforward task. Suggest alternative approaches and compare
and contrast
alternative approaches to the task.
|
|
2. demonstrate knowledge of and skill
regarding common
data abstraction mechanisms (e.g., data types or classes such
as stacks,
trees, etc.)
|
Correctly describe the purpose and use of various
common
data abstractions (e.g., ADT/class such as a vector, stack,
tree, graph).
Given a specific design, implement an ADT/class.
|
Select an ADT/class appropriate for a given task
and appropriately
use it. Extend a given ADT/class for use in a different
context.
|
Design and implement an ADT/class given a general
indication
of its purpose.
|
|
3. demonstrate knowledge of and skill
regarding program
correctness issues and practices (e.g., testing program
results, test
data design, loop invariants)
|
Determine whether a program operates correctly on
supplied
test data.
|
Develop test data for a given problem and apply it
to program
solution. Describe the rationale for selecting various data
values.
|
Develop and implement a unit testing suite for a
given problem.
|
|
4. design, implement, and test programs of
sufficient
complexity to demonstrate knowledge and skills included in
CS-I.A.1
|
With some instructor or peer assistance, design
and implement
a program to accomplish a given task requiring a variety of
language features
and data abstractions. Test (and correct) the program using a
supplied
data set.
|
Without assistance, design and implement a program
to accomplish
a given task requiring a variety of language features and data
abstractions.
Develop test data for the problem and apply it to the
program.
|
Identify best practices appropriate for program
design,
implementation, testing, documentation, and layout.
|
CS-I.B. Multiple Paradigms.
CS endorsement candidates will demonstrate an understanding
of and
flexibility with differing approaches/paradigms in programming (e.g.,
imperative,
functional, object-oriented), The endorsement candidates and their
students
will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
1. design, implement, and test programs in
languages
from two different programming paradigms in a manner
appropriate to
each paradigm
|
Describe in general terms program design and
development
processes of two disparate programming paradigms using program
code examples
to illustrate key points.
|
In languages from two different programming
paradigms, produce
correctly functioning programs for problems appropriate to
the language
paradigm used.
|
Discuss the strengths and weaknesses of two
different programming
paradigms in the context of a given problem.
|
CS Standard II. Computer SystemsComponents,
Organization, and
Operation.
CS endorsement candidates will demonstrate in-depth
knowledge of how
computer systems work individually and collectively. The candidates
and their
students will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
A. effectively use a variety of computing
environments
(e.g., single- and multi-user systems and various operating
systems)
|
Use various operating systems, application
software, and
program development environments in daily activity and to
complete assignments.
|
Identify alternatives and select appropriate
features of
operating system, application software, and program development
environment.
|
Compare and contrast features of various operating
systems,
application software, and program development environments
identifying
appropriate occasions or contexts for their use.
|
|
B. describe the operation of a computer
systemCPU
& instruction cycle, peripherals, operating system,
network components,
and applicationsindicating their purposes and
interactions among
them
|
Identify the purpose of the major (hardware and
software)
components of a computer system.
|
Describe the interactions of the various major
components
(hardware and software) of a computer system in the context of
some particular
activity (e.g., booting a system, saving a file).
|
Write simple programs/scripts that change the
performance
of an operating system.
|
CS Standard III. Data Representation and Information
Organization.
CS endorsement candidates will demonstrate an understanding
of data
and information representation and organization at a variety of
levelsmachine
level representation (for program correctness); data structures (for
program
implementation); problem representation (for solution design); files
and databases
(for general applications); and interactions among systems and people
(for overall
system design and effectiveness). CS endorsement candidates and their
students
will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
A. describe how data is represented at the
machine
level (e.g., character, boolean, integer, floating
point)
|
Describe in general terms the primitive data
representations
in a familiar programming language.
|
Describe specifically (in terms of how bits are
used) the
primitive data representations in a familiar programming
language. Identify
values for which overflow and underflow exist.
|
Discuss the impact on correctness of primitive
data representation
(i.e., overflow, underflow, loss of significant digits) and
techniques
for minimizing the impact.
|
|
B. identify and provide usage examples of
the various
data structures and files provided by a programming language
(e.g.,
objects, various collections, files)
|
Identify common non-primitive ADTs/classes and
file organizations
available in a familiar programming language.
|
Provide contexts in which the use of various
non-primitive
ADTs/classes and file organizations available in a familiar
programming
language are appropriate.
|
Critique the choice of various non-primitive
ADTs/classes
and file organizations for given problems.
|
|
C. describe the elements (people, hardware,
software,
etc.) and their interactions within information systems
(database systems,
the Web, etc.)
|
Identify the various "general" elements
of information
systems and describe their role.
|
Indicate the responsibilities of the various
general elements
of information systems and describe the interplay between
them.
|
Design an information system for a given
task/function.
|
CS Standard IV. Social Aspects of Computing.
We live within a cultural environment and interact daily with
other people.
Computing specialists need to communicate and work with each other and
with
non-specialists. Specialists and non-specialists alike need to be
cognizant
of issues and risks related to computing in our society and to learn
independently
as new developments in technology arise. CS endorsement candidates
will demonstrate
skills and understanding relative to social aspects of computing that
are appropriate
for specialists and non-specialists.
CS-IV.A. Societal Impact and Issues.
In order to prepare high school graduates to make informed
decisions
regarding computing in their personal lives and with respect to
societal laws
and norms, CS endorsement candidates will demonstrate an understanding
of computing
and potential issues and skill at recognizing, researching, and
analyzing issues
to reach defensible conclusions. They will promote understandings
relative to
social aspects of computing among their secondary students. CS
endorsement candidates
and their students will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
1. demonstrate awareness of social issues
related
to the use of computers in society and principles for making
informed
decisions regarding them (e.g., security, privacy,
intellectual property,
equitable access to technology resources, gender issues,
cultural diversity,
differences in learner needs, limits of computing, rapid
change)
|
Identify a variety of societal issues relating to
the use
of computers in our society.
|
Describe a reasonable process for reaching
conclusions about
societal issues of computing (e.g., security, privacy,
intellectual property,
equitable access to technology resources, gender issues,
cultural diversity,
differences in learner needs, limits of computing, rapid
change).
|
Identify computing issues with respect to
societies other
than ones own. Compare and contrast various processes for
examining
social issues (e.g., security, privacy, intellectual property,
equitable
access to technology resources, gender issues, cultural
diversity, differences
in learner needs, limits of computing, rapid change).
|
|
2. analyze various social issues involving
computing,
producing defensible conclusions
|
Identify the major aspects of societal issues of
computing
(with pros and cons) and suggest a resolution for each.
|
Present various aspects of societal issues and
provide a
coherent rationale for a particular resolution for each.
|
Critique arguments for various positions on
societal issues
of computing.
|
|
3. demonstrate an understanding of
significant historical
events relative to computing
|
Identify significant events, people, and artifacts
in the
history of computing.
|
Discuss seminal developments and trends that exist
in the
field of computing.
|
Analyze developments and trends in the field of
computing
to determine possible impact on society.
|
CS-IV.B. Independent Learning and
Communication
CS endorsement candidates will demonstrate the ability to
help their
students learn independently about computing and communicate what has
been learned
to others. CS endorsement candidates will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
1. conduct independent learning on specific,
unfamiliar
topics in general areas central to computer science and
provide their
students with opportunities to do the same
|
Identify resources appropriate for learning about
a given
topic in computer science.
|
Demonstrate independent learning on an assigned
topic.
|
Assist others in applying independent learning
techniques.
|
|
2. produce and present reports of
substantial independent
learning achieved in CS-IV.B.1 and provide their students with
opportunities
to do the same
|
Develop a report based on independent
learning.
|
Make a presentation of a report based on
independent learning.
|
Prepare and submit for publication or formal
presentation
a paper developed through independent learning.
|
CS-IV.C. Collaborative Software
Development.
CS endorsement candidates will demonstrate knowledge and
experience
in collaborative software development and provide opportunities for
their students
to do the same. CS endorsement candidates and their students
will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
1. participate in team software development
projects
that apply sound software engineering principles
|
Describe basic software engineering principles and
techniques
for applying collaborative software development.
|
Participate in team software development
projects.
|
Evaluate group work results by describing
behaviors and
activities that enhance and detract from successful
efforts.
|
2.4 Professional Preparation Standards
The material below comes from the portion of the Standards relating
to CS-specific
aspects of teaching about which prospective computer science teachers
should
be aware and possess skill. The titles, subtitles, and attendant prose
should
provide general understanding of the pedagogical skill or concept and
a rationale
for it. The rubric should further explain each standard as well as
provide guidance
for assessing student work within the teacher preparation program.
Professional Preparation.
Professional studies culminating in computer science education
endorsements
provide studies of and experiences in the methods, techniques, and
strategies
related to teaching computer science at the secondary level. Teaching
involves
at least the activities of planning, delivering and managing, and
assessing
instruction. Teacher candidates should prepare to do each of these.
They should
also be prepared for the role of professional computer science
educator.
CS Standard V. Planning Instruction.
CS endorsement candidates will demonstrate an understanding of
the teaching
tasks and approaches and be able to apply and evaluate them with
respect to
the students in their computer science classes. Evidence of these
capabilities
should include examples of student performance resulting from this
planning.
Candidates will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
A. Identify resources, strategies,
activities, and
manipulatives appropriate to teaching secondary computer
science
|
Observe instructional activities and note
strategies, activities,
etc. used in the instruction.
|
Identify resources and strategies for teaching a
specific
concept, skill, etc.
|
Differentiate between resources, strategies, etc.
for effective
teaching and learning on a given lesson.
|
|
B. Plan lessons/modules/courses related to
each of:
programming process, knowledge/concepts, issue
examination
|
Examine online lesson plans for the various kinds
of instruction
in computer science.
|
Prepare lesson plans for the various kinds of
instruction
in computer science.
|
Critique lesson plans for the various kinds of
instruction
in computer science offering specific suggestions for
improvement.
|
|
C. Develop assessment strategies appropriate
to lesson
goals and the need to provide student feedback
|
Examine assessments activities suggested in
lessons plans.
|
Prepare assessment activities appropriate to the
lesson
type and goals for a given lesson.
|
Compare and contrast various assessment activities
for a
given topic in discussions with peers.
|
|
D. Perform course and lesson planning that
addresses
student population characteristics (e.g., academic ability,
cultural
experience, gender)
|
Identify strategies for addressing differences in
student
populations.
|
Develop lesson plans that meet needs of a diverse
student
population.
|
Compare and contrast various approaches to meeting
needs
of diverse student populations in discussions with peers.
|
CS Standard VI. Classroom and Field Experiences in Computer
ScienceDelivering
Instruction
CS endorsement candidates will observe and participate in
instructional
planning and delivery in secondary computer science classrooms.
Evidence should
include some examples of effects on student performance. Candidates
will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
A. Observe and discuss the teaching of
secondary computer
science
|
Identify possible computer science classes for
observation
and prepare an observation plan.
|
Observe an actual secondary computer science class
noting
items in the observation plan as well as any unexpected
events.
|
Participate in group discussions of the
observations noting
effective combination of techniques and instructional
goals.
|
|
B. Participate in the teaching of secondary
computer
science (lab assistant, tutoring, mini-teaching, etc.)
|
Identify possible opportunities for participation
and plan
the experience.
|
Carry out planned participation in a school
setting.
|
Reflect on the participation identifying positive
and negative
aspects of the experience.
|
|
C. Plan and deliver a unit of instruction
|
Identify an opportunities for teaching a unit and
plan the
instruction.
|
Deliver the planned instructional unit in a school
setting.
|
Reflect on the instructional activity suggesting
modifications
to it.
|
CS Standard VII. Classroom & Course Management.
CS endorsement candidates will apply methods and skills
appropriate to
the management of the secondary computer science classroom. Evidence
should
include some examples of effects on student performance. Candidates
will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
A. Plan direct instruction involving
simultaneous
use of computing facilities by students (e.g., holding class
in the
lab, closed labs)
|
Identify topics where lab-based instruction is
appropriate
after observing such instruction.
|
Plan instruction for a lab-based lesson.
|
Compare and contrast, in discussions with peers,
various
techniques for engaging students while conducting lab-based
instruction.
|
|
B. Plan instruction involving students
independently
using computing facilities
|
Identify topics where independent student
laboratory work
is appropriate.
|
Plan an instructional activity involving
independent student
laboratory work.
|
Compare and contrast, in discussions with peers,
various
techniques for facilitating learning in independent laboratory
situations.
|
CS Standard VIII. Instructional Assessment.
Reflection upon one's own performance as a teacher is essential
for improving
that performance. Thus, teacher candidates will examine and work to
improve
their teaching practice. Assessing secondary student performance is
essential
to determining success in teaching practice, as well. CS endorsement
candidates
will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
A. Develop a personal plan for evaluating
their own
practice of teaching
|
Examine techniques for self-assessment of
instruction.
|
Prepare a plan for self-assessment of an
instructional activity.
|
Critique self-assessment plans of peers.
|
|
B. Make use of their plan for
self-evaluation in the
instructional delivery activities alluded to in
CS-VIII.A
|
Discuss implementation strategies for
self-assessment with
someone with experience in classroom instruction.
|
Use a prepared plan for self-assessment to
evaluate an instructional
activity.
|
Assist peers in developing and implementing
self-assessment
plans.
|
|
C. Develop assessment criteria and
procedures to determine
successful performance. Analyze results to improve
instructional practice.
|
Develop knowledge level assessment
tools.
|
Develop criteria to assess knowledge, skills, and
dispositions
related to CS standards and analyze results for improving
student learning.
|
Develop criteria to assess knowledge, skills, and
dispositions
related to CS standards, analyze results for improving student
learning,
and use data for programmatic decision-making.
|
CS Standard IX. Professional Development.
CS endorsement candidates must recognize and plan for ongoing
professional
development that will be needed to sustain themselves and their
students. Candidates
will:
|
Performance Indicator
|
Approaches Standard
|
Meets Standard
|
Exceeds Standard
|
|
A. Discuss guidance roles and possible
enrichment
activities for secondary computer science students (e.g.,
computing
career guidance, preparation for college, gender equity,
cultural diversity,
and extracurricular activities such as computer clubs and
organized
competitions)
|
Identify resources for computer science career
guidance.
|
Discuss enrichment activities common to secondary
computer
science classes.
|
Organize and implement an actual enrichment
activity for
secondary school computer science students.
|
|
B. Plan for professional growth after
identifying
professional computer science and computer science education
societies,
organizations, groups, etc. that provide professional growth
opportunities
and resources
|
Identify professional computer science education
organizations
at local, state, and national levels.
|
Develop a plan for professional development
utilizing resources
of professional organizations.
|
Participate in professional activities offered by
professional
organizations.
|
Philip East has been teaching computer science and computer science
education
for over 20 years. He has been active in SIGCS, ISTE, and ACM computer
science
education activities. Currently, Philip is serving as Chair of SIGCS
and edits
its publication JCSE Online. Much of his non-work time is spent
reading science
fiction and books about the brain and learning. He also plays too
little golf
too poorly.
Contact:
east@cs.uni.edu
http://www.cns.uni.edu/~east
Copyright ©
2003, ISTE (International Society for Technology in Education). All
rights reserved.
|