Posts tagged ‘high school CS’

What universities can do to prepare more Computer Science teachers? Evidence from UTeach

UTeach has published a nice blog post that explains (with graphs!) the ideas that I alluded to in my Blog@CACM post from last month.  While currently CS teacher production is abysmal, UTeach prepared CS teachers tend to stay in their classrooms for more years than I might have expected.  More, there is evidence that suggests that there is significant slice of the CS undergraduate population that would consider becoming teachers if the conditions were right.  There is hope to imagine that we can making produce more CS teachers, if we work from the University side of the equation.  Working from the in-service side is too expensive and not sustainable.

Michael Marder, Professor of Physics and Executive Director of UTeach, and Kim Hughes, Director of the UTeach Institute, write…

The number of computer science and computer science education teachers prepared per year is smaller than for any other STEM subject — even engineering and physics — and while estimates vary, it is safe to say it is on the order of 100 to 200 per year, compared to the thousands of biology or general science teachers prepared. 

The U.S. has around 24,000 public and 10,000 private high schools. Only 10% to 25% have been offering computer science, so to provide all of them with at least one teacher at the current rate simply looks impossible.

Source: What universities can do to prepare more Computer Science teachers

January 5, 2018 at 7:00 am Leave a comment

Prediction: The majority of US high school students will take CS classes online #CSEdWeek

The Washington Post got it wrong when it announced that Virginia is the first state to mandate CS education for all students.  South Carolina has had that mandate for 30 years.  But they couldn’t prepare enough teachers to teach computer science, so they took classes they were already teaching (like “keyboarding”) and counted those as CS classes.

Virginia could fall into the same trap, but I don’t think so.  Instead, I predict that most Virginia high school students will take CS on-line (and that likely goes for the rest of the US, too).  I was struck by how the Richmond-Times Dispatch described the vote to mandate CS (below quoted from here):

The standards, approved unanimously, but reluctantly, by the state Board of Education on Thursday, are a framework for computer science education in the state. Other states have advisory standards, but Virginia became the first to have mandatory standards.

Board member Anne Holton voiced her concern with the grade level appropriateness of the standards before the vote.

“The standards, they seem ambitious to me,” she said. “These are not meant as aspirational standards, they are meant as a mandate that our teachers need to be able to teach.”

“We’re clearly leading the nation and that puts an extra burden on us to get it right.”

Mark Saunders, the director of the Education Department’s Office of Technology and Virtual Learning, led a presentation of the department’s process in adopting the standards.

The presentation satisfied the board enough to vote on the standards rather than delay action until January.

I’m reading between the lines here, but I’m guessing the process went something like this: Board members balked at a statewide mandate because they knew they didn’t have the teachers to support it. There certainly are CS teachers in Virginia, many of them prepared by CodeVA. But not enough to support a statewide mandate. Then they were assured that the Virtual Learning system could handle the load, so they voted for it (“reluctantly” as the article says).

I don’t know that anybody’s tracking this, but my guess is that it’s already the case that most high school students studying CS in the United States are doing it online.  Since we are not producing enough new CS teachers, the push to grow CS education in high schools is probably going to push more CS students online. This is how schools in Arkansas and other states are meeting the requirements for schools to offer CS — simply make the virtual high school CS course available, and you’ve met the requirement. No teacher hiring or professional learning required.  I know from log file analyses that we are seeing huge numbers of students coming into our ebooks through virtual high school classes.

What are the ramifications of this trend?  We know that not everyone succeeds in online classes, that they tend to have much higher withdrawal and failure rates. We know that most people learn best with active learning (see one of my posts on this), and we do not yet know how to replicate active learning methodologies in online classes.  In particular, lecture-based learning (which is what much of online learning attempts to replicate) works best for the most privileged studentsOur society depends on teachers who motivate students to persevere and learn. Does serving high school CS through online classes increase accessibility, or decrease diversity of those who successfully complete high school CS classes?  Will students still be interested in pursuing CS in the future if their only experience is through a mandated online course?  Does the end result of mostly-online high school CS classes serve the goals of high-quality CS education for all students?

 

