Index [link.springer.com]978-0-85729-443-2/1.pdf · ACM Inroads magazine, 52 ... cell index, 189 of...

12
249 Index A Abelson, H., 23, 34 Abhiram, 191 Abstract data types, 9, 237 Abstraction, 9, 23, 42, 43, 48, 65, 102, 125, 148 levels of, 34 Academia, vii ACM Inroads magazine, 52 ACM K–12 Education Task Force, 2 ACM K–12 Task Force Curriculum Committee, 218, 239 ACM Task Force, 22 ACM Transactions on Computing Education, 52 Action research, 248 Active learning, 4, 6, 13, 251 in the MTCS course, 14 Active-learning-based teaching methods, 95 Active-learning-based teaching model, 13, 14, 16 Active-learning teaching approach, 220 Activity, open-end, 17 Aharoni, D., 244, 245 Alan Turing, 28 Algorithm, 8, 42 correctness, 67, 154 development, 67 efficiently, 67 visualization, 137 Algorithmic patterns, 74, 214, 237 Algorithmic problems, 48 Alice, 49, 140 Almstrum, V., 135, 136 Alon, A.J.D., 135 Alternative conceptions, 7, 11, 57, 83, 170 learners, 83, 109 Alternative consideration, 66 Ambler, A.L., 34 Analogies, 65, 113, 234 Anderson, R., 14 Animation, 8, 17, 129 Animation-based IDEs, 237 AP, 1, 174 Armoni, M., 48, 244, 245 Armstrong, J., 34, 49 Array, 153, 161, 237 of accumulators, 189 boundaries, 189 cell content, 189 cell index, 189 of counters, 189 merge, 189 of objects, 189 one-dimensional, 188–193 scans, 189 search, 189 sort, 189 Art, 199 Arter, J., 183 Artificial inelegance, 28 Assessment formative, 175 peer, 175 portfolio, 180 summative, 175 Assignment, 42 Association for Computing Machinery (ACM), 28, 52 Astrachan, O., 73 Automata push-down, 238 theory, 164 Automaton finite, 164 push down, 164 Averbuch, H., 73, 74, 210 B Baecker, R., 134 Baloian, N., 49 Barak, M., 117 O. Hazzan et al., Guide to Teaching Computer Science: An Activity-Based Approach, DOI 10.1007/978-0-85729-443-2, © Springer-Verlag London Limited 2011

Transcript of Index [link.springer.com]978-0-85729-443-2/1.pdf · ACM Inroads magazine, 52 ... cell index, 189 of...

249

Index

AAbelson, H., 23, 34Abhiram, 191Abstract data types, 9, 237Abstraction, 9, 23, 42, 43, 48, 65, 102,

125, 148levels of, 34

Academia, viiACM Inroads magazine, 52ACM K–12 Education Task Force, 2ACM K–12 Task Force Curriculum

Committee, 218, 239ACM Task Force, 22ACM Transactions

on Computing Education, 52Action research, 248Active learning, 4, 6, 13, 251

in the MTCS course, 14Active-learning-based teaching methods, 95Active-learning-based teaching model,

13, 14, 16Active-learning teaching approach, 220Activity, open-end, 17Aharoni, D., 244, 245Alan Turing, 28Algorithm, 8, 42

correctness, 67, 154development, 67efficiently, 67visualization, 137

Algorithmic patterns, 74, 214, 237Algorithmic problems, 48Alice, 49, 140Almstrum, V., 135, 136Alon, A.J.D., 135Alternative conceptions, 7, 11, 57, 83, 170

learners, 83, 109Alternative consideration, 66Ambler, A.L., 34Analogies, 65, 113, 234Anderson, R., 14

Animation, 8, 17, 129Animation-based IDEs, 237AP, 1, 174Armoni, M., 48, 244, 245Armstrong, J., 34, 49Array, 153, 161, 237

