ISTE Home
About ISTE
Advocacy
Educator Resources
Membership
Affiliates
All-Inclusives
Awards and Recognition
ISTE 100
Join or Renew
Member Campaigns
Member Central
Member Networking
My Profile
Podcasts
Special Interest Groups
SIG Newsletter
Join a SIG
SIG1to1 (1 to 1 Computing)
SIGAdmin (Administrators)
SIGCT (Computing Teachers)
Join SIGCT
SIGCT Officers
Journal for Computing Teachers (JCT)
JCSE Online - Journal of Computer Science Education
Past Issues
2005-2006
2004-2005
2003-2004
2002-2003
April 2003
January 2003
September 2002
2001-2002
Submission Guidelines
SIGDE (Digital Equity)
SIGHC (Handheld Computing)
SIGILT (Innovative Learning Technologies)
SIGIVC (Interactive Video Conferencing)
SIGMS (Media Specialists)
SETSIG (Special Education Technology)
SIGTC (Technology Coordinators)
SIGTE (Teacher Educators)
SIGTel (Telelearning)
SIG Council
Volunteer
NECC
NETS
Career Center
News & Events
Professional Development
Publications
Research
Store

Printer Friendly

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 ISTE’s 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 Education–Initial 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 Education–Initial 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 standards–one 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 areas–programming, 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 teaching–planning 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 Standards–ISTE 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 Systems–Components, 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 system–CPU & instruction cycle, peripherals, operating system, network components, and applications–indicating 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 levels–machine 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 one’s 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 Science–Delivering 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.

Customer Service: iste@iste.org   1.800.336.5191   1.541.302.3777 (Int'l)   1.541.302.3778 (fax)
Visit the ISTE Career Center for educational technology jobs, resources, and listings.