December 4, 2017 at 7:00 am 1 comment

White House Backs CS for All: Giving Every Student an Opportunity to Learn Through Computer Science For All

I don’t usually blog on a Saturday, but this is huge.

In this week’s address, the President discussed his plan to give all students across the country the chance to learn computer science (CS) in school.  The President noted that our economy is rapidly shifting, and that educators and business leaders are increasingly recognizing that CS is a “new basic” skill necessary for economic opportunity. The President referenced his Computer Science for All Initiative, which provides $4 billion in funding for states and $100 million directly for districts in his upcoming budget; and invests more than $135 million beginning this year by the National Science Foundation and the Corporation for National and Community Service to support and train CS teachers.  The President called on even more Governors, Mayors, education leaders, CEOs, philanthropists, creative media and technology professionals, and others to get involved in the efforts.

Source: Weekly Address: Giving Every Student an Opportunity to Learn Through Computer Science For All | whitehouse.gov

January 30, 2016 at 9:47 am 9 comments

Require CS at Universities before K-12: Building a computational community for everyone

The argument made in Wired is an interesting one, and I partially buy it.  Are high school and elementary schools the right places to teach programming to everyone?  Does everyone at that level need to learn to program?  What are we giving up by teaching coding? Here’s one possible scenario, a negative one but a likely one:  We push CS into K-12 schools, but we can’t get everywhere.  The rich schools are getting it first, so we run out of money so that we get to all rich schools and no poor schools.  Computing education is now making larger the difference between the rich and the poor.

So is it wrong to teach a person to code? No. I don’t deny that coding is a useful skill to have in a modern ubiquitous computing society. It can help people personalize and understand the devices and services they use on a daily basis. It’s also good news that methods for teaching kids how to code are improving and becoming more effective, or that kids can ostensibly learn on their own when left to their own devices. The problem is elevating coding to the level of a required or necessary ability. I believe that is a recipe for further technologically induced stratification. Before jumping on the everybody-must-code bandwagon, we have to look at the larger, societal effects — or else risk running headlong into an even wider inequality gap. For instance, the burden of adding coding to curricula ignores the fact that the English literacy rate in America is still abysmal: 45 million U.S. adults are “functionally illiterate” and “read below a 5th grade level,” according to data gathered by the Literacy Project Foundation. Almost half of all Americans read “so poorly that they are unable to perform simple tasks such as reading prescription drug labels.” The reading proficiency of Americans is much lower than most other developed countries, and it’s declining.

Source: Pushing People to Code Will Widen the Gap Between Rich and Poor | WIRED

Computational literacy is important, and school age is where to develop it. Programming can be a useful medium for learning the rest of STEM, so learning programming early can support later learning.

Eventually. That is the desired end-state.

We should focus on universal computing education in higher-ed before putting CS into K-12 classrooms: The problem is that we’re nowhere near that goal now.  Less than 10% of NYC schools offer any kind of computer science, and less than 10% of US high schools offer AP CS.  I argue that we should require computer science in colleges and universities in the US first, and then in K-12 classrooms, so that the teacher come out of undergraduate already knowing how to program and use it in their classes.  I worry that if we can’t make required computer science happen in higher ed, the costs for getting it into all of K-12 are too large — so only the rich will get it. I worry also about the kinds of arguments we make.  If we can’t make universal computational literacy happen in higher ed, what right do we have to force it on all the high schools and elementary schools?  “This isn’t good for us, but it’s good for you”?

The biggest challenge in growing computing education in K-12 is finding enough teachers.  Programs like TEALS are stop-gap measures.  We need to recruit teachers to meet the needs in NYC.  Most professional development programs are under-subscribed — there are lots of empty seats.  How do we convince teachers to go take extra classes in computing, especially if they’re already an established teacher in some other discipline?  If we taught everyone computing in undergraduate, we’d teach all the pre-service teachers.  We wouldn’t have to do extra in-service professional development.  (Pre-service education is much less expensive to implement than in-service.  In-service teachers get paid to attend workshops. Pre-service is funded by tuition.)