of accumulators, 189boundaries, 189cell content, 189cell index, 189of counters, 189merge, 189of objects, 189one-dimensional, 188–193scans, 189search, 189sort, 189

Art, 199Arter, J., 183Artificial inelegance, 28Assessment

formative, 175peer, 175portfolio, 180summative, 175

Assignment, 42Association for Computing Machinery

(ACM), 28, 52Astrachan, O., 73Automata

push-down, 238theory, 164

Automatonfinite, 164push down, 164

Averbuch, H., 73, 74, 210

BBaecker, R., 134Baloian, N., 49Barak, M., 117

O. Hazzan et al., Guide to Teaching Computer Science: An Activity-Based Approach,DOI 10.1007/978-0-85729-443-2, © Springer-Verlag London Limited 2011

250 Index

Barg, M., 117Barnes, T., 191Bashford, M., 49Batory, D., 72Beck, W., 73Bednarik, R., 136Beeri, C., 240Ben-Ari, M., 15, 49, 70, 135, 227Ben-Bassat Levy, R., 49, 135Ben-David Kollikant, Y., 87Bents, M., 84Bents, R., 84Berger, C., 117Berne, J., 217Berry, G., 73Bethel, L.J., 210Binary tree, 211, 237Biology, 125Bischof, E., 49Blank, G.D., 49Blog, 191Bloom, B.S., 167BlueJ, 49Blue, J., 140Blumenfeld, P.C., 117Blum, L., 4, 49, 239, 240BNF grammar, 164Boolean

expressions, 103functions, 103

Borko, H., 217Bottom-up methodology, 72Brainstorming, 65Branching, 42Brandes, O., 49, 244Bridging gaps, 16Brooks, J., 17Brooks, M.G., 17Bruce, K.B., 191Brunching strategies, 103Bubble sort, 189, 224Burnett, M.M., 34Business issues, 30

CC++, 27Cañas, A.J., 107Carey, T., 34Caristi, J., 183Chaffin, A., 48Chamillard, A.T., 183Chemistry, 125Choosing an approach, 66Clancy, M.J., 74

Class, 42demography, 32

Classification, 96, 198activity, 42, 199–201, 237page, 200–201question, 159of recursive phenomena, 197task, 110

Classmate cooperation, 117Class organization, 7, 95, 134

methods, 237Clinical conversation, 90Closed questions, 162Cognition, 148Cognitive diversity, 84Cognitive skills, 8, 148Cognitive tool, 65Colors, 211Comer, D.E., 22Complexity, 238Comprehension, 148Computability, 28Computational machines,

history of, 28Computational models, 27, 237

deterministic, 238finite, 238

Computer, 23architecture, 136the history of, 27lab/laboratory, 5, 8, 124, 186, 236

Computerised DNA sequence databases, 25

Computerized tools, 49Computer science

curriculum, 4, 6, 9discipline of, 7heuristics, 43high school curricula, 23history of, 5, 7, 21, 22, 26, 214name of, 23nature of, 23, 238and other sciences, 25social issues of, 7, 21, 22, 29soft ideas, 7, 21, 38what is, 3, 7, 22, 236

Computer science educationcommunity, 51, 187content aspect, 222ethics in, 30journal, 52pedagogical aspect, 224research conducted on, 4research in, 47–60

251Index

social issues, viiteaching methods in, 7

Computer science education research, 86, 248

categories of, 48–49the learner’s perspective, 50resources for, 48, 52the teacher’s perspective, 51–52world of, 53

Computer science instructors, in the university, 11

Computer science lens, 143Computer science teacher preparation

program, 246construction of, 246structure of, 247, 248

Computer science teachers, 49high school, vii, 1, 2, 11in-service, vii, 4, 11leading, 49preparation programs, 9professional conception, 19professional identity, 4prospective, vii, 13, 16

Computer science teaching, 1, 2, 4, 5, 8, 11

certificate, 2license, 9, 239, 241, 244social issues in, 49

