Posts tagged ‘cs majors’

Most jobs requiring CS skills do not require a CS degree #CSEdWeek

I am excited about this new report from Burning Glass and Oracle because it provides evidence for the claim that the vast majority of people who need CS skills will not be CS majors.  I will be joining folks from Burning Glass and Alison Derbenwick Miller and others from Oracle Academy in a Twitter chat about the report Wednesday, December 6 at 4 pm PT/7 pm ET.  Hope you can join us.

Only 18% of these jobs specifically request a computer science degree

While many employers are looking for workers with strong computer science skills, they are not necessarily looking only at job seekers with computer science degrees. Only 18% of jobs in the categories listed above specifically request a computer science degree. (Most postings do request a bachelor’s degree generally or a degree in another major.) Programming and data analysis jobs are the only categories that have significant demand for computer science degrees. For all other categories, fewer than 5% of postings request a computer science degree.[1] This means that students in a broad range of education programs can enhance their job market value by including computer science in their education pathways.

Source: Rebooting Jobs | Computer Science Skills | Burning Glass Technologies


December 5, 2017 at 7:00 am 2 comments

Choices aren’t Decisions: Implications of Hewner’s Theory of CS Major’s Decision-Making

Mike Hewner successfully passed his PhD dissertation defense on Friday. There are just some dissertation tweaks and bureaucracy to go.  In the process of the defense, there were several really interesting implications for his theory that got spelled out, and they relate to some of the comments made in response to my post on his dissertation last week.

Early choice is not early decision: In response to a question about when students should decide their specializations (should it be earlier in the degree or later in the degree), Mike said, “Making a choice early doesn’t force making a decision early.”  We then spent some time unpacking that.

In Mike’s theory, students spend time exploring until they face a differential in enjoyment between classes that students interpret as an affinity for one topic over another.  Students use this process to decide on a major, or to decide on a specialization area within a major.  Once they’ve made a decision, they are more committed, and are willing to go through less-enjoyable classes in pursuit of a goal that they have now decided on.  Forcing students to make a choice early (between majors or specializations) doesn’t change this process — they don’t decide earlier to become committed to a major or specialization.  Forcing the choice early may mean dealing graduation, when students finally decide on something else and become committed to that other path.

Job as ill-defined goal: One of the surprising and somewhat contradictory ideas in Mike’s thesis is that, while US students today may be more driven to get a college education in order to get a better job or a middle class lifestyle, they don’t necessarily know what that job entails.  Students that Mike interviewed rarely could describe what kind of job they wanted, or if they did, it was vague (“Work for Google”) and the students couldn’t explain what that job would require or what classes they should take to prepare for that job.

When we were first developing Threads, we talked about helping students to describe the kind of job they wanted, and then we could advise them to pick the Threads that would help them achieve that career.  But Mike’s theory says that that’s backwards.  Students don’t know what kind of job they want.  They use experiences in the classes to help them decide what kind of work they will enjoy.

Hewner’s theory is constructivist.  Mike was asked, “How would you advise a student such that they could figure out the best Thread for themselves?”  Mike’s response was that students would need to do something that was authentic and representative of work within that Thread — which is hard to do in an accessible manner for students who don’t know much about that Thread yet.  You can’t just tell students about the Threads or about the jobs that fit into the Threads.  It’s unlikely that students will be able to successfully predict if they would enjoy the work in the Thread based on a description.

In some sense, Mike’s theory is intensely constructivist.  Mike’s students won’t decide on a major, specialization or career choice until they experience the work of that major, specialization, or career choice, and then decide if they enjoy it or not for themselves.  If decisions are made based on enjoyment, you can’t tell someone that they’d enjoy the experience. They have to figure it out for themselves.


November 6, 2012 at 9:14 am 7 comments

A Question that Everyone should Ask their CS Professors: Why do we have to learn this?

There’s a meme going around my College these days, about the 10 questions you should never ask your professor (linked below).  Most of them are spot-on (e.g., “Did we do anything important while I was out?”).  I disagreed with the one I quote below.

One of our problems in computer science is that we teach things for reasons that even we don’t know.  Why do we teach how hash tables are constructed?  Does everybody need to know that?  I actually like the idea of teaching everybody about hash functions, but it’s a valid question, and one that we rarely answer to ourselves and definitely need to answer to our students.

Why we’re teaching what we’re teaching is a critical question to answer for broadening participation, because we have to explain to under-represented minorities why it’s worth sticking with CS. Even more important for me is explaining this to non-majors, and in turn, to our colleagues in other departments.  Computing is a fundamental 21st Century literacy, and we have to explain why it’s important for everyone to learn.  “Stuck in the Shallow End” suggests that making ubiquitously available can help to broaden participation, but we can only get it ubiquitously available by showing that it’s worth it.

