.. _pedagogy: ******************** Pedagogy ******************** `Unfold Studio`_ was developed through workshops with middle- and high-school students. These workshops also developed some teaching strategies that can make teaching with `Unfold Studio`_ more effective. But I don't know Computer Science ================================= Great! This is an opportunity to grow with your students--when you step out of the role of the expert in the room, it makes space for your students to take on leadership roles. While this can definitely feel uncomfortable, you may be pleasantly surprised to find that they (and you!) rise to the challenge. Besides, even if you're not an expert computer scientist, you are an expert in whatever it is you teach. Focus on your subject area goals, and let the CS skills be something you and your students learn together. Many content-area applications of Unfold Studio are differentiated, so that a successful project can use just a bit of programming or can be very complex. (This is called "low floor-high ceiling.") Whether it's creating a simulation of an ecosystem, writing interactive historical fiction, or thinking about different paths through a legal argument, you can use Unfold Studio to teach your content area. The :ref:`curriculum_unit` is an example of how computer science could be integrated into a sociology course. Writer's Workshop ================= Writer's Workshop is a pedagogical strategy from English/Language Arts, in which the class is structured around students writing and sharing their own stories. It takes some work to build a classroom community where students eagerly come into class and settle into their writing, (especially if they are used to having discipline imposed by an authority figure) but the payoff can be so rewarding. When your students have the opportunity to tell their stories and know they'll be taken seriously by their teachers and their peers, they may be willing to bring more of their lives into the classroom, and work really hard to craft their stories. There are many resources available (TODO: CITE) for supporting Writer's Workshop in your classroom. Writer's Workshop works particularly well in Unfold Studio, as everybody's published stories are available on the website and playing stories is an active process. Many students enjoy watching their peers play and replay their stories, and then discussing how they felt, and why they made certain choices. Mini-lessons ============ Mini-lessons are short (20 minutes tops) focused lessons tailored to particular skills. They work particularly well when students are invited, not required, to attend. This puts a good check on you too--if nobody chooses to come to the mini-lesson, maybe it wasn't needed. Mini-lessons go hand-in-hand with Writer's Workshop; when students are in charge of their own time, they can decide whether it's more productive to work on their own or to go to the mini-lesson. (One student asked, "Is it ok for me to sit close to the mini-lesson and listen in, but mostly do my own work?") We often offer mini-lessons on writing topics such as using dialogue, sensory details, irony, and character-development, as well as CS topics such as using variables, conditionals, state, and design patterns like a game with an inventory or creating characters who have variable qualities (level of trust, fatigue, exasperation, etc.). You might also offer mini-lessons on content-area goals. Here is a collection of :ref:`mini_lessons` we have developed. Once your students have gotten familiar with mini-lessons, you can ask them what topics would help them, or invite them to teach their own mini-lessons. Collaboration and pair programming ================================== Contrary to the stereotype of programming as a solitary activity, professional computer science is deeply collaborative: there is constant communication with clients and team-mates; colleagues critique each other's work in code reviews, and programs (along with documentation) build a shared understanding of a problem. It is common for open-source software projects to be co-written by hundreds of collaborators, whose forums and chatrooms buzz with arguments, suggestions, brainstorming, and support. There are many ways you can support collaborative practice in your teaching as well, even if you're stuck using one of those computer labs with fixed rows of solitary workstations. Encourage your students to support each other, to move around, and to work together. One common pattern is pair-programming, in which two students sit at one computer, periodically rotating who is typing. This encourages more thoughtful programming. .. _literacy_based_cs: Literacy-based computer science =============================== .. note:: In the near future, Unfold Studio will support real-time collaobration in the same story. This will unlock many new collaborative possibilities. .. _Unfold Studio: http://unfold.studio/