Posts tagged ‘computer science’

International effort to improve data science in schools

I’ve been involved in this project over the last few months. (Where “involved” means, “a couple of phone conversations, and a set of emails about frameworks, standards, and curricula, and I missed every physical meeting.”) Nick Fisher has drawn together an impressive range of experts and professional societies to back the effort. It’s not clear where it’s going, but it is indicative of a growing worldwide interest in “data science” in schools.

The definition of “data science” is fuzzy for me, almost as fuzzy as the term “computational thinking.”  Does data science include computer science? statistics? probability? I think the answer is “yes” to all of those, but then it might be too big to easily teach in secondary schools. If we’re struggling to teach CS to teachers, how do we teach them CS and statistics and probability?

And if budgets and schedules are are a zero-sum game, what do we give up in order to teach data science?  For example, teacher preparation programs are packed full. What do we not teach in order to teach teachers about data science?

This group of experts knows a lot about what works in data science. Their opinion on what students need to know creates a useful measuring stick with which to look at the several data science classes that are being created (such as Unit 5 in Exploring CS). There’s some talk about this group of experts might develop their own course. I’m not sure that it’s possible to create a course to work internationally — school systems and expectations vary dramatically. But a framework is useful.

The aim of the International Data Science in Schools Project (IDSSP) is to transform the way data science is taught the last two years of secondary school. Its objectives are:

1. To ensure that school children develop a sufficient understanding and appreciation of how data can be acquired and used to make decisions so that they can make informed judgments in their daily lives, as children and then as adults

2. To inspire mathematically able school students to pursue tertiary studies in data science and its related fields, with a view to a career.

“In both cases, we want to teach people how to learn from data,” Dr Fisher said.

Two curriculum frameworks are being created to support development of a pre-calculus course in data science that is rigorous, engaging and accessible to all students, and a joy to teach.

  • Framework 1 (Data Science for students). This framework is designed as the basis for developing a course with a total of some 240 hours of instruction.
  • Framework 2 (Data Science for teachers). As a parallel development, this framework is designed as the basis for guiding the development of teachers from a wide variety of backgrounds (mathematics, computer science, science, economics, …) to teach a data science course well.

Dr Fisher said that the draft frameworks will be published for widespread public consultation in early 2019 before completion by August.

“We envisage the material will be used not just in schools, but also as a valuable source of information for data science courses in community colleges and universities and for private study.” For further information: idssp.info@gmail.com, or visit www.idssp.org

September 17, 2018 at 7:00 am 2 comments

Computer science is the study of computers and all the phenomena surrounding them

One of the common questions in CS education is, “What is computer science?”  I recently looked into the original article in Science that introduced the term in 1967 from Allen Newell, Alan Perlis, and Herbert Simon.  They define computer science as the study of computers and the phenomena surrounding them.

I do see the point that what computer scientists are really interested in is computing, which is separate from computers themselves.  That’s a distinction that is mostly lost on students, though, and is not all that important to emphsize now that computers exist.  We can argue that computer science existed before computers, but that’s a thought experiment.  What we study today is based on the reality that the devices exist.

CMU keeps a library of correspondence from Herb Simon and I found this letter (see link here) interesting because it shows Simon making a similar distinction.  Computers had to exist before computer scientists before we could really define a field:  “A point of our letters was that, whether genuine substance now exists in computer science or not, computers constitute such a rich set of phenomena that it obviously will exist. (In a sense, there had to be plants, then botanists, before there could be botany.)”

There are computers. Ergo, computer science is the study of computers. The phenomena surrounding computers are varied, complex, rich. It remains only to answer the objections posed by many skeptics.

Objection 4. Computers, like thermometers, are instruments, not phenomena. Instruments lead away to their user sciences; the behaviors of instruments are subsumed as special topics in other sciences (not always the user sciences – electron microscopy belongs to physics, not biology). Answer. The computer is such a novel and complex instrument that its behavior is subsumed under no other science; its study does not lead away to user sciences, but to further study of computers. Hence, the computer is not just an instrument but a phenomenon as well, requiring description and explanation.

from What is Computer Science?

February 1, 2016 at 8:03 am 8 comments

Repeatability as a Core Value in March CACM: For Software and Education

Repeatability presumes evidence (which can be repeated).  Computer scientists have not valued evidence and repeatability as much as we need to for rigor and scientific advancement — in education, too.  One of my favorite papers by Michael Caspersen is his Mental models and programming aptitude ITICSE 2007 paper where he and his colleagues attempt to replicate the results of the famous and controversial Dehnadi and Bornat paper (see here).  Michael and his colleagues are unable to replicate the result, and they propose a research method for understanding the differences.  That’s good science — attempting to replicate another’s result, and then developing the next steps to understand the differences.

Science advances faster when we can build on existing results, and when new ideas can easily be measured against the state of the art. This is exceedingly difficult in an environment that does not reward the production of reusable software artifacts. Our goal is to get to the point where any published idea that has been evaluated, measured, or benchmarked is accompanied by the artifact that embodies it. Just as formal results are increasingly expected to come with mechanized proofs, empirical results should come with code.

