Archive for November 4, 2015

What does a CS methods class look like?

There are only a couple of universities in Georgia where you can get a CS teaching endorsement (a kind of credential that is an add-on to an initial certification).  In both of them, you have to have a CS methods class, where students learn how to teach CS.  One of them needed a CS methods course taught, but didn’t have anyone available to teach it.  The problem was that it was needed by a single student (these endorsement programs are woefully undersubscribed).  I offered to teach it — though not officially, since I’m a GT professor and not a professor at these other schools.  So, someone else was signed up to be the instructor-of-record, and I ran the course, all on-line with weekly Skype chats.

Folks might be interested in what’s in a Methods course, so I’m sharing my draft syllabus here. Since there was only one student, I made up a syllabus to submit to check that it met the requirements of the course, and we didn’t update it afterwards. I make no claims about quality of the course.  It was a class for one student to meet a requirement, and I wanted the experience of teaching a CS methods course.  It did meet all the requirements of the program (which were more prescribed and substantial than most CS courses I teach).  Not all the links here are live — some went to servers inside firewalls, and others were sent out via email.

Syllabus for CS Methods Course

Learning objectives:

  • Be able to describe use and when one should use different CS teaching approaches like live coding, peer instruction, pair programming, worked examples, and kinesthetic learning activities.
  • Be able to describe and diagnose common student misconceptions, e.g., with assignments, with while vs. if, and so on.
  • Be able to describe approaches to teaching computer science, including constructionist, objects-first, functions-first, media computation.
  • Write a lesson plan to teach a CS topic for a specific grade level, including assessments.

Assignments (and distribution for final grade):

  • Reading reflections (4): 25% of grade
  • Lesson plan: 25%
  • Exam and grading rubric: 15%
  • HW assignment design and grading rubric: 15%
  • Project: Create all the teaching material for a single unit within a Computing Pathway class, including lessons plans, homework assignments, grading rubrics, and tests: 30%

Course Outline:

Week 1

Week 2

  • Write Reading Reflection #1: Do you agree with the challenges to learning programming that you read there? What additional challenges have you seen?

Week 3

  • Read Juha Sorva appendix A. Link to whole thing.
  • Discuss: How would you identify these misconceptions? How would correct them?

Week 4

  • Read a paper on Pair Programming (probably this one).
  • Write Reading Reflection #2: Why do you think Pair Programming works as well as it does in this study? Do you think it would work as well in a high school setting?

Week 5

  • Read a paper on Peer Instruction: Pick any one that you like on this site.
  • Review KLA website.
  • Read four blog posts on worked examples in classroom from this site.
  • Discuss: Peer instruction, KLA, worked examples, gesture: When are they useful and when aren’t they?

Week 6

  • Two readings on CS assessment: On concept inventories, and how do we assess CS.
  • Write Reading Reflection #3: These papers are both undergraduate computer science. How would it be different when accessing computer science at the high school level? Would the issues be the same or different?

Week 7

  • How we design CS curricula.
  • Discuss: Which of these approaches would work best for high school students and why? When would one work better than another?

Week 8

  • Write Reading Reflection #4: Based on all of these readings, come up with a philosophy of teaching K-12 computer science. Pick a grade range you prefer (elementary, middle school, secondary), and describe: What do you think ought to be taught? How do you think it ought to be taught? How do you think it ought to be assessed?
  • Discuss the reflection, and pick a topic to write a lesson plan on

Week 9

  • Write a lesson plan: How would you teach the CS topic?
  • Discuss afterwards.

Week 10

  • Write a homework description and grading rubric: What would you want students to do, to learn this topic? What misconceptions would you expect? How would you assure yourself they got it right?
  • Discuss afterwards.

Week 11

  • Write an exam to test knowledge of that topic and the grading rubric for that exam.
  • Discuss afterwards

Week 12

  • Discuss Planning for project. What worked, and what didn’t work? Are there additional things you need to know?

Week 13

  • Week to do additional reading, or to identify a topic for the project.

Week 14

  • Work week on Project

Week 15: Project completed

  • Project: Create all the teaching material for a single unit within a Computing Pathway class, including lessons plans, homework assignments, grading rubrics, and tests

November 4, 2015 at 8:13 am 15 comments

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

Join 9,005 other followers


Recent Posts

Blog Stats

  • 1,878,939 hits
November 2015

CS Teaching Tips