Posts tagged ‘engineering education’

Task-specific programming languages: People aren’t dumb. Programming is hard.

I’ve been thinking a lot about task-specific programming languages lately.  I’m inspired by the work on domain-specific programming languages (e.g., see blog post here), and have been wondering whether we can reduce the cognitive load even further by focusing on programming languages for specific tasks. I’m thinking that we should be applying HCI design techniques (e.g., user centered design) and apply them to the design of small, task-specific programming languages.

But that got me wondering: Surely this is not a new idea.  What do we know about task-specific programming languages? Do students learn generalized ideas about programming from learning a task-specific programming language? How does it change affect or cognitive load if students start with a programming language tuned especially to their task?

I did some literature searches, and found a highly relevant paper: “Task specific programming languages as a first programming language.”  And the lead author is…me.  I wrote this paper with Allison Elliott Tew and Mike McCracken, and published it in 1997.  I honestly completely forgot that I had written this paper 22 years ago. Guzdial-past knew things that Guzdial-present does not.

The paper doesn’t answer any of my questions.  It talks about some surveys and comparisons we were doing, but offers no results.  I have no idea where the data from those surveys and comparisons are today.

Abstract: This research investigates whether there is a difference in the acquisition of programming skills and knowledge as a function of a student’s first language. Our research is concerned with the comparison of task specific languages and general programming languages. In many engineering programs students are first exposed to the principles of computational solutions to problems by means of task specific languages, such as MatLab. They are then either expected to be able to use, or are specifically taught programming using more general purpose languages, such as C. Our question is whether there is a developmental preference for learning a task specific language first, or a general purpose language first. Historically, educators have emphasized fundamentals prior to application. A case could therefore be made that a student should be taught general programming skills in the context of a general purpose language before solving problems in a task specific language. More recently, contextualized educators would prefer the initial learning of task specific languages. Our research anticipates answering the question of the effectiveness of transfer of programming skills as a function of first language learning. The dimensions of this question include but are not limited to, how the languages are used, what types of problems are presented to the students, is transfer prompted between the languages, do students look for surface or structural similarities, and what are the assumptions and expectations of the faculty who teach these languages.

Here’s my favorite paragraph in the paper. Yup, still have all those same questions.

We have developed a comparison of task specific languages and general purpose languages to allow us to investigate ontological boundaries between languages and their impact on transfer. For example, MatLab essentially has no typing. It uses built in types. Whereas, general purpose languages have various types, including enumerated types, and support the construction of complex data structures around those types. Does this difference cause a boundary to transfer? If a student learns MatLab first, will data types be more difficult to learn? If a student learns a general purpose language first, will they be able to transfer their skills to a language that prevents them from constructing many of the structures they have previously used?

I’m still catching up on podcasts that I missed during my move.  One of those was a rebroadcast of an interview with Richard Thaler, one of the founders of behavioral economics and a recent Nobel prize winner in Economics.  He explains the central idea of behavioral economics: “People aren’t dumb. The world is hard.”

So, we don’t think people are dumb. We think the world is hard. I mean, figuring out how much to save for retirement is a really hard cognitive problem that very few economists have solved for themselves. And it’s not only cognitively hard, it involves delay of gratification, which people find hard. It’s just like navigating in a strange city is hard. So, why not try to help? When I first was working with the U.K. Behavioral Insight Team, the first “Nudge unit,” the phrase I kept saying in every meeting with some minister was, “If you want to get people to do something, make it easy. Remove the barriers.” That’s what we’re about.

If we want people to program, make it easy. Remove the barriers. That’s what we’re about. People aren’t dumb. Programming languages are hard.  If we can fix that, we should. That’s what I see task-specific programming as being about.

 

March 25, 2019 at 7:00 am 21 comments

Come to my workshop on CS Education at ASEE June 16!

I am attending my first American Society for Engineering Education (ASEE) Conference this year — see the website here: https://www.asee.org/conferences-and-events/conferences/annual-conference/2019.