Computer scientists, 5, 7, 9, 22, 28Computing as a Discipline report, 22Computing Curricula 2001, 24, 29The Computing Research Association, 27Concept map, 18, 96, 107, 110, 237

construction, 109evaluation, 110

Conceptual teaching, 224Concept understanding, 48Conclusions, intermediate, 133Concretization, 148Concurrent paradigm, 34Conditional expressions, 236Conditional statement, 103, 129Conditional-statement-bingo game, 98Confrey, J., 14Confucius, 14Considerations

external-to-the-class, 186internal-to-the-class, 186

Constructivism, 14Constructivist approach, 13, 111, 124Constructivist educators, 14Constructivist perspective, 107Constructivist teachers, 32

Constructivist teaching methods, 13Control structures, 9, 10, 42,

112, 237Cooper, M.L., 135Corder, C., 34Correctness, 42Cortina, T.J., 49Course-summary exam, 174Cox, L., 73CSTA, 2, 12CS-unplugged, 95, 237Curriculum, 7–10, 13, 239Customer stories, 176Czerniak, C., 117

DDale, N.B., 210Daniels, M., 14, 17, 49Danyluk, A., 191Dark, M.J., 49Darling-Hammond, L., 230Data representation, 42Data structures, 100Data types, 103Davis, K.M., 14Davis, R.B., 14, 15Debugging, 17, 42, 48, 75Decision making, 148Decker, A., 191Deek, F., 2, 218, 233, 239Defined curriculum, 240Denier, S., 48Denning, P.J., 22de Raadt, M., 48Design, 23Diagnostic exercises, 85Dijkstra, E.W., 23, 28, 39, 72Disciplinary knowledge, 229The discipline of computer science, 21Discovery learning, 70diSessa, A.A., 15, 50Distance learning, 143Diversity, 32, 49, 236

cognitive, 84Divide and conquer, 65Divisors, 150Doppelt, Y., 117Doran, K., 48Double recursion, 215Drake, J., 73Dreyfus, T., 136Dry lab, 127Dubinsky, Y., 183, 244Dyck, L., 49

252 Index

EEagle, M., 191East, J.P., 48, 73Edsger Dijkstra, 28Educators, computer science, viiEdwards, S.H., 48Efficiency, 42, 103, 155, 189Egert, C., 191Eick, C.J., 218, 230Engagement taxonomy, 135

changing, 136constructing, 136controlled viewing, 136entering input, 136modifying, 136no viewing, 135presenting, 136responding, 136reviewing, 136viewing, 135

Engelhart, M.D., 167Engineering, 23ePortfolio, 180Erlwanger, S.H., 50Ernest, P., 117Ethical dilemmas, analysis of, 31Ethics, 4, 13, 49, 238

code of, 30Evaluation, 8, 10, 43, 86, 109, 169, 197, 198,

212–213project, 169, 174rubric, 170, 172of the students enrolled in the MTCS

course, 170the students in the MTCS course, 182teacher, 175

Evaluation rubric, software projects, 177

Examcourse-summary, 174how to evaluate, 236how to write, 236

Examples, 234Experience in computer science education,

217, 237Experimental process, 128Experimental scientific method, 23Experiments, 124

FFaulkner, X., 14, 17Fekete, A., 117Felleisen, M., 127

Fibonacci, 203, 208Filter, 214Fincher, S., 118, 183Finite automaton, 164The first lesson, teacher’s

conception about, 226Fitzgeraldb, S., 49Flag metaphor, 103Flatt, M., 34, 49Fleck, A., 49Floyd, R.W., 34Fluery, A.N., 54Ford, G., 210Forisek, M., 49For loop, 157Formal language, 42Formative assessment, 175, 179Formative evaluation, 190Fossum, T.V., 49Fractals, 198, 201, 211, 212Friedman, D.P., 127Fuller, F.F., 84Functional approach, 103Functional paradigm, 34Functions, 103Furlong, J., 230Furst, E.J., 167

