Readings should be done before class. For each reading, identify a quote from the article that you find thought-provoking (whether or not you agree with it). Also think about the connections between the articles, as they are assigned together for a reason.
Some readings are only accessible through WPI's library proxy (unless you are on the campus network)
No pre-assigned readings since this is the first class meeting. We will discuss your initial ideas of what introductory computing education should look like at the upper high-school or early college level.
Learning: From Speculation to Science. Chapter 1 of How People Learn: Brain, Mind, Experience, and School. National Research Council, 2000 (expanded edition).
Note there are two books from NRC whose titles start with "How People Learn" -- make sure you are matching the entire title and chapter name.
Constructivism in Computer Science Education. Mordechai Ben-Ari. Journal of Computers in Math and Science Teaching (2001), 20(1), 45--73.
Note that this same author has a conference-length (6 page) paper by the same name (appearing in a conference called SIGCSE). We are reading the (slightly) longer (journal-length) version, as it contains additional perspective and detail.
How Experts Differ from Novices. Chapter 2 of How People Learn: Brain, Mind, Experience, and School. National Research Council, 2000 (expanded edition).
The Structure and Interpretation of the Computer Science Curriculum. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi. Journal of Functional Programming, 2004.
This paper describes the "How to Design Programs" Curriculum that is used in the second paper. This is the same curriculum that we use in CS1101/CS1102 at WPI; the paper dicusses both the curriculum and its underlying philosophy (so reading it should be useful even if you took 1101/2).
The use of code reading in teaching programming. Terea Busjahn and Carsten Schulte, Koli Calling 2013. (file available in Canvas)
Come prepared with your own answer to the "mystery question" posed in the paper. You don't have to turn in your answer, but be ready to state it to the rest of the class.
Colleen will join us as we discuss one of her recent papers as a class. See link below. Colleen has asked that you fill out this brief survey with your responses to the article (after you read it) -- Colleen and I will both be able to see the results of this.
This class, we look at some of the practical issues about how to actually implement CS education across K-12. This is part curriculum-design, part public policy.
Those of you who are particularly interested in K-12 might want to take a look at the recently-released K-12 Computer Science Framework, a set of broad learning objectives for K-12 computer science (meant to advise efforts to write specific state policies and standards for CS education). The research chapter (chapter 10) ties into themes of this course. Practically this document is also useful for seeing how CS is being conceptualized for K-12.
This class, we look at some non-technical factors that affect participating in computing classes: authentic experiences and the role of community.
Situated Learning in Computer Science Education. Mordechai Ben-Ari.
If you find you need a crash course on Lave and Wegner's Communities of Practice theory while reading this paper, you can look at this summary.
For those of you interested in how social culture interacts with CS learning, you might also want to look at DiSalvo et. al's article Saving Face While Geeking Out: Video Game Testing as a Justification for Learning Computer Science, which talks about how they had to frame the Glitch Game Tester project (described in other articles this week) so that participants could defend their participation to family and friends. I didn't add this to the list for this class simply on length, but it raises important issues on framing CSEd for under-represented communities.
This class, we look at the promises and some of the realities of MOOCs (massively open online courses). (Note: Kathi will be away, but class will still meet -- you'll use the questions under the reading list to frame your discussion.)
Discussion Questions: Write down your (brief) answers to these and upload to Canvas prior to class.
This class, we will look at some educational design theory for online education. We'll look at the first two chapters from Clark and Mayer's book "e-Learning and the Science of Instruction : Proven Guidelines for Consumers and Designers of Multimedia Learning". You can access the book through the WPI library (login required) or get the chapters in Canvas.
If you don't have time to look at both chapters, focus on chapter 1 if your last name starts with A-M, and chapter 2 if your last name starts with N-Z. That way, we'll have people in class who've seen each chapter.
The other link is a one-page summary of the design principles that form chapters 3-8 of this book. Everyone should look at that summary.
Peer Instruction is a participatory learning model that arose at Harvard and has been studied in CS contexts as well. This sessions gives a concrete example to counter-balance the criticisms of plain lectures from Tuesday. You'll read a short overview of the technique, a retrospective from Physics, a study of using PI in upper-level CS courses, and some tips on what not to do, to help you hone your understanding of the technique.
Discussion Questions: (you don't need to submit your answers -- just go through these in class as you discuss the papers. I'll have to miss class this one last time for a previously-scheduled meeting)
If an instructor uses clickers to have students answer multiple-choice questions during lecture, does that count as Peer Instruction? If not, what defines Peer Instruction?
Does Peer Instruction require the use of clickers? If not, how could you implement PI without clickers? Does show-of-hands work, or does that violate conditions needed to make it work
Why/when do you think Peer Instruction is effective?
Think about potential uses of Peer Instruction at different levels of expertise: intro classes, mid-level undergraduate classes, graduate courses, etc -- what kinds of topics do you think PI is particularly well suited to at each level? Is there any role for such a technique in graduate courses?
What of the literature that we've read so far this term ties into the apparent results around PI?
What are the most interesting open questions you can identify about effective use of PI?
This session looks at papers on how CS education prepares students for industrial software engineering positions.
Each of you will discuss your findings from your course project for roughly 5-7 minutes. You should describe the problem that you chose to work on, what you learned about the current state of your topic, what you found interesting or surprising about your topic, and what you think the key challenges are for your topic area going forward (unanswered questions, research or policy challenges, etc).
You do NOT have to make a formal presentation with slides (though if you want to project a figure etc, you are welcome to do so). It's fine to give your report from your seat. We'll leave some time for questions too, since the goal of the presentations it to give everyone a sense of the state of topics that we didn't get to discuss as an entire class.
The following list is the presentation order, which I developed based on your actual topics (trying to create meaningful transitions/clusterings where appropriate). We get as far as we can on Thursday, finishing the rest on Tuesday (May 2). My goal is to finish 9-10 of the presentations on Thursday.
Order: Neeraj, Giang, Dennis, Logan, Ken C., Will, Francis, Jonathan, Brayden, TJ, Jay, Tyler, Maryann, Andrew, Ken T.
Continuing the remaining presentations, plus some final wrap-up discussion.