Posts tagged ‘university CS’

Workshops for New Computing Faculty in Summer 2018: Both Research and Teaching Tracks

This is our fourth year, and our last NSF-funded year, for the New Computing Faculty Workshops which will be held August 5-10, 2018 in San Diego. The goal of the workshops is to help new computing faculty to be better and more efficient teachers. By learning a little about teaching, we will help new faculty (a) make their teaching more efficient and effective and (b) make their teaching more enjoyable. We want students to learn more and teachers to have fun teaching them. The workshops were described in Communications of the ACM in the May 2017 issue (see article here) which I talked about in this blog post. The workshop will be run by Beth Simon (UCSD), Cynthia Bailey Lee (Stanford), Leo Porter (UCSD), and Mark Guzdial (Georgia Tech).

This year, for the first time, we will offer two separate workshop tracks:

  • August 5-7 will be offered to tenure-track faculty starting at research-intensive institutions.
  • August 8-10 will be offered to faculty starting a teaching-track job at any school, or a tenure-track faculty line at a primarily undergraduate serving institution where evaluation is heavily based in teaching.

The new teaching-oriented faculty track is being added this year due to enthusiasm and feedback we heard from past participants and would-be participants. When I announced the workshops last year (see post here), we heard complaints (a little on email, and a lot on Twitter) asking why we were only including research-oriented faculty and institutions. We did have teaching-track faculty come to our last three years of new faculty workshops that were research-faculty focused, and unfortunately those participants were not satisfied. They didn’t get what they wanted or needed as new faculty. Yes, the sessions on peer instruction and how to build a syllabus were useful for everyone. But the teaching-track faculty also wanted to know how to set up their teaching portfolio, how to do research with undergraduate students, and how to get good student evaluations, and didn’t really care about how to minimize time spent preparing for teaching and how to build up a research program with graduate students while still enjoying teaching undergraduate students.

So, this year we made a special extension request to NSF, and we are very pleased to announce that the request was granted and we are able to offer two different workshops. The content will have substantial overlap, but with a different focus and framing in each.

To apply for registration, To apply for registration, please apply to the appropriate workshop based on the type of your position: research-focused position http://bit.ly/ncsfw2018-research or teaching-focused position http://bit.ly/ncsfw2018-teaching. Admission will be based on capacity, grant limitations, fit to the workshop goals, and application order, with a maximum of 40 participants. Apply on or before June 21 to ensure eligibility for workshop hotel accommodation. (We will notify respondents by June 30.)


Many thanks to Cynthia Lee who helped a lot with this post

June 12, 2018 at 6:00 am Leave a comment

What Universities Must Do to Prepare Computer Science Teachers: UTeach leads a multi-university group to grow computing education

Kimberly Hughes, Director of the UTeach Institute at The University of Texas at Austin has written a blog post about a multi-university effort to grow CS education. They have an interesting set of recommendations. I look forward to seeing the white paper that the blog post promises!

In-service teacher professional development has been key to the explosive growth of K–12 CS education offerings, but the role of universities in the preparation of computer science teachers is absolutely critical if we are going to address the current shortage of CS teachers at scale and with any kind of lasting impact. Yet there are precious few exemplars on which to model new programs. Partly this has been a chicken and egg problem. For example, the UTeach program at UT Austin has had an undergraduate pathway to CS certification for more than ten years. But with so little demand for CS teachers at secondary schools throughout the state, very few students were recruited and prepared. Now that the demand for CS teachers is increasing, UTeach Austin and other UTeach partner universities are ramping up and expanding their efforts.

Source: What Universities Must Do to Prepare Computer Science Teachers: Networked Improvement in Action

February 23, 2018 at 7:00 am 5 comments

How to be a great (CS) teacher from Andy Ko

Andy Ko from U-W is giving a talk to new faculty about how to be a great CS teacher.  I only quote three of his points below — I encourage you to read the whole list.  Andy’s talk could usefully add some of the points from Cynthia Lee’s list on how to create a more inclusive environment in CS.  CS is far less diverse than any other STEM discipline.  Being a great CS teacher means that you’re aware of that and take steps to improve diversity in CS.