GGal-Ezer, J., 3, 4, 59, 60, 218, 240,

242, 245Games, 96, 191, 237

advantages and disadvantages, 96

Garner, S., 48Gehringer, E.F., 14Gender, diversity, 33Generalization, 42, 148George, C.E., 201Gersting, J.L., 198Ginat, D., 73, 74Grading policy, 176, 179Graph algorithms, 28Green, A.M., 117Greenfoot, 140Gries, D., 22Guide

chapter description, 6how to use, 9motivation for writing, 2structure and organization, 5

Guiding software projects development, 236, 237

253Index

HHaberman, B., 2, 34, 49, 54, 73, 74, 87, 210,

218, 245Haden, P., 48Haller, S.M., 49Halting problem, 163Hands-on experience, 125Hanks, B., 49Harel, D., 3, 59, 60, 240, 242Haridi, S., 34Harland, J., 167Harvey, B., 201, 205Hauer, A., 49Hayes, E., 183Haynes, S.M., 210Hazzan, O., 2, 4, 13, 16, 26, 29–33, 38, 43, 49,

88, 117, 139, 167, 183, 195, 211, 218, 219, 226, 227, 229, 233, 234, 240, 244, 246, 248

Heap, 38Hebetim - Journal of the Israeli National

Center for Computer Science Teachers, 54, 94, 97

Hicks, D., 48High school, vii, 1, 3, 4, 7, 9–12

practicum, 248High school computer science curricula,

designers of, 246High school computer science curriculum,

235, 236, 244High school computer science teacher

preparation programs, 239History

of computational machines, 28of computer science, 22, 26,

214, 236of computing, 29of object-oriented software

development, 27Hodnigg, K., 49Hofstadter, D., 198Howland, J.E., 191Human Genome Project, 25Hypothesis testing, 65

IIDEs, visualization- and

animation-based, 140IEEE-CS/ACM Joint Task Force, 30Illustrations, 234Imperative approach, 103Individual work, 103Inference, 148

Informatics in Secondary Schools: Evolution and Perspective (ISSEP), 52

Information resource, 143Inheritance, 48Innovation and Technology in Computer

Science (ITiCSE), 52Input-output, 42Inroads - ACM SIGCSE Bulletin, 52Inroads - The SIGCSE Bulletin, 32In-school mentor, 218In-service training, 248The instructor, role of, 18Integrative understanding, 117Intellectual property, 29Interactivity, 97Intermediate conclusions, 131Internet, 8, 123, 194, 236, 237

exploration, 24Interview, 91Introduction to computer

science course, 117Israeli high-school computer science

curriculum, 239Israeli National Center for Computer Science

Teachers, 54, 94, 97, 238, 246

JJava, 6, 27, 49, 203, 211

development environments, 236

Jeliot, 49, 140Jigsaw, 116Johnson, D.S., 114Johnson, M., 113The Joint Task Force on Computing

Curricula of the IEEE Computer Society and the Association for Computing Machinery, 24

Jones, J., 2, 218, 233, 239Jones, K.O., 167Jones, M.T., 218, 230Joni, S.A., 54Joyce, D., 126

KKaczmarczyk, L.C., 48Kahney, H., 204, 210Kaila, E., 75Karel, 49Karel J. Robot, 140Karel the robot, 237Kay, J., 117Kessler, R., 115

254 Index

Kilpatrick, J., 14Kimmel, H., 2Kinds of questions, 138, 160Kinds of task, 133Knowledge

construction, 14pedagogical/pedagogical content, 3subject matter, 3

Knox, D., 126Kolikant Ben-David, Y., 245Kölling, M., 49Korhonen, A., 75Krajcik, J.S., 117Kuhn, T.S., 33

LLaakso, M. J., 75Lab

dry, 127experience, 186

Lab-based teaching, 8, 10, 123, 170, 215, 237, 251