I’m still figuring out Engineering Education Research, so I’ll be offering a workshop based on our work at Georgia Tech: Techniques for Improved Engagement and Learning of Programming. The workshop is Sunday, June 16, 2019 from 9:00 am to noon. Please come, and please pass this on to others you know who are attending ASEE and might be interested.

Computing education research at Georgia Tech over the last 15 years has led to techniques for teaching programming which improve student learning. Learning is enhanced through greater engagement and reduced cognitive load.

These techniques are:

  • Media computation: Teaching programming through manipulation of digital media which improves students’ sense of utility and relevance leading to greater engagement;
  • Worked examples: Using worked examples in peer instruction and for prompting for predictions that improve learning;
  • Subgoal labeling: Structuring and labeling worked examples to improve immediate learning, retention over time, and transfer to new problems.

The learning objectives for this workshop are for participants to experience these techniques so that they might be able to judge which are most useful for their own practice. Participants will:

  • Manipulate digital media with programs that they write during the workshop (laptops required).
  • Participate in peer instruction questions using worked examples.
  • Compare worked examples with and without subgoal labeling.

 

February 1, 2019 at 7:00 am Leave a comment

In last five years, little progress in increasing the fraction of American CS BS degree recipients who are African Americans

Keith Bowman published a series of blog posts this summer on African American undergraduate degrees in engineering.  In July, he wrote one on computer science – linked here. It’s interesting, careful, and depressing. I’m quoting the conclusion below, but I highly recommend clicking on the link and seeing the whole report. What’s most interesting is the greater context — Bowman is comparing across different engineering programs, so he has a strong and data-driven sense of what’s average and what’s below average.

There has been little progress in increasing the fraction of American CS BS degree recipients who are African Americans. Progress will likely only take place through a concerted effort by industry, professional societies, academia and government to foster change, including stronger efforts in graduate degrees. CS undergraduate programs fare poorly compared to many other engineering disciplines in the context of gender diversity and slightly worse than engineering overall in the fraction of African Americans earning undergraduate degrees. Many of the largest CS programs in the US are strikingly behind the national averages for CS BS degrees earned by African Americans.

 

August 24, 2018 at 7:00 am 5 comments

Increasing the Roles and Significance of Teachers in Policymaking for K-12 Engineering Education

National Academies have released a report that relates to the idea of Engineering for All.

Engineering is a small but growing part of K–12 education. Curricula that use the principles and practices of engineering are providing opportunities for elementary, middle, and high school students to design solutions to problems of immediate practical and societal importance. Professional development programs are showing teachers how to use engineering to engage students, to improve their learning of science, technology, engineering, and mathematics (STEM), and to spark their interest in engineering careers. However, many of the policies and practices that shape K–12 engineering education have not been fully or, in some cases, even marginally informed by the knowledge of teacher leaders.

To address the lack of teacher leadership in engineering education policymaking and how it might be mitigated as engineering education becomes more widespread in K–12 education in the United States, the National Academies of Sciences, Engineering, and Medicine held a convocation on September 30–October 1, 2016. Participants explored how strategic connections both within and outside classrooms and schools might catalyze new avenues of teacher preparation and professional development, integrated curriculum development, and more comprehensive assessment of knowledge, skills, and attitudes about engineering in the K–12 curriculum. This publication summarizes the presentations and discussions from the event.

Source: Increasing the Roles and Significance of Teachers in Policymaking for K-12 Engineering Education: Proceedings of a Convocation | The National Academies Press

May 12, 2017 at 7:00 am 1 comment

Embedding and Tailoring Engineering Learning: A Vision for the Future of Engineering Education

In the last couple of months, I have had the opportunity to speak to groups of Engineering Education Researchers. That doesn’t happen often to me, and I feel very fortunate to get that chance.

I was asked to speak about my vision for the future of Engineering Education, from my perspective as a Computing Education Researcher. What I said wasn’t wholly unique–there are Engineering Education Researchers who are already working on some of the items I described. The response suggested that it was at least an interesting vision, so I’m telling the story here in blog form.

