Posts Tagged high school CS
What would a CS School of One look like?
Each day, students in the School of One are given a unique lesson plan — a “daily playlist” — tailored to their learning style and rate of progress that includes a mix of virtual tutoring, in-class instruction and educational video games.
via The School of One – The 50 Best Inventions of 2009 – TIME.
If one wanted to do this for an introductory computer science course, what would we do? What variables do we have available to tailor computing instruction to the individual student? For example, do we know anything about learning styles for CS?
Here’s a particular version of that question that says something about the state of computing education: How do you help the student needing remediation? If you have a student not doing well, what options do you have to help that student learn and catch up?
My sense is: Not many. Most of our instructional repertoire in introductory computer science consists of material that students read (textbooks, PowerPoint slides), lecture sessions, and having students practice in front of an IDE. What other options do we have?
- Tutoring sessions, particularly with peer-led team learning, could be added to support students who are falling behind. Essentially, the variable here is “More teacher time.”
- Changing the pace, though the answer for remediation isn’t obvious. Would you give the students more time per programming assignment? Fewer assignments? Smaller programming assignments? More but smaller? Since we know that lower-performing students take more time per assignment, it’s not clear if it’s more help to give them more time, or make the assignments smaller (easier?), but maybe more of them to provide more practice.
- We could provide students with visualizations, but most of the results I’ve seen suggest that visualizations help the high-ability students to learn more, but they actually hurt low-ability students.
- We have a set of tools that we know are easier to get started with (e.g., Scratch, Alice, Etoys), but they may not be much help once a student has started with a more traditional course and language (Python, Java, C++) and now needs help. I guess that, if a student was struggling with (say) IF statements in C++, you might use IF statements in Alice to help teach the concept. However, the overhead of learning Alice mid-course might be greater than the benefit, and might really frustrate the student (e.g., “I’m trying to understand C++! Why does learning Alice help me with that?!?”).
- There are some tools like JEROO and iList that look like the languages that students are study and have helped students. We could use more tools like these.
In other disciplines, there are remediation options. For disciplines from English to Chemistry, there are Cliff notes, study guides, educational software, and instructional videos. Some of these exist for CS, but there’s not much. For most subjects, you can always fall back on re-learning the prerequisites. For example, if you’re having trouble with high school mathematics, there are lots of K-8 mathematics materials that one can fall back on. We don’t have that bench strength that other disciplines enjoy. CS instruction in high schools doesn’t look that different from CS instruction in colleges, in terms of materials and methods used.
I think that this is another example of how our educational practices in CS are aimed at the top half of the students. The problem is that if you aim for the top half, you lose the bottom half. However, if we aimed for the bottom half, everyone would learn, even if the top half were not as challenged. Yes, we’d prefer to challenge everyone. But thinking about a CS School of One has me thinking about how we would change how we teach to address the bottom half of students.
6 comments November 20, 2009
Latest: GaDoEd says Science Yes, Math No
We just got word that the Georgia Department of Education will count AP CS as a science credit towards high school graduation, but not as a math. The University System of Georgia, however, will count AP CS as either a math or science towards admissions requirements. No word on why the difference, or even how the decision was made, but at least we’re no worse off than we were — and maybe even a bit better.
Add comment November 18, 2009
Georgia Board of Regents accepts APCS as “counting”
Just found a great piece of email in my (massive!) unread pile from the Board of Regents of the University System of Georgia.
Here’s the latest on the AP CS. After much thought and discussions on the AP CS course, we have decided to accept the AP CS course as a 4th course for admission to the USG institutions. However, the course will be listed in a separate category.
To follow up…..I do have a question for you. Would it be helpful to the students and our institutions if the AP CS course was to be accepted as a fourth science course only, or as a fourth science OR math course? We would like to do what’s best for the students and our institutions.
This could hardly be a better answer for us. Computing is something different, so it gets a new category. Of course, yes, we have asked for the “science OR math” option — which also matches with the understanding that computing has aspects of both, and helps students with either.
There’s another step yet. This is the University saying, “This will count for University admissions.” Next, the Georgia Department of Education has to say, “And we’ll count that for high school graduation.” Normally, that should be nearly automatic, but creating a whole new category of courses may take some more convincing. We’ll keep you informed.
2 comments November 5, 2009
Scratch and more CS Ed in this month’s CACM
The November 2009 Communications of the ACM is a great one for computing education folks. The cover article is on Scratch (with a hypothetical and cool “Minority Report” inspired interface on the cover). The editor-in-chief, Moshe Vardi, asks the question, “Is the Image Crisis Over?” Has the undergraduate enrollment crisis ended? In the BLOG@CACM section, Ramana Rao talks about how MIT’s computer science curriculum has developed over the years and how that should influence high school CS curriculum.
(Folks, I’m preparing for my trip to Informatics Education Europe this week, and will be at the conference next week, so please excuse a paucity of posts.)
Add comment October 26, 2009
Update on counting CS for high school graduation requirements in Georgia
I had a half-hour conversation this morning with the person in the Georgia Board of Regents who runs the science course review process. It was her committee that put the AP CS on the rejected list. Fortunately for us, it was never put through a full review (she and her leadership team rejected it), so there is a bureaucratic loophole through which we can ask for a re-review. She has promised to send it out to her full faculty review committee “sometime this week,” and to cc me so that I can make an argument to that committee. I plan also involve the University System of Georgia’s “Academic Advisory Committee on the Computing Disciplines” (representatives of every campus in the USG that has a computing department) to make one-on-one arguments to the members of the review committee.
She also promised to request that AP CS get reviewed by the mathematics committee, to see if it might count as an alternative fourth math. We tried this a couple years ago and were rejected. Times change, though, and we can try again.
The arguments against AP CS are predictable: “It’s just not a science” and “It’s more of a technology class.” When I argued that AP CS has science practices (hypothesizing, testing models, evaluating results), even if the content is the virtual world not the physical world, she explicitly said that that it’s then not a science. She explained how her faculty review committee considers what courses count. “These science faculty ask, ‘Will taking this class in high school make a difference when these students get to my undergraduate science classes?” Well, that’s a really high bar, and one that we’re unlikely to meet, since all those faculty are in traditional science classes. Why should taking AP CS make performance in undergrad biology or chemistry better?
60 comments October 19, 2009
How do we make high school CS classes more “real”?
I started working on a reply to Alan Kay’s comment on my previous blog post, and as it got longer with more links, I realized I should just use blog-owner’s prerogative and make a new post. The issue we were discussing was how to make the case that the AP CS should count as a course that fulfills the “science” requirement in Georgia. I commented:
Barb and I were just talking last night about the issue you raised, that the AP CS curriculum doesn’t look like a science. In the argument that I offered to the GaDOE, Computer Science classes have a lot of science practices (even if the content is not easily recognized as science by a traditional scientist), such as developing hypotheses, experimentation, and analysis of results. However, most CS curricula (including AP CS) do not make those connections between debugging and the scientific method explicitly.
Alan replied that he’d like to see more “real science” in these classes.
While pretty much agreeing with your comments, I think the real issue is a much deeper epistemological one — and is a problem not just in computer “science” but in the teaching of most high school and many college “real sciences” which have deep models as the representations for their theories (e.g. physics, chemistry, biology).
In the “real deal” it’s not so much about “hypotheses, experiments, analysis” (the standard elementary school characterization of science) as it is about the goodness and depth of the mapping between the observations and the model (in the standard characterization of science, this could be thought of as real thresholds in what “analysis” actually should mean).
So, how do we make that happen? How do we get the “real deal” into high school classes?
My suggestion is that this doesn’t happen by making the argument for “real” classes at the state level. The job of the Georgia Department of Education Science Committee is, explicitly, to ask if any individual class “aligns with the GPS science standards, and/or the national science standards.” State standards are not re-written all that often, and Georgia just rewrote theirs. Take a look at a given set of science standards, like those for high school Chemistry. There you see terms like “hypotheses, experiments, analysis.” Terms like “modeling” and “mapping” don’t appear at all.
How do we get a modeling and mapping focus in these classes? Georgia (probably like most states) takes their lead from national authorities, like the American Association for the Advancement of Science standards “Science for All Americans.” Take a look at what AAAS says about how to teach science — it’s a pretty close match to what Georgia has in their standards. Nothing about modeling or mapping there, either.
The suggestion that I’m making is, if you want to get science classes to change, to make them more “real,” get the National Academies, or AAAS, or similar respected body to issue a report. Larry Snyder’s NRC report on “Information FITness” gets cited a lot when discussing what students need to know about computer science. It’s hard to make the case at the State level, because people within the State look outside the State for evidence. These kinds of national reports make a difference.
Now, how do you get CS classes to be more “real”? One way is by changing the Advanced Placement class, as NSF is trying to do. Another way might be to use the same strategy as for Science — get the recognized authorities to come out with a statement, a report that says, “Here’s what real Computing Education should look like.”
My own opinion is that radical change is not going to come out of the ACM/IEEE curriculum standards process. I was part of the committee for the CS 2008 standards update. It is hard to get a dramatic and powerful statement for change out of that process. We’re in a challenging stage in our field — we’ve got lots of ideas, and few measures for determining which is better than the other.
There were easily a half dozen new approaches to teaching CS that were vying to get a mention (better yet, a recommendation) in the new curricular volume. How do you decide? We have no reliable and valid measures of computing knowledge that cross approaches and languages. We as a field can’t even agree on the learning objectives. We on the committee tried to come up with some measure about usage and peer-review, but even that was insufficient. If three schools do kinda the same thing and the approach got mentioned in a software engineering conference article, does that count? Maybe it should — do we have a better standard? To list everything is no recommendation or guidance at all. One of the criticisms of CC2001 was that it recommended a half dozen approaches for CS1 already. I pushed to get some of those off the list — don’t we have evidence that some of these aren’t really all that effective? The push back was similar. “How do we really know that these don’t work?” and “We know friends who use those approaches. How can we say in this volume that they don’t work?” The result is that the volume reflects the least common denominator curriculum, which is useful for describing current accepted best practice, but it’s not a forward-looking statement of what should be.
Seymour Papert in his book The Children’s Machine argued that part of what happened to Logo was school. School has a process of compartmentalizing and turning new ideas into standard curricula. We can argue that this is wrong (and Seymour did in his book), but it is the reality. I am describing here the process (as I understand it now, incomplete as that understanding is) of how one achieves curricular change at the secondary level — you show how you can meet the existing standards, or you push to get the standards re-written, with the most leverage coming from authoritative statements at the national level. It’s hard work, but as Seymour points out, that’s how the system keeps from thrashing. The system is designed to make it hard to change the system.
1 comment October 19, 2009
“Constant Vigilance!”: Working for Computing Education in Georgia
It’s been a rough week for “Georgia Computes!” and our work to promote computing education in Georgia.
One of the things that Barb Ericson (a co-PI on our project, the Director of CS Outreach for the College of Computing, my co-author, and my wife) helped establish is an endorsement (a kind of certification) in computer science for high school teachers. Last week, Barb got bad news from one of the teachers she works with. The Georgia Professional Standards Commission website had been updated to explain that the endorsement does not allow a high school teacher to teach computer science classes, but to “run computer labs.” Barb talked to her contacts at Georgia PSC all this week, trying to get that corrected. Finally, they agreed that it was a mistake, and it would get fixed. No word on how the erroneous information got posted.
Then, two days ago, Barb got word from one of her high school teachers that the Georgia Department of Education had announced that AP Computer Science would no longer count towards high school graduation requirements. Until last month, Georgia and Texas were the only two states in the US who let students use AP CS credit towards graduation, a significant incentive to take AP CS. Both Barb and I have working with our contacts in all the various organizations the last two days trying to find out what happened.
Here’s the story, best as we can tell so-far. Georgia has one public University System, with one Board of Regents. The Board of Regents recently refined their standards for admission to the system, and worked with the Georgia Department of Education to make sure that what GaDoE required for graduation met what the BoR was requiring for admission. One of the particular areas of focus was the Career, Technical, and Agricultural Education (CTAE) Division classes. There was some serious concern in both the BoR and GaDoE that some of those classes shouldn’t really count as a “Science” course for the “fourth science class requirement” of graduation and admissions. For better or worse, computer science in Georgia is part of CTAE. It was CTAE that announced that AP CS would no longer count towards meeting that requirement.
Now, the Board of Regents is telling us that AP CS was never even brought up for review. They are willing to review it, and they are investigating this next week. We just heard today from a contact with the Science Committee of the Georgia Dept of Ed that “Computer Science is only a ’science’ in that the word is in its name.” The Department of Education may not have brought AP CS up for review, because their Science Committee didn’t want it to count as a science towards graduation. We’ll learn more this week, as the BoR checks to see if AP CS was on its review list, and then starts their own review of AP CS curricula to decide if it should count.
For right now, it doesn’t count. As of October 1, only Texas counts any computer science towards high school graduation requirements. Georgia has backslid.
I keep thinking about Mad Eye Moody in the Harry Potter series of books by J.K. Rowling. “Vigilance! Constant Vigilance!” he would demand of all those fighting against the Dark Wizards. It feels like that’s what we have to do in “Georgia Computes!” to make sure that computing education keeps progressing, and doesn’t backslide. Fortunately, Barb has her own “Order of the Phoenix,” in her network of teachers who let her know of any sign of trouble. It really shouldn’t be this hard, should it?
6 comments October 16, 2009
Playing Wack-a-Mole with State CS Ed Policy
Cameron Wilson has a nice piece in Blog@CACM about trying to defend computer science courses in Kansas. Since it’s each-state-for-itself, he likens it to play “wack-a-mole” to address problems in all of CS Education in the States.
Add comment October 1, 2009
Operation Reboot: Georgia Tech Looks To Shift Unemployed IT Pros into Teaching Careers — THE Journal
The AP picked up a story about Barbara’s new Operation Reboot project, and it’s popping up in lots of places now: Georgia Tech Looks To Shift Unemployed IT Pros into Teaching Careers — THE Journal.
The particularly brilliant part of Barbara’s plan, which isn’t getting picked up in the stories very well, is that she’s putting the unemployed IT workers into the classroom as soon as possible to team-teach with a business teacher who wants to learn how to be a computing teacher. Both team teachers want to become computing teachers: One knows IT and wants to learn how to be a teacher, and the other is a teacher who wants to learn IT. The result isn’t just 30 new high school CS teachers. It’s 60 well-trained teachers. Very cool.
1 comment September 26, 2009
What if computer science was required?
I’m at the ACM Education Council meeting in Vancouver this weekend. One of the topics of conversation is whether the ACM should push to make computer science a required subject in US high schools. The argument is that computing education will only be taken seriously (e.g., receive funding, get teacher certifications and standard curricula, get treated well by No Child Left Behind) if it was a required subject, like other sciences and mathematics.
I finally did read Lockhart’s Lament that Ian Bogost talked about in his recent blog post. Lockhart’s essay starts out with a painter and a musician having horrible nightmare’s about their subjects becoming “required” and how that meant draining all life out of the subject until it was an easily taught and easily measured husk of a subject. Lockhart’s point is that this is exactly what has happened with mathematics. I found his essay interesting, but ultimately, defeatist and even narcissistic. Lockhart complains about how badly his beloved mathematics is treated. Yet he offers no way out, no solutions for balancing the demands of compulsory education at a national scale and the desire to keep the art and soul of mathematics. His despise for teachers and education schools makes it unlikely that his arguments will have any sway with them in making things better.
Still, I think he raises excellent points to consider for computing education. I work on the Commission to design the new AP exam in Computer Science, and it’s hard to define the test scope and range exactly enough to make a standardized test, and yet still encourages students to explore and be creative with computing. If computer science were made a mandatory subject, it would have to be dissected and classified and standardized even further. Would a computer science requirement be the death of the “Beauty, Joy, and Awe” (in terms of the popular SIGCSE presentations) of computer science? Is it a necessary process that defining a subject in NCLB terms means reducing it to a husk of its former self? How can we teach teachers to meet the standards and still ensure that what’s interesting about computing remains — even if we can’t come up with an observable standard that would demonstrate that “students find computing creative and fun”?
24 comments September 26, 2009