CodingDojo:
Filter:
HyperDisCo (extension) | Education | LiveCoding | PairProgramming

CodingDojo
ExtensionExtension

Shared coding practice online

Description

From https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.568.2621

"A Coding Dojo is a meeting where a group of programmers gets together to learn, practice, and share experiences. This report describes the authors’ experience of creating and running an active Coding Dojo in São Paulo, Brazil, sharing the lessons learned from the experience. The role of the Dojo in the learning process is discussed, showing how it creates an environment for fostering and sharing Agile practices such as Test-Driven Development, Refactoring and Pair Programming, among others."

This class is designed and implemented by Bruno Gola, for making CodingDojo sessions by internet possible.

First code examples:

Class Methods

.new

create a new CodingDojo with these arguments (largely the same as for the OSCRouterClient)

Arguments:

userName
password
serveraddress
serverport
groupName
groupPassword

Instance Methods

Instance Variables

.oscrouter

an OSCRouterClient by which the participants are connected.

.syncText

the SyncText object for sharing the written code.

.win

the window showing the timer and roles

.uv

the UserView showing the timer and role

.timer

a skipjack used for coding round timing.

Session Interface

.startSession

start a new session with an ordered list of participants. These names must be used in the oscrouter.

Arguments:

participants_order

.pilot

.copilot

.nextCopilot

the names of the participants currently in these roles

.myStatus

my role in the current round

.order

the current order

.rotate

rotate to the next pilot/copilot/next triple, and start timer

.startTimer

.resetTimer

start and reset the timer.

Internal Methods

These usually need not be used by hand.

.showTimer

.enableCodeSending

.disableCodeSending

turn codeSending for CodingDojoSession_<name> window on and off.

.newTurn

Arguments:

newPilot
newCopilot
newNext

.startNewTurn

Arguments:

pilot
copilot
next

.updateTurn