For readers of this blog who may not be familiar with Engineering Education Research, the Wikipedia page on EER is pretty good.  The most useful paper I read is Borrego and and Bernhard’s “The Emergence of Engineering Education Research as an Internationally Connected Field of Inquiry.”  I also recommend looking around the Purdue Engineering Education department website, which is the oldest Eng Ed department in the US.

Engineering has had a long relationship with computing. Engineers made computing part of their practice earlier and more pervasively than scientists or mathematicians. I love how this is described in the motion picture Hidden Figures where Octavia Spencer’s character is part of the effort to use computing as soon as possible in the American space program. Engineering educators have made computing part of the learning goals for all of today’s engineering students, again more pervasively than what I can see in science or mathematics programs.

Much of my work and my students’ work is about embedding computing education (e.g., Media Computation which embeds computing in the digital media context that students value, or Brian Dorn’s work embedding computing in a graphic design context) and tailoring computing education (e.g., high school CS teachers need something different from software developers). Computing education can be embedded in Engineering classes and tailored for Engineering students, of course. My vision is about embedding and tailoring engineering education.

There are three parts to the story below:

  • Engineering Education for everyone K-16, especially for STEM learners.
  • Reaching a diverse audience for engineering education.
  • Recognizing the differences between Engineering Education research and teaching, and the need for more research on learning outside of the engineering classroom.

In January 2016, President Barack Obama launched the “CS for All” initiative. When he said that he wanted students to be “job-ready,” he wasn’t saying that everyone should be a software engineer. Rather, he was reflecting a modern reality. For every professional software developer, there are four-to-nine end-user-programmers (depending on the study and how you count). Most professionals will likely use some form of programming in the future. That’s an argument for “CS for All.”

We also need Engineering for All. Engineering skills like designing, planning, collaboration on diverse teams, and trouble-shooting are needed across STEM. When I look at bench science, I see the need for engineering — to design, plan, collaborate, debug, and test.

Engineering education researchers know a lot about how to teach those skills. I’d love to learn how to inculcate some engineering perspectives in my CS students. When I see Chemical Engineering students designing a plant, or Civil Engineering students designing a bridge, they predict that they made mistakes, and they look for those mistakes. There’s a humility about their process. CS students often run their program once and turn them in. If you write a hundred lines of code, odds are almost 100% that you made errors. How do we get CS students to think that way?

Engineering for All is different than what professional engineers do, in the same way that what a high school teacher needs is different than what a professional software developer needs. Both need a mental model of the notional machine. A high school teacher also needs to know how students get that wrong, and probably doesn’t need to know about Scrum or GitHub.

I believe that there is a tailored part of engineering education which should be embedded throughout K-16 STEM. The American Society of Engineering Education’s mission is focused on professional engineers, and my proposal does not diminish the importance of that goal. We need more professional engineers, and we need to educate them well. But engineering skills and practices are too important to teach only to the professionals.

Engineering should play a significant role in STEM education policy. Engineering education researchers should own that “E” in STEM. There are many research questions that we have to answer in order to achieve Engineering for All.

  • What is the tailored subset of engineering that should be taught to everyone? To STEM learners?
  • All technically literate US citizens should know far more about engineering than they do today. Here’s a hypothesis: If all US citizens understood what engineering is and what engineers do, we might have less crumbling infrastructure, because we citizens would know that infrastructure is critical and professional engineers design, build, and maintain infrastructure. How do we get there?
  • All K-12 students should have the opportunity to fall in love with engineering. How?
  • Are there limits to what we can teach about engineering in K-16? What learning and cognitive disabilities interfere with learning engineering, and what parts of engineering? I also wonder about the kinds of bias that prevent someone from succeeding in engineering, besides race and gender. For example, here in the South, there are a lot of students who don’t believe in evolution. I’m pretty sure that belief in evolution isn’t necessary for designing a bridge or a distillation column. But someone who believes in intelligent design is going to face a lot of barriers to getting through basic science to become an engineer. Is that how it should be?
  • Engineering should aim to influence K-12 STEM education nationally, in every state.