Lab-first activity, 127Lab-first approach, 236, 237Lab-first teaching approach, 8

advantages and disadvantages, 129

Laboratory, 124instruction, 13work, 49

Lakoff, G., 113Langly, D., 245Languages, 238Lapidot, T., 3, 13, 26, 29, 32, 43, 54, 88,

101, 139, 199, 202, 203, 211, 218, 222, 233, 245

Lateral thinking, 65Lave, J., 227Lawhead, P.B., 183Leap of faith, 197, 198, 201–203Learner(s)

alternative conception, 169alternative conceptions, 7, 83cognitive abilities, 47conceptions, 48, 209difficulties, 47, 229, 234difficulties and conceptions, 10misconceptions, 50mistakes, 5, 58project grading, 47understanding, 53ways of thinking, 7

Learning processes, viiLearning rhythm, 133

Learning skills, 48Learning style, 117Learning/teaching recursion, research on,

209–210Learning theories, 13Leron, U., 201, 203Lesson planning, 215Lesson preparation, 47Lev, E., 245Levy, D., 54, 101, 199, 201,

203, 245Lewandowskic, G., 48, 49Lewin, K., 249Linearity, 103Linn, M.C., 74List, 237Literature, 111, 199Little People model, 204–206Logical paradigm, 34Logo, 205Loop, 151, 236

for, 157while, 157

Ludi, S., 14Luther, W., 49Luxton, R.A., 167

MMagnusson, B., 34Maher, C.A., 14, 15Ma, J., 125Maletic, J.I., 73Malmi, L., 75Maloney, J., 49Map, 214Map coloring problem, 163Martin, F., 50, 54, 139Marx, R.W., 117Mathematics, 23, 199Mathematics education research, 65Maximum, 107, 161McCauleya, R., 48, 49McConnell, J.J., 14McCowan, D., 2, 218, 233, 239Meaningful names, 103Means-ends analysis, 65MediaComp, 141Media computation, 141Meerbaum-Salant, O., 117, 183Memory organization, 236Mental image, 109Mental process, 65Mentoring software project development,

7, 95

255Index

Mentor/Mentoring, 182in-school, 218scheduling the, 120university, 218

Merkle, L.D., 183Metaphors, 237

advantages and disadvantages of, 114flag, 103

Meta-reasoning, 148Methods, 103Methods of teaching computer science

(MTCS), 1, 3, 9, 12, 13, 83, 248course, vii, 248design of, 233

Microsoft Research, 46MicroWorlds, 140Middle school, 1Migvan, 42, 108, 212Miller, B., 49Miller, C.S., 14Mindstorms, 140Misconceptions, 50, 83Mistakes, 83Mitchener, G., 73Mittermeir, R.T., 49Model

for high school computer science education, 9, 239, 241

Little People, 204–206top-down frames, 204, 207–209

Model Curriculum for K–12 Computer, 218Modeling, 23Modularity, 42Monroy-Hernández, A., 49Moritz, S.H., 49Morphological analysis, 65Moses, L., 183Motivation, 117MTCS course, 13, 22

integrated view, 8objectives, 4organization, 197–215representation by a concept map, 108structure, 235syllabus, 3, 6, 9, 233, 234

Mulder, M.C., 22Muller, O., 73, 74Murphy, L., 48Murtagh, T., 191Music, 97, 139, 199, 211

in computer science teaching, 237Musical debugging, 139, 211Mutual recursion, 215Myller, N., 136

NNaps, T., 135, 136Narrative-algorithmic tasks, 161National Center for Computer Science

Teachers, 9, 239, 240, 242National Conference for Computer Science

Teachers, 236National Council for the Accreditation of

Teacher Education, 2National High School Computer Science