I’m back from New Zealand and ICER: today, yesterday, tomorrow — days get confused crossing a dateline.  (We landed in both Sydney and Los Angeles at 10:30 am on 13 September.)  I spent several hours of the trip reading Mike Hewner’s complete dissertation draft.  Mike has been asking the question, “How do CS majors define the field of computer science, and how do their misconceptions lead to unproductive educational decisions?”  He did a Grounded Theory analysis with 37 interviews (and when I tell this to people who have done Grounded Theory, their jaws drop — 37 interviews is a gargantuan number of interviews for Grounded Theory) at three different institutions.  One of his findings is that even CS majors really have no idea what’s going on in a class before they get there.  The students’ ability to predict the content of future courses, even courses that they’d have to take, was appallingly bad.  Even our own majors don’t know why they’re taking what they’re taking, or what will be in the class when they go to take it.

We will have to tell them.

Why do we have to learn this?” In some instances, this is a valid question. If you are studying medical assisting, asking why you have to learn a procedure can be a gateway to a better question about when such a procedure would be necessary. But it should be asked that way–as a specific question, not a general one. In other situations, like my history classes, the answer is more complicated and has to do with the composition of a basic liberal arts body of knowledge. But sometimes, a student asks this because they do not think they should have to take a class and want a specific rationale. In that case, I respond, “Please consult your course catalog and program description. If you don’t already know the answer to that question, you should talk to your advisor about whether or not this is the major for you.”

via 10 Questions You Should Never Ask Your Professor! – Online Colleges.

September 14, 2012 at 1:11 pm 12 comments

Period of transition: Stanford computer science rethinks core curriculum

I heard from Mehran Sahami, Eric Roberts, and Steve Cooper at the ACM Education Council meeting that CS is now the largest undergraduate major at Stanford.  That’s pretty exciting, but not really too surprising.  The Silicon Vally entrepreneurial atmosphere is palatable, even with my short visit there in March.

This is an interesting piece on the revision that Stanford is making to its undergraduate CS curriculum.

Though computer science enrollments are up in general nationwide, owing much to the success of social and mobile applications like Facebook and Instagram, Stanford is outpacing the broader trend. The program has seen an 83 percent increase in enrollment in its first two years, and computer science has become the largest major on campus.

In the 2011-12 academic year, the department broke the all-time record for students declaring computer science as their major: More than 220 students in that one class alone chose to major in computer science, a 25 percent leap from the previous record in 2000-01.

“We were surprised at the level of interest and the speed at which the community responded,” said Sahami. “Today, more than 90 percent of all Stanford undergrads take at least one computer science course. It’s pretty astounding.”

via Period of transition: Stanford computer science rethinks core curriculum | Stanford School of Engineering.

July 2, 2012 at 5:14 am 6 comments

Thinking about expression and ways of thought, and what happens to those who don’t C

In his wonderful essay on Alan Perlis’ 1961 Sloan School lecture, Michael Mateas points out that Perlis explicitly saw programming as a medium.

Here Perlis makes it clear that programming is a medium, in fact the medium peculiarly suited for describing processes, and as such, a fundamental component of cultural literacy, and a fundamental skill required of new media practitioners and theorists.

I’ve always loved the idea of programming as a form of expression, and most CS departments used to teach different paradigms of programming as different ways of thinking about problems. Google searching, you’ll find that “Computation/programming as an expressive medium” is being taught out there — but not to computer scientists.  Film students, digital media theorists, even social scientists are being taught about programming as a medium.  But for the most part, not computer scientists.

I realized the costs of that when I talked to one of the Seniors in my educational technology class this semester.  She’s trying to figure out what she wants to do next in her life.  She came to see me at my office hours for some advising.  What does she want to do?  Maybe graduate school, “but definitely not in computer science!  I can code, but I don’t like it. It just looks like hieroglyphics.”  We talked a lot about her interests and her options, but then I circled back.  “What was your most fun programming?”  “When it was done! When I was finished with it.”  “Okay, what languages have you programmed in.”  “C++, Java, and C. A little JavaScript this semester, and VPython but only for physics labs.”  I realized that she’s only ever seen C, and forms of that.  She’s never seen another way of expressing ideas in code, another way of thinking about programming.

As I’ve mentioned, when I first got here to Georgia Tech, we taught Lisp and Smalltalk in required courses.  We did that explicitly to show students that there were multiple ways of thinking about programming. Every student used multiple styles of programming.  I taught a computer music class using CSound and Squeak, and people were able to handle it.  But we don’t teach that expressive purpose for programming any more, and few departments do.  I’ve even heard faculty talk about their departments as being “a Java shop” or “a C++/C# shop,” as if students should get a union card for finishing their undergraduate apprenticeship.