The American University (particularly the Land Grant University, developed in the late 1800’s) was supposed to blend the German University focus on research and the British focus on undergraduate education. My favorite history of that story is Larry Cuban’s How Scholars Trumped Teachers, but Michael Crow also tells the story well in his book Designing the New American University. We believed that there were synergies between research and teaching. It’s not clear that that’s true.

Research and teaching have different measures of success and don’t feed directly into one another.

Teaching should be measured in terms of student success and at what cost. Cost is always a factor in education. We know from Bloom’s two-sigma 1984 study (and all the follow-ups and replications) that the best education is an individual human tutor for each subject who works with a student to mastery. But we as a society can’t afford that. Everything else we do is a trade-off — we are trying to optimize learning for the cost that we are willing to bear.

Research should be measured in terms of impact — on outcomes, on the research community, on society.

It’s quite likely that the education research on a given campus doesn’t influence teaching practice on the same campus.

I see that in my own work.

We can see the transition for education research idea to impact in teaching practice as an adoption curve. Boyer’s “Scholarship Reconsidered” helps to explain what’s going on and how to support the adoption. There is traditional Scholarship of Discovery, the research that figures out something new. There is Scholarship of Teaching that studies the practice of teaching and learning.

Then there’s Scholarship of Application, which takes results from Discovery into something that teachers can use. We can’t expect research to influence teaching without scholars of application. Someone has to take the good ideas and carry them into practice. Someone has to figure out what practitioners want and need and match it to existing research insights. Done well, scholarship of application should also inform researchers about the open research questions, the challenges yet to be faced.

High-quality teaching for engineering education should use the most effective evidence-based teaching methods.

Good teachers balance teaching for relevance and motivation with teaching for understanding. This is hard to do well. Students want authenticity. They want project-based learning and design. I was at the University of Michigan as project-based learning for science education was first being developed, and we knew that it very often didn’t work. It’s often too complex and leads to failure, in both the project and the learning. Direct instruction is much more efficient for learning, but misses out on the components that inspire, motivate, and engage students. We have to balance these out.

We have to teach for a diverse population of students, which means teaching differently to attract women and members of under-represented groups. In our ICER 2012 paper, we found that encouragement and self-perception of ability are equally important for white and Asian males in terms of intention to persist in computing, but for women and under-represented group students, encouragement matters more than ability in terms of how satisfied they are with computing and intention to persist. This result has been replicated by others. Encouragement of individual students is critical to reach a diverse audience.

An important goal for a first year Engineering program is to explain the relevance of the classes that they’re taking. Larry Cuban tells us that a piece of the British system that got lost by the early 1920’s in the American University was having faculty advisors who would explain how all the classes fit together for a goal. The research on common first year Engineering courses (e.g., merging Physics, Calculus, Engineering in a big 12 credit hour course) shows that they worked because they explained the relevance of courses like Calculus to Engineering students. I know from my work that relevance is critical for retention and transfer.

Do students see relevance of first year Engineering programs? Most first year programs emphasize design and team problem-solving. First year Engineering students don’t know what engineers do. When they’re told “This is Engineering” in their first year, do they believe it? Do they cognitively index it as “real Engineering”? Do they remember those experiences and that learning in their 3rd and 4th years when they are in the relevant classes? I hope so, but I don’t know of evidence that shows us that they do.

Engineering education research, like most discipline-based education research (DBER), is focused on education. I see the study of “education” as being about implementation in a formal system. Education is a design discipline, one of Simon’s Sciences of the Artificial. Robert Glaser referred to education as psychology engineering.

We need more research on Engineering Learning. How do students learn engineering skills and practices, even outside of Engineering classes? How do those practices develop, even if it’s STEM learners and teachers using them and not professional engineers? How should we best teach engineering even if it’s not currently feasible?

That last part is much of what drives my work these days. We’re learning a lot about how great Parsons Problems are for learning CS. Very few CS classes use them. There are reasons why they don’t (e.g., they’re emphasizing the project side of the education spectrum). I’m figuring out how to teach CS well, even if it’s not feasible in current practice. CS teaching practice will eventually hit a paradigm shift, and I’ll have evidence-based practices to offer.