Curriculum, 240Nation-wide perspective, 245NCATE standards, 9, 233Nersessian, N.J., 125Nesting, 103Newman, I., 14, 17Newspapers, 111Nickerson, J.V., 125Nieminen, J., 191Ni, L., 49Noddings, N., 14, 15Non-programming task, 213Noonan, R., 34Novak, J.D., 107Novice

difficulties, 54knowledge, 48

Nugent, G., 49

OObject, 42Object-first approach, 236Object-oriented paradigm, 34Object-oriented programming,

49, 236, 237Object-oriented software development,

the history of, 27One-dimensional array, study unit about,

188–190Open problem, 148

PPair programming, 176Papert, S., 140Paradigms

functional, 49logical, 49object oriented, 49procedural, 49

Parameters, 42, 103Patterns, 49, 73

algorithmic, 237question, 148

Patterson, A., 49

256 Index

Paz, T., 129, 202Pea, R.D., 54Pedagogical content knowledge (PCK),

3, 51, 234Pedagogical-disciplinary

professional skills, 229Pedagogical methods, 13Pedagogical objectives, 186Pedagogical professional skills, 229Pedagogical skills, 182Pedagogical toolbox, 52Pedagogical tools, 66, 85, 95Peer assessment, 175Peer teaching, 182, 236Perkins, D.N., 50, 54, 139Personal projects, 26Petre, M., 118Petrick, E.R., 48Physics, 125Piaget, J., 15Pimentel, A.D., 136Planning

the entire curriculum, 186–187a lesson, 187–188of one topic from the curriculum, 186of a specific lesson, 186of a study unit, 187, 195–196

Pollack, S., 245Polya, G., 65Pomerantz, J., 167Portfolio, 8, 169, 170, 179, 182, 190

assessment, 180design, 181

Porvin, S.E., 73Poster, preparation, 114Practicum, 3, 9, 12, 182

bridge between theory and its application, 219

bridging the gap between the academia and the school, 222

bridging the gap between theory and practice, 219

bridging the gap between theory and reality, 221

bridging the gap between theory and the field, 221

Practicum in the high school, 218Presentation of the solution, 148Price, B., 134Prime number, 158Privacy and civil liberties, 29Problem analysis, 66, 148Problem decomposition, 66

Problem solving, 48, 66, 227, 229assessment of strategies, 48–49strategies, 7, 65, 123techniques, 67

Problem understanding, 68Problem variables

choosing the, 69defining the, 69

Procedural paradigm, 34Procedures, 42, 103, 222Procedures literacy, 223Professional and

ethical responsibilities, 29Professional community, 243Professional development, 1, 2, 4, 7, 8, 11, 47,

198, 233programs, 1

Professional perception, 13, 15, 16, 18Professional skills, 16Program comprehension, 30Programming, 65

assignments, 147style, 33, 103tasks, 8, 103

Programming heuristics, teaching, 45Programming languages, 6, 33, 117, 157

learning and teaching, 49syntax, 34

Programming paradigms, 7, 21, 33, 118, 214, 236, 237

abstract-oriented examination of, 36imperative, 157learning and teaching, 49

Program visualizations, 134Project

documentation, 176, 177evaluation, 8, 169, 170, 174individual, 175non-software, 175team, 175whole-class, 26

Project-based learning (PBL), 49, 117, 124, 169

Prospective computer science teachers, 13Proteins, 25Proulx, V.K., 73Pupil

mistake, 7performance assessment, 3–4thinking processes, 8

Pupil’s answerevaluation of, 88

Pupil-teacher interaction, 85

257Index

Pure-algorithmic tasks, 161Push down automaton, 164Putnam, R.T., 217Python, 49

QQuestion

classification, 159closed, 162design, 166formulation, 163patterns, 148preparation, 165story, 161unsolvable, 163

Queue, 237Quick-sort, 189Quig, B., 49

RRagonis, N., 2, 16, 23, 34, 49, 195, 226, 227,

229, 234, 245Rajala, T., 75Rauschmayer, A., 72Readability, 104Recursion, 6, 8, 10, 42, 48, 108, 197–215, 238

