780 likes | 935 Views
Everything I Needed to Know about Programming and Computer Science I Learned from my Teachers . I. teaching. programming. What is Computer Science?. What is the central core of the subject? What is it that distinguishes it from the separate subjects with which it is related? .
E N D
Everything I Needed to Know about Programming and Computer Science I Learned from my Teachers
I teaching programming
What is Computer Science? What is the central core of the subject? What is it that distinguishes it from the separate subjects with which it is related? What is the linking thread which gathers these disparate branches into a single discipline? My answer to these questions is simple --- it is the art of programming a computer.
Moti Ben-Ari It is interesting that even the new Computing Curricula 2001 explicitly address legitimacy: in discussing a functional-first style of teaching, they see as a disadvantage the fact that: “students may react skeptically to learning a language that they see as outside the mainstream” … (continued)
Ben-Ari: who are our role models? … I am sure that if we ask physics students who their heroes are, we will hear the names of qualified academic physicists like Albert Einstein and Richard Feynmann, while if we ask the same question of CS students, …
Ben-Ari on role models … we will not hear the names of Edsger Dijkstra and Leslie Lamport, but rather of college dropouts Bill Gates and Michael Dell and of hacker extraordinaire Linus Torvalds. Until perceptions of the legitimacy of CS educators change, it will be difficult to resist efforts to turn CSE into training for fashionable skills.
What will I Talk About?What Questions will I Ask?What Answers will I Provide?What did you learn?
Questions If you gotta ask, you’ll never know Louis Armstrong: “What’s jazz?” If you gotta ask, you ain’t got it Fats Waller: “What’s rhythm?” What questions did you ask in school today? Arno Penzias via Isaac Isadore Rabi
Who do you remember as your extraordinary teachers?What did you learn?
John Kemeny If you have a large number of unrelated ideas, you have to get quite a distance away from them to get a view of all of them, and this is the role of abstraction. ...it is the greatest achievement of a teacher to enable his students to surpass him.
Alonzo Church John Kemeny Alan Turing Martin Davis Don Loveland Dave Reed Owen Astrachan Who are your relatives?
John Rassias “Nothing is real unless it touches something in me and I am aware of it.” Dr. Waters attributes the effectiveness of the Rassias Method to the high level of what she terms "teacher-directed sensory motor stimulation."
SSMCIS Columbia Teacher’s College, Howard Fehr Grades 7-12 Groups, Rings, Fields, Vector spaces, Probability, Calculus, Programming Bernard Robbins and Liza Metzler/Hufnagle 7-8 and 9-12 Boy, did I learn mathematics
Fred Brooks Why is programming fun? First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful.
Fred Brooks: Esse Quam Videri Third is the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principals built in from the beginning. Fourth is the joy of always learning. In one way or another the problem is ever new, and its solver learns something.
Weiss: 1997 NC teacher of year, UNC awards in 83 and 95 Stephen Weiss Weiss puts teaching on par with his other passions -- trains, hiking and snorkeling -- in the fun department. “One of the things I enjoy most is standing up in front of people and making them laugh, and trying to teach them something.”
Don Stanat It is our view that a computer scientist must have substantial training in mathematics if he is to understand his tools and use them well. Stanat and McAllister, 1977
David Parnas In this context "module" is considered to be a responsibility assignment rather than a subprogram. On the Criteria to be used in Decomposing Systems into Modules, CACM, V15, N12, 1972 We must not forget that the wheel is reinvented so often because it is a very good idea; I've learned to worry more about the soundness of ideas that were invented only once.
Seymour Papert The presence of technology in society is a major factor in changing the entire learning environment. School is lagging further and further behind the society it is intended to serve. Eventually it will transform itself deeply or breakdown and be replaced by new social structures. (1995)
Mindstorms Slowly I began to formulate what I still consider the fundamental fact about learning: Anything is easy if you can assimilate it to your collection of models. If you can't, anything can be painfully difficult.
Who wins and how do you win a teaching award in Computer Science?
Steve Wolfman “I feel there is a need to jar people at the beginning of each class to shift them from what they have been doing to what we are going to be doing,” explained Wolfman. “So I make a conscious effort to do crazy or silly or active or interesting things to start us off.”
Lynn Andrea Stein Sequential abstraction was tremendously important -- it was Turing's abstraction and von Neuman's abstraction. It was essential historically, and tremendously enabling. The problem is that it was never quite true
Mark Stehlik, 1997 CMU Herbert Simon Teaching award Mark Stehlik A cornerstone of my teaching philosophy is that I am a partner in the process with the students. A good teacher cannot just stand in front of the class and pontificate. Teaching is equal parts knowledge of the subject matter, enthusiasm both for the subject and for the craft of teaching, and stand-up comedy.
IEEE 2000 award Tim Long and Bruce Weide "For innovative work in the content and pedagogy of introductory computer science education, linking research in software engineering with educational delivery of the material taught in the introductory courses."
Arizona 1998, Stanford 1991, Dinkelspiel 1985 Stuart Reges Now I find myself sitting in on Java intro courses and I almost can't watch. It's like staring at a traffic accident. I have a morbid curiosity to know what's going on, but it's almost too painful to witness.
Margo Seltzer I want to continue to do interesting technical work, work with people, and help young people become skilled computer scientists and engineers. While I try to take pride in all my accomplishments, I think the biggest thrill still comes when someone tells me how wonderful my students are.
Peter Denning No amount of automation can displace the primary social function of a teacher: the expert, respected member of a professional community. Teachers are a community's representatives for the young and for others who seek recognition as a practicing member of that community.
How do you win a learning award?How do you win a teaching for learning award?
On Teaching and Learning Personally, I'm always ready to learn, although I do not always like being taught. Winston Churchill
David Gries public void traverse(Node tree) { Stack s = new Stack(); while (tree != null || ! s.empty()){ while (tree != null){ s.push(tree); tree = tree.left; } tree = (Node) s.pop(); System.out.println(tree.info); tree = tree.right; } } Science of Programming • {Q} S {R} • Loop invariants Formal derivations • Inorder in Copenhagen Dinner with Peter Naur • Dijkstra was an autocrat when we were working on Algol 68
Henry Walker Throughout my teaching, I have found that listening and watching have been vital qualities that have made me a better teacher.
Laurie Williams Agile methodologies focus on being responsive to changing customer needs and market demands. If you ask a manager whether he wants to be extreme, you'll scare him off. If you ask a manager if he wants to be agile, it's pretty hard for him to say no.
Can you foster great learning while being a terrible teacher?
"If he insisted on being odd and peculiar we learned to be patient with it." A master of logic and recursive function theory. I barely stayed awake through class but worked for 40 hours on a take-home exam that was more than temporally memorable. Required a load-and-go compiler using VAX assembly-language and hand-written lexers and parsers --- grade based on speed and robustness in the face of incorrect source code. Taught none of this. "Students don't know x" Professor X Professor Y
Evaluating TeachingAssessing TeachingLies, Damned Lies, and …
Constructive Activities Analyzed Computer Science Education (Van Gorp and Grissom) Collaborative, cooperative, constructive environment Use code walkthroughs: trace and explain Write code in class, before class, discuss Give code, ask for comments and vice versa Debug programs in groups, discuss Don't take notes, reconstruct lecture I really liked the ideas in this paper
Analysis and Evaluation Average [final exam] grades increased as the frequency of constructivist activities increases. Upon further analysis, we found that a slightly positive and significant correlation did exist (p<.05, N=147). Spearman's rho was used to test for correlation since we did not assume normality of underlying data (the scores of a few sections were slightly skewed). Thus, we chose the more reliable non-parametric test. To determine if a significant difference occurred between any of the sections, we used the non-parametric Kruskall-Wallis test. …
Analysis and Evaluation There was a large difference between a Never [use of constructive activities] section (60.44) and the Daily section (94.11), however, this difference was not statistically significant (p=.146). Thus, we could not statistically conclude that frequency of constructive activities did account for a difference in exam grades.
Pair Programming Explained In order to create an environment where all students have the opportunity and the incentive to participate in assignments, we recommend that partners are assigned and are not static for the entire semester. Also, students should be provided the opportunity to report via a peer evaluation on the contributions of their partners; these peer evaluations should have significant weight in a student's grade.
Pair Programming Evaluated An analysis of SAT-M scores revealed that the students were not uniformly distributed across groups. The students in the paired group had a mean SAT-M score of 662.10 while the solo group had a mean score of 625.43. The one-way ANOVA revealed that this difference was statistically significant F(1,101) = 5.19, p < .018. An ANCOVA further revealed a correlation between SAT-M scores and exam scores, when considered for each exam individually, F(1,98) = 36.32, p < .0001; F(1,98) =41.41, p < .0001.
Assessment Everything I Ever Needed to Know about Assessment I Can learn in Kindergarten, Science and Teaching, September, 1997, Ruth Martin Now that active learning is going on in more and more science classrooms across the country, the standard quizzes and tests can no longer be the sole assessment of our students' learning, nor of our teaching. It is a disservice to isolate learning into bits and pieces by requiring students to transfer it to rote memory and multiple-choice tests.
IN A NUTSHELL The Art of Changing the BrainEnriching the Practice of Teaching by Exploring the Biology of Learning James Zull