Engaging CS Students in Design

Many group assignments in computer science courses expose students to only a portion of the software development process.  In particular, the first stages in most software development processes are rarely covered. These are the stages in which requirements are gathered, prototypes are built, and the customer is engaged in an iterative design process.  The start of many group assignments in computer science courses begin with a screenshot of a fully design application in which the student is asked to implement. While this approach is useful for developing skills needed for the later stages of the software development process, it completely misses the opportunity to engage students as innovative designers (ISTE Standard for Students).

The design and prototyping stages of the software development process engage students in so many of the skills critical for their success.  The obvious skills are innovation and creativity. Students can also develop their empathetic and analytical skills. The design and prototyping phases require a large amount of patience from students and educators.  However, the benefits of the time spent in this stage are recognizable when a student begins to engage in the latter stages of the software development process. Design thinking is not something unique to the software development process and is found in related fields such as graphics design.

Design Thinking Process (Humphrey, 2015)

It is somewhat understandable why many computer science instructors avoid the design and prototyping stages in the software development process.  There are many possible landmines and things can get out of control in many ways. And this is not just on the software designer side. I have participated in requirements and design sessions with very technical customers.  Many times, these technical customers quickly slip into talking about solutions rather than describing problems and requirements. Of course, the flip of this problem – and many would argue the more common problem – is when software designers lack the proper empathy to engage properly with customers, particularly less technical customers.  This leads to a design session in which the customer is never able to describe the real requirements, as the software designer has already jumped to a design that the customer “needs”, even though the customer did not state the “need”. This problem is very prevalent in many industries – from software deign to automotive design – and has led designers to constantly repeat the phrase “keep the customer first”.

The Empathize mode is the work you do to understand people, within the context of your design challenge. It is your effort to understand the way they do things and why, their physical and emotional needs, how they think about world, and what is meaningful to them.

(Institute of Design at Stanford, n.d., An introduction to the design thinking process)

So, how do we get students to use their empathy to engage with customers?  One great way is by using an iterative prototyping process. That is, have the students build quick and simple prototypes that are shown to the customer.  The first prototypes will likely not be successful with the customer. Given a proper tool, the students should be able to use the customer’s feedback to iterate on the next prototype.  This iterative prototyping process is nicely captured in the human-centered design process.

What is human-centered design video
DesignKit.org, What is Human-Centered Design?

All of this hinges on giving students a prototyping tool that is simple to use, but powerful enough to demonstrate a rich design.  Fortunately, I came across a fantastic prototyping tool that has all of these features – Mockups by Balsamiq.  There is no coding needed to use the Balsamiq mockup tool, as the tool uses the same drag and drop metaphor used in Microsoft Powerpoint and other presentation software.  One can even build a functioning prototype – with active links and buttons – that demonstrates the flow of an application with no coding. The Balsamiq software can be used to design web sites, mobile applications, and desktop applications.  The Balsamiq video given below starts off with the intriguing catch-line “… would you build a house before making plans for it?”.

Video demonstrating the Balsamiq mockup tool
Mockups by Balsamiq
I have used wire-framing tools for commercial products in industry.  All of those tools were much more difficult to use than Balsamiq and very expensive.  What gets me excited about Balsamiq is that it is not only far simpler to use than other tools, but that Balsamiq also has a ‘Giving Back’ program that makes their mockup tool free to educators and students.  The tool is very contagious – once students get proficient, they are likely to use tool for all of their group assignments, whether requested by the instructor or not.  In addition, students can use Balsamiq to create incredible artifacts of their design work. Those are both fantastic outcomes!

The task of getting students to spend more time in the design and prototyping phase is not a simple one.  Technology can definitely help, but there is a learning curve even for design and prototyping tools like Balsamiq.  However, these skills are critical to computer science students if they want to be successful in the digital age.

As a result, the demands on those responsible for teaching and instruction have increased, but above all, these new demands of teachers in a digital age mean that their own skills level needs to be increased to cope with these demands.

(Bates, A. n.d., Chapter 2.7.6 – Is the nature of knowledge changing?)

References

3 comments / Add your comment below

  1. It is refreshing to hear you speak to the sometimes challenging relationship between non-technical customers and technical designers when it comes to designing and maintaining creativity and innovation. Balsamiq seems like a really wonderful bridge to link the ideas that both the customer and the designer have. My guess is that when a design gets going (and coding begins) and it takes a lot of time and effort, it can be hard to want to go backwards – for both customer and designer. With this tool, the design process becomes more flexible because it is easy to flush out ideas with less ‘wasted’ time and more time to be creative and innovative which means Design Thinking can occur. Really fantastic tool and gets me wanting to flush out my own app ideas!!

  2. I find that with all things- students want to get to the making! They don’t spend too much time in the planning stage. Balsamiq seems like the perfect app to completely engage students in the task of planning. “Given a proper tool, the students should be able to use the customer’s feedback to iterate on the next prototype. This iterative prototyping process is nicely captured in the human-centered design process.”
    Your post reminded me of a project that I did with my students where they wrote to a professional in a career they would like to pursue. One of my students wanted to be a game designer and wrote to Kate Edwards (while she was in her role as the Executive of IGDA). Through that letter exchange she came to our school and gave a talk about game design. The kids were excited to hear from her because she worked on all of their favorite games. But her talk was different, she wanted students to know that game designers needed to empathize with the intended users, especially culturally. Here is a link to one of her talks (It is pretty long but she gets to the culturalization bit at around 10ish minutes) https://www.youtube.com/watch?v=CDzKyIYhzZA

  3. Nat, You elegantly identify the difference between the creation of a product and the theory that backs the learning you are evaluating. Your explanation of the Design Thinking 5 Step process makes me think about our work with Understanding by Design. It makes sense when we create lessons and products with the end result, customer, and student in mind. Often those of us who create get right to the solution without really listening to the problem we are being asked to solve. The Design Thinking process supports your students as they intentionally solve problems from the perspective of those seeking a solution. You did a nice job of working within ISTE standard 4 as I feel you made it come to life for educators like myself as well as those who teach technical subjects like coding.

Leave a Reply to Melissa Cook Cancel reply

Your email address will not be published. Required fields are marked *