animation, 215classification, 199–201double, 215in life, 213mutual, 215research on learning/teaching, 197, 198and sound, 197, 198, 211–212tail, 215

Recursive algorithm, 214Recursive patterns, 214–215Recursive phenomena, analysis of, 212–213Recursive process, 201

models of, 197, 198, 204–209Recursive structures, 211Redmond M.A., 183Reduce, 214Reduction, 65Reed, D., 69, 73Reflection, 16, 59, 76, 175, 195–196,

236, 237Reflective activity, 77Reflective diary, 182Reflective discourse, 200Reflective essay, 142Reflective practitioners, 16

perspective, 248Reflective process, 175, 217

Reflective skills, 180Reflective thinking, 4, 229Regular language, 164Reid, J.M., 167Representative inputs and outputs,

representative, 68Research, 123

in computer science education, 7, 9, 47–60, 170, 233, 234, 239, 240, 243–245, 248

on learning/teaching recursion, 197, 209–210

root cause analysis, 65in science education, 236

Researcher’s point of view, 52Resnick, M., 49Resources for computer science education

research, 48, 52Reward allocation, 176Reynolds, R.G., 73Rich tasks, 95, 237Risks and liabilities of computer-based

systems, 29Robins, A., 48, 69Rodger, S.H., 49Roschelle, J., 15, 50Rößing, G., 135Rössling, G.J., 135Rountree, J., 69Rountree, N., 69

SSahraoui, H., 48Sajaniemi, J., 70Salakoski, T., 75Samal, A., 49Samurçay, R., 48, 54Sánchez, J., 49Sanders, I., 204, 210Sarvela, J.N., 72Schoenfeld, A.H., 65Scholtz, T., 204, 210Schön, D.A., 16, 76, 222School culture, 220Science, technology, and society (STS), 29Scientific curricula, 13Scientific experimentation, 124Scratch, 49, 140Self confidence, 117Sethi, R., 34Shaffer, C.A., 135Shepherd, H.G., 117Shepherd, M., 34

258 Index

Shulman, L.S., 3, 51, 60, 84, 209, 233, 234, 248

Shulman’s model of teachers’ knowledge, 9, 233, 234

SIGCSE, 52Silberman, M., 14Simula, 27Skills, pedagogical, 2, 4Small, I., 134Smalltalk, 49Smith, J.P., III, 15, 50Social and Professional Issues, 29Social aspects, 237Social context of computing, 29Soft ideas, 21, 22, 38, 110, 237

introduction to, 41in the MTCS course, 39

Software engineering code of ethics and professional practice, 30

Software project, 174developed by individuals, 175developed by teams, 175management, 30

Software project development, 236, 237mentoring, 7, 117

Software requirements, 30Software visualization and animation, 139Soh, L., 49Soloway, E., 54, 69, 117, 139, 210Solution

construction, 69design, 69examination, 70presentation, 148

Song debugging, 237Sorting, 42Sort-merge algorithm, 156Sort method of an array, 157Sort, selection sort, 189Spandel, V., 183Special Interest Group on Computer Science

Education, 52Spohrer, J.C., 54, 210Spohrer, J.G., 139Squeak, 140Stack, 237Starlogo, 140Stein, D., 227Steinová, M., 49Stephenson, C., 2, 218, 233, 239Stepwise refinement, 42, 73Stolin, Y., 33, 49Story questions, 161The Structure of Scientific Revolution, 33

Students’cognitive abilities, 7difficulties, 7misconceptions, 7

Summative assessment, 175Sussman, G., 23Sussman, J., 23Sutinen, E., 136System-level computer architecture, 136System state, 42

TTaghavi, T., 136Tail-recursion, 215Task

narrative-algorithmic, 161non-programming, 213pure-algorithmic, 161

The task stage, 84Teacher