My argument is as follows:

  • Despite widespread belief among CS faculty in a “geek gene”, everyone can learn computer science.
  • If students are failing a CS class, it’s because of one or more of the following: 1) they didn’t have the prior knowledge you expected them to have, 2) they aren’t sufficiently motivated by you or themselves, 3) your class lacks sufficient practice to help them learn what you’re teaching. Corollary: just because they’re passing you’re class doesn’t mean you’re doing a great job teaching: they may already know everything you’re teaching, they may be incredibly motivated, they may be finding other ways to practice you aren’t aware of, or they may be cheating.
  • To prevent failure, one must design deliberate practice, which consists of: 1) sustained motivation, 2) tasks that build on individual’s prior knowledge, 3) immediate personalized feedback on those tasks, and 4) repetition.

Source: How to be a great (CS) teacher – Bits and Behavior – Medium

May 29, 2017 at 7:00 am Leave a comment

Every University Student should Learn to Program: Guzdial Arguing for CS for All in Higher Education

A colleague recently approached me and said, “It would be useful if Universities got involved in this CS for All effort.  All Universities should offer courses aimed at everyone on campus. There should be a systematic effort to get everyone to take those classes.”

I agree, and have been making this argument for several years now.  I spent a few minutes gathering the papers, blog posts, and book where I’ve made that argument over the last decade and a bit.

In 2002, Elliot Soloway and I argued in CACM that we needed a new way to engage students in intro programming: Teaching the Nintendo Generation to Program.

In 2003, I published the first paper on Media Computation: A media computation course for non-majors.

In 2004, Andrea Forte led the team studying the Media Computation class at GT:Computers for communication, not calculation: Media as a motivation and context for learning and  A CS1 course designed to address interests of women.

In 2005, Andrea Forte and I presented empirical evidence about the courses we’d designed for specific audiences: Motivation and nonmajors in computer science: identifying discrete audiences for introductory courses. I published a paper in CACM about how the courses came to be at Georgia Tech: Teaching computing to everyone.

In 2008, I offered the historical argument for teaching everyone to program: Paving the Way for Computational Thinking.

We’ve published several papers about our design process: Imagineering inauthentic legitimate peripheral participation: an instructional design approach for motivating computing education and Design process for a non-majors computing course.

My 2013 ICER paper was a review of a decade’s worth of research on Media Computation: Exploring hypotheses about media computation

My keynote at VL/HCC 2015 was on how computing for all is a requirement for modern society: Requirements for a computing-literate society

My 2015 book is, to a great extent: an exploration of how to achieve CS for All: Learner-Centered Design of Computing Education: Research on Computing for Everyone.

In blog posts, it’s been a frequent topic of conversation:

I don’t know how to convince University CS departments to do just about anything, but here are my contributions to the dialogs that I hope are happening at Colleges and Universities worldwide about how to prepare students to engage in computational literacy.

September 19, 2016 at 7:15 am 17 comments

College-level CS Principles Courses

My Blog@CACM post for July is about why I gave up on creating a CSP equivalent course at Georgia Tech — see post here.  The conclusions are (a) I’m not convinced that AP is the best lever available for getting CS into Georgia schools that don’t have CS and (b) Georgia Tech already has a set of intro courses that cover CSP-like content, are contextualized for different majors, and are successful.  I wish more universities had CSP-like courses.

Towards that end, I’m listing there the college-level CSP courses that I found when starting to build one for Georgia Tech.  Offered here as a resource to others.

August 5, 2016 at 7:01 am 2 comments

The Connected Learner: The Teaching Research Taboo

The Connected Learner is an interesting project led by Mary Lou Maher at the University of North Carolina Charlotte. Her blog post quoted below points to one of the difficulties in talking about teaching among CS faculty.

It seems relatively uncommon for research-track CS faculty to discuss their teaching at conferences and research meetings (no, I’m not saying it never happens, but it is rarely the focus, except at CS education conferences like SIGCSE and ICER). So, while we are likely aware of our colleagues’ research projects, we may not realize that our colleagues are experimenting with innovative teaching methods, trying out new learning technologies or adapting some best practices related to active learning. Because we don’t talk about it, we may think it’s not happening and this can lead to us not wanting to talk about our own innovations. We think our colleagues only value core research, so that is what we focus our own discussions on.

Source: The Connected Learner: The Teaching Research Taboo

July 1, 2016 at 8:03 am Leave a comment

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


Recent Posts

June 2018
M T W T F S S
« May    
 123
45678910
11121314151617
18192021222324
252627282930  

Feeds

Blog Stats

  • 1,519,383 hits

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

Join 5,276 other followers

CS Teaching Tips