CS Teachers are Different than Software Developers: WIPSCE 2014 Keynote
-
Upload
mark-guzdial -
Category
Education
-
view
1.984 -
download
5
description
Transcript of CS Teachers are Different than Software Developers: WIPSCE 2014 Keynote
PREPARING TEACHERS IS DIFFERENT THAN
PREPARING SOFTWARE DEVELOPERS
Mark Guzdial
6 November 2014
Do CS teachers need a CS degree?What do they need that’s different?
2
• Four stories:
1. CS Teachers do different things.
2. CS Teachers know different things.
3. CS Teachers code to teach,not always about programming.
4. Identity and community are intertwined.
#1: CS Teachers do different things
3
What do successful CS teachers do?
What makes a CS teacher successful?
• Recruits more students into CS
• High pass rate
• Confident and satisfied with teaching CS
How do you prepare your students for the AP CS exam?
4
“Everything in that class is more or less an assessment. They’re supposed to read certain sections in the book, and then they have quizzes over the reading. After they do the reading assignments, they have Gridworld case study quizzes and also Gridworld case study segments of code that they will go in and manipulate to change to get the things in the Gridworld case study to react different ways. Those are pretty much graded as labs or programs or quizzes.”
How do you prepare your students for the AP CS exam?
5
“Everything in that class is more or less an assessment. They’re supposed to read certain sections in the book, and then they have quizzesover the reading. After they do the reading assignments, they have Gridworld case study quizzes and also Gridworld case study segments of code that they will go in and manipulate to change to get the things in the Gridworld case study to react different ways. Those are pretty much graded as labs or programs or quizzes.”
How do you prepare your students for the AP CS exam?
6
And then if I read these [student quizzes], I can see any misconceptions or gaps in what I’ve done. I get a picture in my mind of where the current class is. Making them do the explaining is new this year. I’m seeing them do a lot better there. I‘ll do like little code (assignments) that they’ll write once a week. They have to write it by hand away from the computer, and I’ll read that and write them comments on what they’re doing and help them grade it with a rubric, and also pass them back after I’ve read them for them to grade, too, and have them look at what was catching it or where it didn’t quite get to it.
How do you prepare your students for the AP CS exam?
7
And then if I read these [student quizzes], I can see any misconceptions or gaps in what I’ve done. I get a picture in my mind of where the current class is. Making them do the explaining is new this year. I’m seeing them do a lot better there. I‘ll do like little code (assignments) that they’ll write once a week. They have to write it by hand away from the computer, and I’ll read that and write them comments on what they’re doing and help them grade it with a rubric, and also pass them back after I’ve read them for them to grade, too, and have them look at what was catching it or where it didn’t quite get to it.
A successful CS teacher…
8
• Writes assignments and comments, not code.
• Guides students through rubrics, not syntax.
• Is interested in learning (coding away from the computer, explaining), not productivity.
• Is not all that focused on assessment.
#2: Teachers want and need CK and PCK
Pedagogical Content Knowledge
What are the learning difficulties that teachers might anticipate?
What are useful techniques for teaching this?
9
Teachers feel a need for more CK training
[Becky]: “I struggle with giving everyone the material and being able to explain it to everyone… I struggle with how to be creative with the programming. I have a problem with trying to make the programs have meaning to them... It is hard to teach. It’s hard knowing how to teach it, how to give it to them… It’s hard to explain. When I look at kid’s codes, they think I should know it… They think that I should know it as soon as I look at it. For the longest time I thought I should, but I don’t have to. I have to study it just like they do. So, I would like some training.”
From Lijun Ni’s 2011 thesis on CS teacher identity
They may find CS inaccessible
[May]: “I think, computer science is more for really, really smart people. I’m not saying I’m smart, but I’m thinking that if I have to go take this Computer Science degree, that it’s going to be really hard, because it’s going to ask a lot of programming questions, syntax questions. I think computer science is a much higher level…”
Phillip Sandler: Measuring Science PCK
What do the most successful science teachers know?
12
StudentsPre-test onscience knowledge
Post-test onscience knowledge
Course
14
StudentsPre-test onscience knowledge
Post-test onscience knowledge
Teachers
Pre-test onscience knowledge
Pre-test predicting what students would get wrong
Course
15
StudentsPre-test onscience knowledge
Post-test onscience knowledge
Teachers
Pre-test onscience knowledge
Pre-test predicting what students would get wrong
Course
Students who had the greatest pre->post
differences had teachers who (a) got the knowledge right and (b) predicting the
most common wrong answers
Students find CS-simple things complex
16
• Brian Dorn found that end-user programmers (CHI 2010) found assignment difficult to learn.
• Dehnadi and Bornat tested understanding of assignment to predict CS1 success.
• Test result couldn’t be replicated (MEC).
• The predicting variable was consistent use of model of assignment.
• Re: Quintin’s talk yesterday.
Common Misconceptions about Assignment
17
• Assignment is a move.
• number1 is now empty.
• Assignment is a swap.
• Assignment is a relationship.
• If we later change number1, number2 will automatically change.
number1 = 14
number2 = number1
Common Misconceptions about Assignment
18
• Assignment is a move.
• number1 is now empty.
• Assignment is a swap.
• Assignment is a relationship.
• If we later change number1, number2 will automatically change.
number1 = 14
number2 = number1 This is not where software
developers focus.
This is exactly where teachers
focus.
#3: CS Teachers Code to Teach
But not always about programming.
19
Long history of teaching with programming
Seymour Papert’s Logo was a “mathland.”
Turtle Geometry could be used to learn about biology, physics, and even Einstein’s special theory of relativity.
Bootstrap, EarSketch, and Performamatics are all examples of a cross-disciplinary approach.
20
How sound works:Acoustics, the physics of sound
Let’s take Susan’s advice:Visualize this in a responsive manner
22
Digitizing Sound: How do we get that into bytes?
Remember in calculus, estimating the curve by creating rectangles?
We can do the same to estimate the sound curvewith samples.
Live coding here
24
Now let’s play with this.
What’s going on here?
27
• Inquiry-based
• Peer instruction and making predictions
• Learning about psychophysics and information and computing…and programming
• Imagineered
Value of live coding
Not the musical form (though that’s cool, too).
Best practice for engaging women (Lecia Barker & NCWIT)
– Shows the details of coding that are often unspoken.
– Shows that even the teacher makes errors.
– Shows how the teacher figures out errors.
Reduces fear of programming and imposter syndrome.
Programming as performance.
28
#4: Identity and Community
We need our teachers to have a sense of identity:
• More professional learning
• Greater retention
• (See ExploringCS retention report.)
Where does that sense of identity come from?
• For CS teachers, from community and role models. (Lijun Ni, 2011)
29
Teachers need their Communities
“I’m a better Math teacher, just because I’ve had so much support. Whenever I have problems, I can talk with the people that I work with, most of who have taught for many years in Math.…Every day, I’m eating lunch with Math teachers.
With Computer Science, I’ve got nobody to talk to.”
30
From Lijun Ni’s 2011 thesis on CS teacher identity
Disciplinary Commons
Group of educators from diverse institutions who teach within the same subject area meeting monthly over an academic year.
In monthly increments, the participants prepare a course portfolio.
Goals1. To document and share knowledge about student
learning in Computer Science classrooms.2. To establish practices for the scholarship of teaching
by making it public, peer-reviewed, and amenable for future use and development by other educators. [1]
[1] Tenenberg, J. and Fincher, S. Opening the door of the computer science classroom: the Disciplinary Commons. SIGCSE Bull., 39, 1 2007, 514-518.
DCCE in Georgia
Disciplinary Commons for Computing Educators
Adaptation – High School teachers AND university
Goals
1. Creating community
2. Sharing resources and knowledge of how things are taught in other contexts
AND…
3. Supporting student recruitment within the high school environment
Work by Briana Morrison, Lijun Ni, RiaGalanos, Allison Elliott Tew
A High School DCCE
Mtg Month Original DC Topic DCCE Schedule
1 Oct
Institutional Context &
personal trajectory into
teaching
Personal trajectory into
teaching
2 Nov Curricular ContextInstitutional Context,
Recruiting
3 Dec Course ContentCurricular Context,
Course Content
4 Jan Instructional Design Instructional Design
5 Feb Student AssessmentTeaching Philosophy,
Reflection Log
6 Mar EvaluationStudent Assessment,
Grading Rubrics
7 Apr
Delivery (including
debrief of peer
observation)
Peer Observation Debrief
8 MayComplete “first draft”
overviewStudent Feedback
9 June Portfolio Presentations Portfolio Presentations
GA specific:GA university computing curricula, HS competitions, field trip possibilities
Building Community
Partnerships Before (PRE) DCCE Partnerships After (POST) DCCE
Overcoming isolation (comments)Feedback, diversity in environments
Improving Recruiting
302% increase in number of AP CS students in the year following their participation in the DCCE
Year of participation – 122 students enrolled
Next year – 491 students pre-registered
One teacher 700% increase (3 to 24 students)
Reason?
1. Platform to share recruitment ideas
2. Sense of community (keep up morale during recruiting)
Conclusions
Computer science teachers’ needs are different from software developers.
• Computer science teachers comment and read, but do little coding.
• Focus is on students, not producing code.
• Computer science teachers know content knowledge, and pedagogical content knowledge, including student misconceptions.
• Computer science teachers care about student learning, and about more than just code.
• Computer science teachers need a sense of identity which often comes from community.
36
Many thanks!
Colleagues: Barbara Ericson, Tom McKlin, Lijun Ni, Briana Morrison, & Brian Dorn
Our Funders:US National Science Foundation– Statewide BPC Alliance: Project “Georgia Computes!”
http://www.gacomputes.org
– Expanding Computing Education Pathways Alliance, http://expandingcomputing.org
– CCLI and CPATH Grants, and now CE21 to produce new media
Georgia’s Department of Education
GVU Center, and Institute for People and Technology (iPaT) at Georgia Tech
Thank you!
http://www.cc.gatech.edu/~mark.guzdial
Lab: http://home.cc.gatech.edu/csl
Institute for Computing Education at Georgia Tech:
– http://coweb.cc.gatech.edu/ice-gt
For more on MediaComp:
http://www.mediacomputation.org
They may find CS inaccessible
[May]: “I think, computer science is more for really, really smart people. I’m not saying I’m smart, but I’m thinking that if I have to go take this Computer Science degree, that it’s going to be really hard, because it’s going to ask a lot of programming questions, syntax questions. I think computer science is a much higher level… When I say computing, I think of computing as being able to operate the computer, … I believe that most students can successfully take and complete Computing in the Modern World, but it takes a little higher level of intelligence to complete the Introduction to Programming “