evaluation, 175license, 241–242as a researcher, 55–56role in computer lab, 126

Teacher experienceimpact stage, 84self stage, 84task stage, 84variables, 84written exam, 88

Teacher Knowledge Base Model, 3Teacher preparation, vii

pre-service, 2programs, 9, 239, 240, 242, 244

Teachers’ awareness of learning processes, 51

Teachingconceptual, 226the first lesson about one-dimensional

array, 190–193license, 239, 240materials, 5process, 179strategies, 234technical, 224

Teaching approach, lab-first, 8Teaching methods, vii, 3, 5, 7, 10, 11, 16, 49,

220, 234, 237, 251active-learning based, 7, 95in computer science education, 10

Teaching planning, 8, 44, 185–196, 236comprehensive, 195–196top-down approach for, 185yearly, 187

259Index

Team project, 175Teamwork, 30, 176Technical teaching, 224Teitel, L., 230Test-driven-development, 176Testing, 47Tests, 7, 8, 17, 47, 169, 170, 186

analysis, 172construction, 8, 171, 197, 237design, 166evaluation, 8, 32failure, 77on recursion, 213solving, 172

Theory, 23Thinking practices, 117Thomas, J.W., 117Thomas, S.R., 73Thompson, E., 167Thompson, M., 136Tiling problem, 163Time allocation, 194Time line, 187Time planning, 187TOCE, 52, 135Toleman, M., 48Tomayko, J., 30, 31Tools, pedagogical, 4, 7Top-down frames model, 204, 207–209Top-down methodology, 72Towards 2020 Science, 25Tracing, 42Transportation, 111Trees, 42, 197

binary, 237Trial-and-error, 65Trigger, 16, 18Tucker, A., 2, 22, 34, 218, 233, 239Turing Award, 28Turing Machine, 27, 28Turing machine, 164, 238Turing test, 28Turkle, S., 34Turner, A.J., 22Tutoring, 217, 226

framework, 9problem-solving process, 227session feedback worksheet, 228

Tutoring coordinator, 227Tutoring model, implementation, 227Types of questions, 8, 133, 147, 149, 169, 170,

215, 236, 237, 251analysis of code execution, 151combining several, 158

completion a given solution, 153development a solution that uses a given

module, 150development of a solution, 150efficiency estimation, 155examination of the correctness of a given

solution, 152finding the purpose of a given

solution, 152instruction manipulations, 154programming style questions, 156question design, 156tracing a given solution, 151transformation of a solution, 157

Types of tasks, 135

UUnicode, 161United States, 2University level, 1University mentor, 218Unsolvable questions, 163Uronen, P.A., 49Urquiza-Fuentes, J., 134Using History To Teach Computer Science

and Related Disciplines, 27

VVan Roy, P., 34, 49Variables, 10, 38, 42, 48, 84, 114, 237

roles of, 70Variety of question types,

advantages of using, 147Vasconcelos, J., 67Velázquez-Iturbide, J.A., 134Ventura, P., 191Verno, A., 2, 218, 233, 239Vickers, P., 211Vilner, T., 49, 244Visualization, 8, 17, 123, 201,

211, 237and animation, 138tools, 123

Voyles, M.M., 49

WWaks, S., 117Wallingford, E., 73Wang, L., 167Ware, F.N., 218, 230Watson, R., 48Watt, D.A., 34Web applications, 143Wenger, E., 227

260 Index

Whalley, J., 167While loop, 157Whittington, K.J., 14Wilkins, D.E., 183Williams, L., 115Wilson, S.M., 217Wing, J., 22Winstead, J., 49Wirth, N., 72Wolz, U., 126Working in groups, 116Wright, M., 198, 201Written exam, 88

Wu, C., 204, 210Wu, J., 167

YYang, A., 167Yehezkel, C., 136Yehudai, A., 240Young, P.R., 22

ZZeldes, A., 245Zimmerman, B.A., 34Zur, E., 49, 245