Posts tagged ‘science education’
This is a really cool announcement. I believe that computing helps with all kinds of STEM learning, and admire the work at Northwestern on Agent Based Learning in STEM, Project GUTS, and Bootstrap. It’s particularly important for getting CS into schools, since so few schools will have dedicated CS teachers for many years yet (as described here for Georgia). I’m excited to see that Bootstrap will be moving into Physics as well as Algebra.
Bootstrap, one of the nation’s leading computer science literacy programs, co-directed by Brown CS faculty members Shriram Krishnamurthi and Kathi Fisler (adjunct), continues to extend its reach. Bootstrap has just announced a partnership to use its approach to building systems to teach modeling in physics, an important component of the Next Generation Science Standards (NGSS). This project is a collaboration with STEMTeachersNYC, the American Association of Physics Teachers, and the American Modeling Teachers Association.
The August issue of Communications of the ACM (see here) includes a paper in the Viewpoints Education column by Uri Wilensky, Corey E. Brady, and Michael S. Horn on “Fostering Computational Literacy in Science Classrooms.” I was eager to get Uri’s perspective on CS education in high schools into the Viewpoints column after hearing him speak at the January CS Education Research workshop.
Uri suggests that the best way to get computational literacy into high schools is by adding computer science to science classes. He’s done the hard work of connecting his agent-based modeling curriculum to Next Generation Science Standards. In Uri’s model, Computer Science isn’t a “something else” to add to high school. It helps science teachers meet their needs.
Uri isn’t the only one pursuing this model. Shriram and Matthias suggested teaching computer science through mathematics classes in CACM in 2009. Bootstrap introduces computer science at the middle school level as a way to learn Algebra more effectively. Irene Lee’s GUTS (“Growing Up Thinking Scientifically”) introduces computation as a tool in middle school science.
In most states today, computer science is classified as a business/vocational subject, called “Career and Technical Education (CTE).” There are distinct advantages to a model that puts CS inside science and mathematics classes. Professional development becomes much easier. Science and mathematics teachers have more of the background knowledge to pick up CS than do most business teachers. CS becomes the addition of some modules to existing classes, not creating whole new classes.
It’s an idea well worth thinking about. I can think of three reasons not to pursue CS through math/science model, and the third one may be a show-stopper.
(1) Can science and math teachers help us broaden participation in computing? Remember that the goal of the NSF CS10K effort is to broaden access to computing so as to broaden participation in computing. As Jane Margolis has noted, CTE teachers know how to teach diverse groups of students. Science and mathematics classes have their own problems with too little diversity. Does moving CS into science and mathematics classes make it more or less likely that we’ll attract a more diverse audience to computing?
(2) Do we lose our spot at the table? I’ve noted in a Blog@CACM post that there are computer scientists annoyed that CS is being classified by states as “science” or “mathematics.” Peter Denning has argued that computer science is a science, but cuts across many fields including mathematics and engineering. If we get subsumed into mathematics and computer science classes, do we lose our chance to be a peer science or a peer subject to mathematics? And is that going against the trend in universities? Increasingly, universities are deciding that computer science is its own discipline, either creating Colleges/Schools of CS (e.g., Georgia Tech and CMU) or creating Colleges/Schools of Information/Informatics (e.g., U. Washington, U. Michigan, Drexler, and Penn State).
(3) Do we lose significant funding for CS in schools? Here’s the big one. Currently, computer science is classified as “Career and Technical Education.” As CTE, CS classes are eligible for Perkins funding — which is not available for academic classes, like mathematics or science.
I tried to find out just how much individual schools get from Perkins. Nationwide, over $1.2 billion USD gets distributed. I found a guide for schools on accessing Perkins funds. States get upwards of $250K for administration of the funds. I know that some State Departments of Education use Perkins funding to pay for Department of Education personnel who manage CTE programs. To get any funding, high schools must be eligible for at least $15K. That’s a lot of money for a high school.
The various CS Education Acts (e.g., on the 2011 incarnation and on the 2013 incarnation) are about getting CS classified as STEM in order to access funding set aside for STEM education. As I understand it, none of these acts has passed. Right now, schools can get a considerable amount of funding if CS stays in CTE. If schools move CS to math and science, there is no additional funding available.
Perkins funding is one of the reasons why CS has remained in CTE in South Carolina. It would be nice to have CS in academic programs where it might be promoted among students aiming for college. But to move CS is to lose thousands of dollars in funding. South Carolina has so far decided that it’s not in their best interests.
Unless a CS education act ever passes Congress, it may not make economic sense to move CS into science or mathematics courses. The federal government provides support for STEM classes and CTE classes. CS is currently in CTE. We shouldn’t pull it out until it counts as STEM. This is another good reason to support a CS education act.
After the NCWIT Summit, we had two days of meetings with ECEP State Partners and our Advisory Board, hosted by Debra Richardson at the University of California at Irvine. Then, Barbara and I got a chance to visit with Alan Kay for a few hours on Friday. As always, we came away with pages of notes and a long list of things to read and think about. All of these meetings were productive and interesting, but the next stage on our California adventure has had me thinking about how we teach hard science and hard computer science.
A former student at Georgia Tech and one of the first MediaComp Teaching Assistants, Jim Gruen, now works at SpaceX. He invited Barb and I to come up for a tour. We rented a car and drove to Hawthorne.
Barb at SpaceX
What an amazing place! The front third of the building are where the 40 programmers (“Everything is software,” Jim told us) sit with other engineers and developers. The back 2/3’s of the building is the factory floor where rockets are assembled. As you walk onto the floor, there is mission control to your right, and above your head is the actual Dragon capsule that first docked with the International Space Station. It is an inspiring sight as you walk onto the factory floor.
We saw rockets being built! Jim showed us where engines are being assembled into racks, where carbon composites are molded into parts, where detailed metal parts are made with 3-D (metal!) printers, and where the parts of the fuel tanks are welded together then painted. We saw the shop where they’re making prototype space suits. We saw via live video stream (on a giant TV on the wall of the developers’ floor) the amazing Dragon Taxi that was just recently unveiled. We saw lots of people (mostly men, unfortunately) working to build a future where humans are space-faring.
I was deeply impressed. SpaceX has a corporate goal to put human beings on Mars. What a noble goal! (Perhaps we could compare that to a corporate goal of, say, getting more people around the world to drink fizzy, flavored sugar-water?)
Jim does kernel-level hacking. He works on the boot sequence for the flight computer, networking, and device drivers. He showed us his current project. He is integrating in the module responsible for firing the rocket that will pull the astronauts off of the rocket in case there is an explosion during take-off.
I left the SpaceX feeling like I just had a glimpse of the future. The discussions when I tell people about our visit have had me thinking about how we prepare students for that future.
SpaceX is exciting and motivating to everyone I’ve talked to. Admittedly, I tend to hang out with people interested in science and engineering. Our daughters were jealous that we got to visit SpaceX. The other night, my 16 year old daughter had a girlfriend over for dinner, and the friend had questions for me about SpaceX. I was shocked — my teenage daughter is telling her female friends stories about her parents’ adventures?!? All the undergraduate and graduate students that I have told about SpaceX were impressed and had questions about our visit, both male and female students.
I do believe in the literature that suggests that women are socialized to be motivated to help people, and that efforts like service learning can motivate women to study CS. That’s part of the motivation for efforts like HFOSS. Many people are asking the question why women aren’t pursuing the “hard sciences.”
Maybe we’re using the wrong context in the hard sciences. Many people (not just women) don’t get too excited about physics, chemistry, and engineering. Everyone I’ve talked to is very excited about SpaceX. Working at SpaceX requires lots of “hard science.” The stuff that Jim is doing is low-level and geeky — rebuilding the Linux kernel stuff. My kids are still fascinated about it. Maybe women and other students would be more excited about science if the connection was made to end goals like SpaceX and to helping get humans onto other planets.
Computer science is not that difficult but wanting to learn it is.
Maybe that goes for “hard science,” too. SpaceX is a great reason to want to learn a lot of “hard science.”
Postscript: I told my daughters about this blog post. One daughter said, “We’ve both been to Space Camp (in Huntsville). Space Camp would be great except for that one annoying guy who always thinks he knows everything and wants to tell everyone all about it.” The other daughter agreed. Context is important, but we have to get the social stuff right, too.
Here’s an interesting project that could really get at generalizable “computational thinking” skills:
Wilkerson-Jerde’s research project will explore how young people think and learn about data visualization from the perspective of a conceptual toolkit. Her goals for “DataSketch: Exploring Computational Data Visualization in the Middle Grades” are to understand the knowledge and skills students bring together to make sense of novel data visualizations, and to design tools and activities that support students’ development of critical, flexible data visualization competence.
“Usually when we think of data visualization in school, we think of histograms or line graphs. But in contemporary science and media, people rely on novel, interactive visualizations that tell unique stories using data,” she explains.
Carl Weiman has accepted a position at Stanford to focus on science teaching. It’s a great place for him, and I expect that we’ll hear more interesting things from him in the future. One aspect of the story that I find particular interesting is Weiman’s dislike of MOOCs, and how that conflicts with the perspective of some of the MOOC advocates at Stanford.
Mr. Wieman left the White House last summer, after receiving a diagnosis of multiple myeloma and after spending two years searching for ways to force universities to adopt teaching methods shown through scientific analysis to be more effective than traditional approaches.
His health has improved, Mr. Wieman said in an interview last week. But rather than try again through the political process to prod universities to accept what research tells them would be better ways of teaching and retaining students in the sciences, he now hopes at Stanford to work on making those methods even better.
I’m going to Michigan State University on Wednesday July 10 through Friday August 12. On the 10th, I’m visiting with colleagues whom I knew in Education at the University of Michigan (Bob Geier and Joe Krajcik) and giving a brownbag talk. I’m really looking forward to hanging out with Education folks for the day. I’ve just learned that Danny Caballero has moved to MSU, so I’m hoping to meet up with him, too. On Thursday and Friday, I’m attending a workshop on integrated engineering education. Since I used to do work like that, and haven’t done much in Engineering Education in years, I thought it would be fun and interesting — something I might want to get involved in again. Plus, it was a great chance to get back ‘home’ to Michigan.
The day after I get back, we are heading off to Boston and the CSTA Conference in Quincy, Massachusetts. We are holding an ECEP Day on Sunday July 14, to connect with CSTA Chapter Leaders and Leadership Cohort in the states where we’re working. On Monday, July 15, I’m just hanging out at the CSTA Conference, so if you’re there, I hope you will stop by the ECEP table and visit!
Inquiry-based learning is the best practice for science education. Education activities focus on a driving question that is personally meaningful for students, like “Why is the sky blue?” or “Why is the stream by our school so acidic (or basic)?” or “What’s involved in building a house powered entirely by solar power?” Answering those questions leads to deeper learning about science. Learning sciences results support the value of this approach.
It’s hard for us to apply this idea from science education and teach an introductory computing course via inquiry, because students may not have many questions that relate to computer science when they first get started. Questions like “How do I make an app to do X?” or “How do I use Snap on my laptop?” are design and task oriented, not inquiry oriented. Answering them may not lead to deeper understanding of computer science. Our everyday experience of computing, through (hopefully) well-designed interfaces, hides away the underlying computing. We only really start to think about computing at moments of breakdown (what Heidigger called “present-at-hand”). “Why can’t I get to YouTube, even though the cable modem light is on?” and “How does a virus get on my computer, and how can it pop up windows on my screen?” It’s an interesting research project to explore what questions students have about computing when they enter our classes.
I realized this semester that I could prompt students to define questions for inquiry-based learning in a second computer science class, a data structures course. I’m teaching our Media Computation Data Structures course this semester. These students have seen under the covers and know that computing technology is programmed. I can use that to prompt them about how new things work. What I particularly like about this approach is how it gets me out of the “Tour of the Code” lecturing style.
Here’s an example. We had already created music using linked lists of MIDI phrases. I then showed them code for creating a linked list of images, then presented this output.
I asked students, “What do you want to know about how this worked?” This was the gamble for me — would they come up with questions? They did, and they were great questions. “Why are the images lined up along the bottom?” “Why can we see the background image?”
I formed the students into small groups, and assigned them one of the questions that the students had generated. I gave them 10 minutes to find the answers, and then report back. The discussion around the room was on-topic and had the students exploring the code in depth. We then went through each group to get their answers. Not every answer was great, but I could take the answer and expand upon it to reach the issues that I wanted to make sure that we highlighted. It was great — way better and more interactive than me paging through umpteen Powerpoint slides of code.
Then I showed them this output from another linked list of images.
Again, the questions that the students generated were terrific. “What data are stored in each instance such that some have positions and some are just stacked up on the bottom?” and “Why are there gaps along the bottom?”
Still later in the course, I showed them an animation, rendered from a scene graph, and I showed them the code that created the scene graph and generated the animation. Now, I asked them about both the animation code and the class hierarchy that the scene graph nodes was drawing upon. Their questions were both about the code, and about the engineering of the code — why was it decomposed in just this way?
(We didn’t finish answering these questions in a single class period, so I took pictures of the questions so that I could display them and we could return to them in the next class.)
I have really enjoyed these class sessions. I’m not lecturing about data structures — they’re learning about data structures. The students are really engaged in trying to figure out, “How does that work like that?” I’m busy in class suggesting where they should look in the code to get their questions answered. We jointly try to make sense of their questions and their answers. Frankly, I hope to never again have to show sequences of Powerpoint slides of code ever again.