We absolutely should be doing research on how to put computing into K-12 schools. I am concerned about the costs of large scale implementation before we know what we’re doing — both in terms of making it work, and in what happens when it doesn’t.

Literacy starts with community: Situated learning is a theory which explains why people learn.  Students learn to join a community of practice.  They want to be like people that they admire, to adopt their values and practices.  Think about computing education from a situated learning perspective. Let’s imagine that reading has just been invented.  It’s a powerful literacy, and it would be great to teach it to young kids so that they can use it for their whole lives and all their years of schooling.  But if we try to teach it to them before many adults are reading and writing, it comes off as inauthentic.  You can imagine a child thinking, “Why should I learn to read?  The only people who read are monks and professors. I don’t want to be like that.”  If few people read, then few people write.  There’s not even much for the children to read.

I suspect that textual literacy was first learned by adults before it became a school subject.  Adults learned to read and write.  They wrote books and newspapers, and used reading in their daily lives.  Eventually, it became obvious that children should be taught to read.

Today, children don’t see a world of computational literacy.  Children don’t see many adults writing bits of code to do something useful or something beautiful or something enlightening.  You can imagine a child thinking, “Why should I learn to program?  The only people who program are geeky software developers and professors. I don’t want to be like that.  And even if I did want to be like them, the geeky software developers don’t use Scratch or Blockly or App Inventor.” Students today are not immersed in a world of code to explore and learn from. Most programs that are available to study are applications. Studying existing programs today is like learning to read only with legal documents or the Gutenberg Bible. Where are the McGuffy Readers of code, or the Dr Seuss of imaginative programs?  Those would be expected produces from a computationally literate society.  A generation of college-educated programming professionals would help to create that society.

If you want students to gain literacy, place them in a community that is literate.  That’s what Seymour Papert was talking about when he described Logo as a Mathland. We need a community of adults who program if we want children to grow up seeing programming as something natural, useful, and desirable.

The importance of getting it right: I was recently at a meeting for establishing a Framework for K-12 Computer Science Education, and Michael Lach spoke (see a description of him here). He warned curriculum writers and state/district leaders to go slow, to get it right.  He pointed out that if we get it wrong, administrators and principals will decide that “Computing can’t be taught to everyone. It really is just for the geeky white boys.”  And we’ll lose decades towards making computing education available to everyone.  (Lach’s talk was deep and insightful — I’ll say more about it in a future blog post.)  We have to get it right, and it’s better to go slow than to create computing education just for the rich.

November 30, 2015 at 8:10 am 23 comments

Student and Teacher CSP Ebooks are now Available

We now have TWO ebooks supporting CS Principles (see website here) now available — one for teachers and one for students.

Our teacher ebook summer study is now ended. (Announcement about launching the study is here.) We’re crunching the data now. We’ve already learned a lot about what teachers want in an ebook. We learned where our user interface wasn’t obvious, and where we needed to explain more. We learned that teachers expect end-of-chapter exercises. We have used what we have learned so far to produce the two new ebooks.

STUDENT CSP EBOOK: About a year ago, we received additional NSF funding (from the Improving Undergraduate STEM Education (IUSE) program) to develop a student version of our CSP ebook. We have been running participatory design studies and gathering usability surveys from students to get input on what a student ebook should look like. We have now released the first version of the student ebook.

The student CSP ebook is available at http://interactivepython.org/runestone/static/StudentCSP/index.html  It doesn’t require a login, but we recommend that teachers have their students login. Without a login, we store saved answers on the local computer, but if the student logs in, we save the answers by the student’s username.  The course name is StudentCSP.

We recommend that teachers create a custom version of the student ebook for your students.  This allows teachers to customize the ebook, assign homework, and view student’s progress, and even create additional assessments for students.

New Version TEACHER CSP EBOOK: We iterated on our teacher ebook at the same time that we were developing the student ebook. We hypothesize that the student CSP ebook may actually encourage teachers to complete the teacher ebook. We can imagine that teachers who use the student ebook might want to stay one step ahead of the students, e.g., “My students are starting Chapter 3 on Monday, so I better finish Chapter 3 this weekend.”

