Title: Distributed Development and Teaching of Algorithmic Concepts
1Distributed Development and Teaching of
Algorithmic Concepts
- Seth Teller, Nathan Boyd, Brandon Porter, Nick
Tornow - MIT Computer Graphics Group
- graphics.lcs.mit.edu
2Motivation
- Teach algorithmic concepts
- Students demonstrate mastery byexhibiting
correct algorithm for concept - Increase efficiency of teaching staff
- Less administration more involvement
- Web distribution, evaluation, feedback
- Templated development kit
- Distributed creation of new modules
3Foundational Work
- Algorithm animation
- Zeus (Brown 91) Interactive Illustrations
(Trychin 97) - Data-flow software architectures
- Conman (Haeberli 88), AVS (Upson et al. 89)
- Web-based teaching
- WebCT (Goldberg et al. 96), JScheme (Hickley
97) - Web chat, whiteboard, video, etc.
- Vat, Wb, Vic (McCanne 94)
- Stages of learning
- Perceiving structure integration
actingfeedback reflection (Laurillard 93)
4Fuse-N system Contributions
- Web-based curriculum distribution, coursework,
evaluation, feedback - Four distinct pedagogical modes
- Reference Manual Implement Difference
- Shared lab bench metaphor for student, staff
work interaction - Authoring kit to facilitate module development by
other educators
5Student Perspective
- Concept Module
- Represents algorithmic concept
- Pedagogical modes
- Reference (correct, but source hidden)
- Manual (non-algorithmic)
- Implement (algorithmic)
- Difference (validation)
-Demo-
6Data-Flow Desktop Framework
- Data-Flow metaphor supports
- Per-module, typed, input/output ports
- Concatenation of modules (chaining)
- Aggregation of modules (abstraction)
- Per-student state (persistence)
- Network transparency
- Test suites, event logging, etc.
-Demo-
7Interaction Feedback
- Avatars for each student, staff person
- Visual status, location of person
- Mechanism for message exchange, etc.
- Desktop sharing (e.g., with a TA)
- Allows selective/wholesale state sharing
- Mechanisms for distributed data-flow
- Logging, checkpointing of student work
- Forms-based feedback, grading
-Demo-
8Staff Perspective
- Instructors select and organizecurricular
material (as usual) - Monitor and guide student progressthrough
assignments - Provide feedback on performance
- Administer course through per-sistent web
database
9Technical underpinnings
- Client-server architecture
- Server-side compilation
- No development environment necessary on client
- All code in Java for cross-platform,
cross-browser use server retargeting - Integrated editor, chat, whiteboard (now),
debugger, video (planned)
10Future Directions
- Improved learning curve, interface
- Synergy with other educational efforts
- Increased collaboration capabilities
- Authorization security improvements
- Debugging and reverse debugging
- Expanding breadth of current modules
- Come see Fuse-N at the
- Electronic Schoolhouse!
11slide 5 (student perspective) call up
bresenham module show reference mode
show manual mode show implement mode
type in two lines of code to draw
endpoints evaluate it
run code show difference modes
show difference with above two lines
then switch versions to (previously
typed) correct version, show
that difference is null.
12slide 6 (dataflow framework) show
scan-conversion concept graph show data
coursing through system to generate polygon fill
image show a connection being re-routed to
cause interesting variation -- say, to
render in wireframe rather than fill?
13slide 7 (interaction) show avatars
how ? show sharing how? show
feedback from staff call up poly-fill
module call up grading form fill
in grading form, with fill module running nearby
submit grading form