Blog Post

Reinventing My CS Curriculum: What I Learned from Visiting STEM Professionals

My school organizes an experiential learning program called “X-Term” for approximately ten days each year. The goal is for students to immerse themselves in a learning experience beyond the school’s walls. This year, I helped facilitate a program centered around careers in STEM. We began by asking our high school students to generate a list of careers and fields they wanted to explore. From that list, we researched (#Googled) individuals and organizations that we would be interested in visiting for a day. I was so impressed by the responsiveness of the professionals we called and emailed. These individuals with busy schedules welcomed our students with enthusiasm and gave so generously of their time. A few of these experiences in particular inspired me to rethink how I teach computer science.

Jamie Young, the director of Experience Design at Shockoe, orchestrated an incredible day for our students at his office. He even brought in donuts for the students (HUGE win!). We attended several iOS project stand-ups and group critiques, where we watched professionals with diverse backgrounds, including some video-conferenced in from other countries, work together. During project stand-ups, the developers and designers shared their “blockers,” or things preventing forward movement. As visitors, we noted how freely they gave—and accepted—critiques. There was a deep sense of teamwork and camaraderie that students don’t necessarily associate with careers in technology. During the design review meeting, it was evident how each member of the team brought a unique set of skills and experiences to the team project, and how not everyone on a team needed to know all aspects of mobile design. CEO Edwin Huertas shared his personal story with us and described how he founded the company. He touched on the importance of ethics in computer science and explained how his company decides which jobs they will accept.

Dr. Shayn Peirce-Cottler, professor of Biomedical Engineering at the University of Virginia, invited us to her lab to learn more about her work with bioprinters. She sat with the students for over an hour to talk through her research. She was so engaging that it made me want to go back to college so I could attend her classes! In addition to her scientific research, Dr. Peirce-Cottler talked about the importance of collaborating and communicating with others, and knowing when to lead and when to support others with extensive research projects.

We also visited IBM in Washington, D.C. An alumna of our school, Kyle Liggan, works at IBM and facilitated a fun design thinking workshop for the students. The students heard from consultants at IBM about how they use design thinking with clients and how they are encouraged to continuously learn and grow at IBM.

Reflecting on these three experiences, I came to a somber conclusion: While I often let my students work together on their Python programs, the high-stakes assessments I give are always assessed on an individual basis. After hearing first-hand the collaboration skills our students will need to thrive in these types of work environments and careers, I am inspired to make three changes to my high school computer classes next year.

  1. Structure daily or weekly stand-ups where students can articulate their project or program progress and quickly communicate their “blockers.” Not only will this normalize the struggle, but students will see a wider variety of approaches for solving computational problems. Students also will have opportunities to both give and receive suggestions.
  2. Design more team projects where each student can develop and share unique skills and knowledge. Most students loathe the idea of group work, and I can’t say I blame them. Often times one responsible students ends up carrying the load for the entire group. While certainly we aim to help students learn to work together, we don’t always teach students how to contribute and thrive in a group environment—especially at the high school level where students will be judged on individual grades and test scores during the college admissions process. I want to tackle the team approach more thoughtfully so that each student has an opportunity to acquire different knowledge and skills to bring to the team.
  3. Use design thinking to help students to develop communication skills. When pulling together our knowledge of Python fundamentals, for example, I used to give students predefined problem sets to complete. While I do still plan to use some of those problem sets, next year I plan to add a design project where students will serve as consultants. They will interview a “client” to better understand their needs and incorporate these into their program design. Students will learn to strengthen their questioning techniques, formulate questions in the moment, and truly listen. We can talk about the importance of empathy, flexibility, and understanding the perspective of others. Finally, they will learn to articulate and communicate their solutions in writing and through multimedia and oral presentations.

How do you help students develop soft skills like collaboration, communication, and leadership in your classes?



Submitted by Kathleen Matson on Mon, 08/26/2019 - 13:47

One of the ideas we are starting out with this year is the Marshmallow Challenge, (see Ted Talk about this idea here.) We did this today (It was engaging for students!!) and discussed the process afterwards. Tomorrow we will follow up with developing a class document about what we like and don't like about collaborative projects. Students will brainstorm each of the lists individually, pair share and then develop a list with their group of 4. As a whole class we will combine our ideas to start to develop norms for group work and collaboration.