To focus on engineering learning requires work outside the classroom, like Multi-Institutional, Multi-National (MIMN) studies that we use in computing education research, or even laboratory studies. A focus on Engineering Learning creates new opportunities for funding, for audience, and for impact. For example, I could imagine engineering education researchers seeking science education funding to figure out how to teach high school science teachers the engineering that they ought to teach their students — not to introduce engineering, but to make their students better in science.

My vision for engineering education has three parts:

  1. K-16 STEM learners need Engineering for All. Engineering education has more to contribute than just for producing more professional Engineers. Engineering education ought to own the “E” in STEM education policy. Engineering skills and practices can be tailored to different audiences and embedded in STEM education.
  2. Reaching a diverse audience is critical for both research and teaching. For me, that diversity includes the people who need engineering education who aren’t going to become professional engineers, but also people who look different or even have different beliefs.
  3. Finally, research and teaching are different activities, with different measures of success. Teaching should be informed by evidence and be as efficient and effective as possible for a given cost. We need evidence for what we’re doing, and we should gather evidence if we don’t know if what we’re doing is working. Research should focus on what’s possible and on having impact, even if that impact isn’t in the on-campus classrooms. We shouldn’t expect research to impact teaching without explicit investment in adaptation to support adoption.

(Thanks to Barb Ericson, Beth Simon, Leo Porter, and Wendy Newstetter for advice on drafts of this piece.)

March 15, 2017 at 6:00 am 5 comments

Why ‘U.S. News’ should rank colleges and universities according to diversity: Essay from Dean Gary May #CSforAll

Georgia Tech’s Dean of Engineering Gary May was one of the advisors on “Georgia Computes!”  He makes a terrific point in his essay linked below.  Want broadened participation in computing (BPC)? CS for All?  Make diversity count — and rankings are what “counts” in higher education today.

U.S. News & World Report, that heavyweight of the college rankings game, recently hosted a conference focused partially on diversity in higher education. I did an interview for the publication prior to the forum and spoke on a panel at the event.I was happy to do it. As dean of one of the country’s most diverse engineering schools, I am particularly invested in these issues. My panel focused on how to help women and underrepresented minority students succeed in STEM fields, and I’m grateful to U.S. News for leading the discussion.But the publication, for all its noble intentions, could do more to follow through where it counts. Diversity is currently given no weight in the magazine’s primary university and disciplinary rankings, and it’s time for that to change. As U.S. News goes, so goes higher education.

Source: Why ‘U.S. News’ should rank colleges and universities according to diversity (essay)

August 31, 2016 at 7:29 am 1 comment

One reason we have so much engineering and so little computer science taught at US high schools. | ACM Inroads

Joe Kmoch wrote an interesting follow-on to my blog post about why we have so little CS ed in the US.  Why is that engineering is succeeding so much more than CS in high schools in the US?  He suggests that (in part) it’s because engineering is getting the PD right.

I think the reason is that groups like Project Lead the Way (PLTW) offer an “off the shelf” high quality program, vetted by engineers.  The attractiveness of this is that the school and students get access to a number of well-written up-to-date courses and they also get access to intensive professional development for teachers who want to teach a particular PLTW course.  Teachers must not only take but also pass the two-week intensive summer course before being allowed to teach a particular course.  There is regular monitoring of schools in terms of offering a minimal 3-course sequence of engineering courses and evaluating how well these courses are being taught.

In computer science we have really never had such a program available.  The AP is not such a program.  If a school wants to teach a computer science course, they have to find a teacher who is willing to put together a course syllabus, and then teach that course.  (For AP, the course must be audited for fidelity).  There really isn’t any professional development required to teach any kind of computer science course in most states.

via One reason we have so much engineering and so little computer science taught at US high schools. | ACM Inroads.

November 19, 2013 at 1:30 am 2 comments

Older Posts


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

Join 6,246 other followers

Feeds

Recent Posts

Blog Stats

  • 1,654,690 hits
June 2019
M T W T F S S
« May    
 12
3456789
10111213141516
17181920212223
24252627282930

CS Teaching Tips