We have now created a second version of our teacher CSP ebook. This one is in lockstep with the student CSP ebook, includes all the end-of-chapter exercise answers and teacher notes (e.g., on how to teach particular concepts, common student difficulties, etc.). We are not making the second teacher ebook available openly (because it includes answers to the student problems).

Teachers, please contact us at cslearn4u@gmail.com with the name and location of your school, and we’ll send you the URL.

We recommend that teachers create their own course for their students.  See http://interactivepython.org/runestone/static/overview/instructor.html for why a teacher might want to build a custom course and how to do it.

  • You must register on Runestone first at http://interactivepython.org/runestone/default/user/register. Enter StudentCSP as the course name. Be sure to record your username. We find that users often forget what they entered and assume it was their e-mail address — and it may not have been. You can also choose to sign in with your account on Google Plus, Facebook, Twitter, or several others.
  • Then go to http://interactivepython.org/runestone/admin/index and select “Create your own Course”.
  • Create a unique name for your course (use your school name and StudentCSP and year maybe), add a description, and your institution, and then select “CS Principles: Big Ideas in Programming by Mark Guzdial, Barbara Ericson, and Briana Morrison“.
  • Leave the rest as defaults and click the “Submit” button.  This will build a custom version of the student ebook for your students and it will have a unique URL and course name.  You will be listed as the instructor and can look at the log files and view other information on the instructor page (you can get to this by clicking on the icon that looks like a head and shoulders and the top right of your screen when you are in the ebook).

September 25, 2015 at 8:00 am 8 comments

Statistics worrying about losing ground to CS: Claim that CS isn’t worthy

The linked blog post below bemoans the fact that the AP CS is growing, perhaps at the expense of growth in AP Statistics.  AP Stats is still enormously successful, but the part of the post that’s most interesting is the author’s complaints about what’s wrong with CS.  I read it as, “Students should know that CS is not worthy of their attention.”

It’s always worthwhile to consider thoughtful critiques seriously.  The author’s points about CS being mostly free of models and theories is well taken.  I do believe that there are theories and models used in many areas of CS, like networking, programming languages, and HCI. I don’t believe that most CS papers draw on them or build on them. It’s an empirical question, and unfortunately, we have the answer for computing education research.  A recent multi-national study concluded that less than half of the papers in computing education research draw on or build on any theory (see paper here).

Though the Stat leaders seem to regard all this as something of an existential threat to the well-being of their profession, I view it as much worse than that. The problem is not that CS people are doing Statistics, but rather that they are doing it poorly: Generally the quality of CS work in Stat is weak. It is not a problem of quality of the researchers themselves; indeed, many of them are very highly talented. Instead, there are a number of systemic reasons for this, structural problems with the CS research “business model.”

Source: Statistics: Losing Ground to CS, Losing Image Among Students

September 16, 2015 at 7:36 am 7 comments

More diversity and more progress with CS teachers vs just on-line: Code.org

Hadi Partovi of Code.org has a blog post (see here) with data from their on-line classes.  He’s making the argument that classroom teachers are super important for diversity and for student success.

Learning #1: Classrooms progress farther than students studying alone

In the graph below, the X axis is student age, the Y axis is their average progress in our courses. The blue line is students in classrooms with teachers. The red line is students studying without a classroom/teacher.

 

Learning #3: The ethnic backgrounds of students with teachers are impressively diverse

The data below doesn’t come from all students, because (for privacy reasons) we do not allow students to tell us their ethnic background. This chart was collected via an opt-in survey of teachers in the U.S. offering our courses, and as such is susceptible to inaccuracy. The picture it paints helps confirm our thesis that by integrating computer science into younger-aged classrooms in public schools, we can increase the diversity of students learning computer science.

February 25, 2015 at 8:03 am 5 comments

Older Posts


Recent Posts

February 2018
M T W T F S S
« Jan    
 1234
567891011
12131415161718
19202122232425
262728  

Feeds

Blog Stats

  • 1,477,530 hits

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

Join 5,219 other followers

CS Teaching Tips