To be clear, the main force on the shift to C-based languages was the students.  They wanted to learn to be software engineers. They wanted marketable skills.  But in the end, they find that they hate coding.  They see it as so limiting, as so fixed.

I showed my student Alex Ruthmann’s video of live coding of music in Scratch, and the wonderful new Web Audio API (Thanks to Alan Kay for telling me about this at SIGCSE!), and her jaw dropped.  She didn’t know that you could do things like that.  “I’ve never saw anybody code anything cool!”

[Side note: My TA came in to talk to me after the Senior left.  I still had the Web Audio examples on my screen.  “What’s that?”  I explained what was going on.  “You know about samples, right?  You took CS1315 (Introduction to Media Computation)?”  “Yeah, but when I took it, they didn’t do sounds.”  Even when you design for expression, it doesn’t always happen.]

I find the Senior’s attitude about computing to be a sad statement on how we teach computer science today.  We have turned off a female CS major from entering the computing marketplace or graduate school, not because of what CS is, but because of how little of it we’ve shown her.  She only thinks coding is slogging through &*!{}++ hieroglyphics.  (That wasn’t swearing — I was simply showing some odd C syntax. I know that it looks much the same.) Coding is such a wonderful, flexible, and expressive medium, that allows you to think about problems and the world in so many interesting ways.  Computer science is related to philosophy, and I think we’ve forgotten that.  We graduate majors that have never even seen that perspective, who don’t even know what that means. We’re teaching computer science with all the life sucked out of it.

April 27, 2012 at 8:30 am 20 comments

The Greatest Potential Impact of Computing Education: Performamatics & Non-Majors

We’ve had Jesse Heines of U. Massachusetts at Lowell visiting with us for the last couple weeks.  He gave a GVU Brown Bag talk on Thursday about his Performamatics project — which has an article in this month’s IEEE Computer!  Jesse has been teaching a cross-disciplinary course on computational thinking, where he team teaches with a music teacher.  Students work in Scratch to explore real music and real computing.  For example, they start out inventing musical notations for “found” instruments (like zipping and unzipping a coat), and talk about the kinds of notations we invent in computer science.  I particularly enjoyed this video of the music teacher, Alex Ruthmann, performing an etude through live coding.

Jesse and I talked afterward: Where does this go from here?  Where could Performamatics have its greatest impact?  We talked about how these music examples could be used in introductory computing courses (CS1 and CS2), but that’s not what’s most exciting.  Is the greatest potential impact of computing education creating more CS majors, creating more developers?  Developers do have a lot of impact, because they build the software that fuels our world (or maybe, that eats our world).  But developers don’t have a monopoly on impact.

I argued that the greatest impact for computing educators is on the non-majors and their attitudes about computing.  I showed him some quotes that Brian Dorn collected in his ICER 2010 paper about adult graphics designers (who have similar educational backgrounds and interests to Jesse’s non-majors) on their attitudes about computer scientists:

P2: I went to a meeting for some kind of programmers, something or other. And they were OLD, and they were nerdy, and they were boring! And I’m like, this is not my personality. Like I can’t work with people like that. And they worked at like IBM, or places like that. They’ve been doing, they were working with Pascal. And I didn’t…I couldn’t see myself in that lifestyle for that long.

P5: I don’t know a whole ton of programmers, but the ones I know, they enjoy seeing them type up all these numbers and stuff and what it makes things do. Um, whereas I just do it, to get it done and to get paid. To be honest. The design aspect is what really interests me a lot more.

These are adults, perhaps not much different than your state or federal legislators, your school administrators, or even your CEO. Brian’s participants are adults who don’t think much of computer scientists and what they do.  There are a lot of adults in the world who don’t think much of computer scientists, despite all evidence of the value of computing and computing professionals in our world.

Will Jesse’s students think the same things about computer scientists 5 years after his course?  10 years later?  Or will they have new, better-informed views about computer science and computer scientists?  The 2005 paper by Scaffidi, Shaw, and Myers predicted 3 million professional software developers in the US by 2012, and 13 million professionals who program but aren’t software developers.  That’s a lot of people programming without seeing themselves as computer scientists or developers. Would even more program if they weren’t predisposed to think that computer science is so uninteresting?

That’s where I think the greatest impact of work like Performamatics might be — in changing the attitudes of the everyday citizens, improving their technical literacy, giving them greater understanding of the computing that permeates their lives, and keeping them open to the possibility that they might be part of that 13 million that needs to use programming in their careers.  There will only be so many people who get CS degrees.  There will be lots of others who will have attitudes about computing that will influence everything from federal investments to school board policies. It’s a large and important impact to influence those attitudes.

December 13, 2011 at 7:47 am 1 comment

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

Join 10,184 other followers


Recent Posts

Blog Stats

  • 2,039,339 hits
December 2022

CS Teaching Tips