90 likes | 254 Views
APCS Teaching Tips and Strategies. Joe Kmoch Milwaukee Washington HS kmoch@whs.edu 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.
E N D
APCS Teaching Tips and Strategies Joe Kmoch Milwaukee Washington HS kmoch@whs.edu 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