APCS Teaching Tips and Strategies

Download Report

Transcript APCS Teaching Tips and Strategies

APCS Teaching Tips and
Strategies
Joe Kmoch
Milwaukee Washington HS
[email protected]
www.whs.edu/~kmoch/apcs
Classroom
KarelJRobot
• Use this at the beginning of the course
• Very simple graphics environment and
instruction set
• Emphasizes OO thinking and syntax from
the very beginning
Classroom - KarelJRobot
• You and students are doing inheritance from
the very beginning
• Experience polymorphism a week or two
into this
• Work with control structures (if, while, for)
and think about how to construct them and
verify their correctness
Classroom - KarelJRobot
• Be able to read and write pre/post
conditioins as well as loop invariants and
assertions
• Deal with recursion in a graphical way
• Be able to begin to shift student paradigms
from sequential to recursive
Classroom - BlueJ
• Many IDEs available for java, most free
• BlueJ is unique because it’s relatively easy
to use - see graphical relationships of the
classes
• BlueJ allows you to execute individual
classes for testing
Classroom - Physical
Involvement
• Use physical objects or even the kids
themselves to learn and “feel” a topic
• Karel - act out methods
• Recursion - use plastic transparencies for
each instance of a method
• Recursion - use students to hold these
transparencies to form a “stack”
Classroom - Physical
Involvement
• Searching and sorting - use stick paper or
magnets on the board to work through
various algorithms
• Searching and sorting - use students moving
around to demonstrate algorithms
• Role playing - marine biology case study;
others developed by Dave Levine and
others
Professional Development
• Join APCentral for “official” stuff and other
information.
• Join the APCS listserv (but keep up with the
reading - there are many daily emails)
• Visit other sites such as Chris Nevison’s Unofficial
APCS site http://cs.colgate.edu/APCS
• I have some stuff at
http://www.whs.edu/~kmoch/apcs
• Find a professional friend and communicate,
perhaps sharing assignments, tests, teaching ideas
Professional Development
• Take a java class but…
• Make sure it is being taught as an OO class
• Not as a java syntax (aka Pascal, C, C++)
and “oh by the way, we can create classes”
later on in the course
• If you see all code in PSVM or in public
static functions in the class with PSVM,
look elsewhere