If a paper makes, or implies, claims that require software, those claims must be backed up.

via The Real Software Crisis: Repeatability as a Core Value | March 2015 | Communications of the ACM.

April 6, 2015 at 8:24 am Leave a comment

The Great Pretender: Turing as a Philosopher of Imitation – Ian Bogost – The Atlantic

“Everyone pretends.”  My favorite piece that I’ve read on Turing in honor of his Centenary. Ian has a wonderful insight into what’s powerful about Turing’s work.

But the computer itself reveals another example of pretense for Turing, thanks to his own theory of abstract computation and its implementation in the device known as the Turing machine. In the form Turing proposed, this machine is a device that manipulates symbols on a strip of tape. Through simple instructions like move forward, erase, write, and read, such a machine can enact any algorithm — and indeed, the design of modern CPUs is based directly on this principle.

Unlike other sorts of machines, the purpose of a Turing machine is not to carry out any specific task like grinding grain or stamping iron, but to simulate any other machine by carrying out its logic through programmed instructions. A computer, it turns out, is just a particular kind of machine that works by pretending to be another machine. This is precisely what today’s computers do–they pretend to be calculators, ledgers, typewriters, film splicers, telephones, vintage cameras and so much more.

via The Great Pretender: Turing as a Philosopher of Imitation – Ian Bogost – The Atlantic.

July 19, 2012 at 2:57 am 1 comment

The challenge of Educational Data Systems

Interesting that creating the Educational Data Systems needed for Race to the Top Reforms are a subset of the Department of Education Grand Challenges mentioned a while back.  Not exactly computing education, but a place where computer scientists have the right skills to help with education reform.

Yet several key reforms in winning states hinge on the effectiveness of those data systems, and judges and outside experts worry states could face some heavy lifting to ensure their data systems keep up with their policy plans.

“There is a heavy data component” in Race to the Top, or RTT, reforms, said Alex M. Jackl, the director of information systems for the Washington-based Council of Chief State School Officers. “There’s hope for some real progress to be made, but there are some challenges and some real risks we’re just going to flush that money down the toilet. Most of the winning states call for a fairly major rewrite or upgrade of their data systems, and most of those states’ systems are not ready for the level of detail required of their data.”

via Education Week: Race to Top Winners Face Data System Challenges.

September 19, 2010 at 2:03 pm Leave a comment

The Utilitarian CS Ed Imperative and HyperCard on the Web

I just discovered TileStack, which is HyperCard on the Web.  Very cool, but the first comment on the introductory stack is something I heard a good bit these last few weeks at my workshops:

Python, for instance, is very easy to pick up.  You might make the argument that it’s much easier to learn Speak [the HyperCard-like language in TileStack], but even if it takes twice as long to learn Python to do the equivalent of making a Stack with Speak, you can at least apply what you learned in many other places other than tilestack.com.  Just seems pointless for people to waste their time learning something that only applies to a single website when they could learn something that they could use for many other applications.

via TileStack – Intro To TileStack – Start Here!.

Based on my experience, most computer science teachers (much more at the undergraduate faculty level than at the high school level!) believe that they only things worth learning in computer science are those that can be used to make applications.

  • As soon as I started teaching about JES and Jython, a set of faculty in every workshop I taught this summer (five workshops, all pretty much full!) asked me, “But how do I build applications?” or “How can I run this outside of JES?”  I explained that this was all possible, but that we don’t teach in the first semester how to build standalone applications.  Several faculty insisted that I show them how to run Jython with our media libraries separate from JES, and were frankly not interested in listening to anything more I had to say unless they could be convinced that what I was showing them could lead to building standalone applications.
  • Several faculty asked me, “But this isn’t Python 3.0, is it?  When will you be covering Python 3.0?”  That one particularly got my goat.  I started responding, “I’m barely covering Python 1.0 in here!  I’m trying to teach computer science with the minimum language features, much less whatever special features are in the latest version of a language!”  That response seemed to carry some weight.

I was really surprised about that.  I hear people regularly decrying the fact that computer science in most states is classified under vocational education.  But it’s certainly the case that many university faculty buy into that model!  I regularly was told by faculty at these workshops that computer science is only worth learning if it leads to job skills and application-building capabilities.  CS education is purely utilitarian, in this model.

Why do we teach people the difference between mitosis and meiosis, or about evolution, or that planets orbit the sun?  None of those are job skills, and they certainly won’t lead to building marketable products.  Isn’t knowing about computer science and one’s virtual world at least as important as understanding this level of detail about the natural world?  I’m going to bet that, if someone were to do a survey, most university faculty don’t really believe in computational thinking, that knowing about computing at some beyond-applications level is important for everyone.

Grumble, grumble…

July 12, 2010 at 11:25 am 4 comments


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 9,004 other followers

Feeds

Recent Posts

Blog Stats

  • 1,875,354 hits
September 2021
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
27282930  

CS Teaching Tips