You are invited to a three-day residential dojo balanced, calm and clearly decisive when action dojo and Designing for Wiser Action. tvnovellas.info: Basics (Using explicit.) / onclick handler in HTML). action="#">.
|Language:||English, Spanish, Japanese|
|ePub File Size:||18.60 MB|
|PDF File Size:||19.39 MB|
|Distribution:||Free* [*Sign up for free]|
Danilo Sato Mariana V. Section 4 will discuss the as- pects of a Coding Dojo that foster learning and tacit knowl- A Coding Dojo is a meeting where a group of program- edge sharing, concluding in Section 5. The role of the Dojo in the learning process is discussed, showing A Coding Dojo is a periodic meeting usually weekly how it creates an environment for fostering and sharing Ag- organized around a programming challenge where people ile practices such as Test-Driven Development, Refactoring are encouraged to participate and share their coding skills and Pair Programming, among others. The main principles of the Coding Dojo are to create a Safe Environ- ment which is collaborative, inclusive, and non-competitive where people can be Continuously Learning. We need problem with different strategies — and Baby Steps — each to find ways of splitting the practice from the pro- step towards the solution should be small enough so that fession. We need practice sessions. The meeting is held The idea of a Code Kata was initially proposed by Dave in a room with enough space for all the participants and Thomas as an exercise where programmers could write usually requires only a projector and a computer or lap- throwaway code to practice their craft outside of a work- top.
Laurent Bossavit later proposed the discussions is also valuable. The participants are encour- idea of a Coding Dojo: a session where a group of program- aged to develop the solution using Test-Driven Develop- mers would gather to solve the Code Kata together . Al- ment TDD  and are free to choose whichever program- though the session is organized around a programming chal- ming language they prefer.
There are two main meeting lenge, the main goal of a Coding Dojo is to learn from oth- formats: ers and improve design and coding skills through deliberate practice. The session goal proved over time by retrospectives.
Section 3 will present is that everyone should be able to reproduce the steps lessons learned from the weekly meetings being held since and solve the same problem after the meeting. Some of the sessions were highly focused problem together, following TDD and Pair Program- on design problems and algorithms, which left less time for ming in time-boxed rounds usually between 5 and 7 writing code, but the participants liked to learn from the dis- minutes.
At the end of each turn, the pilot joins the cussions. On the other hand, the majority of the sessions re- audience, the co-pilot becomes pilot, and a new co- quired less design and algorithms discussion, leaving more pilot joins the pair from the audience.
An extra rule is time to write code and allowing the participants to exper- that discussions and suggestions should only be given iment with a wide range of programming languages, such when the pair arrives in a green bar, with all the current as Java, C, Ruby, Python, Lua, and Smalltalk.
The sessions tests passing. The reason is that, while on a red bar, the usually follow the same process: pair should focus and work together to pass the tests. Each op- tion is briefly presented and the participants vote on which problem will be solved. A typical Dojo Randori session Kata or a Randori. Some extra sessions were done during the meeting, moderating discussions, conducting the retro- the University holidays and most of the session reports are spective, and cleaning up the room after the session.
The available on the international Coding Dojo wiki. The Scribe is responsible for publishing the results of the ses- number of participants varied from 3 to 16 and their skill sion and sharing it with the people that could not attend the level ranged from undergraduate students to experienced meeting.
He handles tasks such as posting the session report programmers. The group performs a root cause analysis and discusses how these impediments After over 6 months of weekly meetings, the retrospec- could be eliminated, coming up with a series of action tives allowed the process to be improved.
Section 3. People take responsibility to handle each action discuss the aspects of the Coding Dojo that went well. Sec- item for the next meeting, the results are recorded for tion 3. Finally, in Section 3. At the second meeting, during the Randori coding session, the time-boxed rounds As described in the previous section, every meeting ends became a race of who could produce more code and get with a short retrospective . The participants receive red closer to solving the problem.
The coding happened really and yellow sticky notes and write positive and negative as- fast and soon some participants could not keep up with what pects of the session.
In the beginning, the group followed changes were made and why. These questions led peo- finishing the problem should never be the goal of a meet- ple to write items about the process used for the meetings, ing. More than that, it was agreed that not writing the en- such as when to choose the problem, when to change the tire solution was OK, as long as the participants could learn programming language, what laptop to use, etc. This kind something from the coding session.
With that principle in mind, the participants take time to write clean and understandable code, and the group of- ten does not finish implementing the entire solution to the problems. Unlike a programming challenge or contest, go- ing fast in a Coding Dojo session is not beneficial. However, for a long time the group disrespected a bit the time-boxes. That is, if a pair was in the middle of writing a test or finishing a refactoring, and the group considered this activity to be short, the pair was allowed to finish the current code before switching.
At first this took 1 or 2 minutes more, but this overtime grad- ually increased until there was no more a time-box, but a Figure 2. Conducting the retrospective minimum time for each pair. This actually made it difficult for everyone to be focused After some time, the retrospective format changed to re- on the big picture — the longer a pair stayed at the front, less flect the objectives of the Coding Dojo. Now participants and less people payed attention to them.
As a result, the are asked to think about the following questions: group decided to adopt really strict time-boxes. This allowed the meetings to be more dynamic an active process and to verify that the session met its and easier to follow. The participants have not yet found a solution pects of a meeting are discussed, and the main im- to this, but suggested the option of having a pause requested by anyone in the audience for a time-boxed discussion.
Dur- failing. A red bar is the time when the current pair is sup- ing that time, the coding pair should conduct the discus- posed to practice and get to a green bar. Unless the pair asks sion and the timer is paused. Another alternative would be for help, the other participants should not give suggestions.
One of the problems the participants have faced is that people talk at bad mo- 3. The authors believe this is related to cultural aspects of the group. However, be- they like to chat with other peers, disturbing the focus of tween discussions or distractions, the group sometimes for- the session.
The moderators tried to fight that and it got gets what is the current stage. The participants felt the need a bit better with time but it is no longer a rule.
It became of visual feedback of the current stage, such as an infor- more like a good practice that the moderator should remind mation radiator on an XP team. Therefore, some means of the participants when things start getting out of control.
The Perl script would collect 3. When the program- between two nodes on a graph are the appropriate solution. Moreover, priate tests. Then, another participant adapted a script to re- the participants found that implementing the simplest solu- port the autotest results in the OS notifications system, with tion to make the current test pass, and drive the algorithm a little pop up on the top right corner of the screen.
When through examples of the expected outcome usually required the pop up is red, it stays on the screen until it is clicked.
This step usually took several turns to be understood and implemented, during which the tests re- One interesting tool that was appreciated by the participants mained red. The moderator chooses a card from the Creative The reason might be that complex algorithms usually re- Whack Pack . Each card contained a different creativ- quire a broader knowledge experience and, unless the pro- ity strategy that inspired the thought process and gave in- grammers have the steps to drive the proper implementation sights into how to approach the problem at hand.
Some in their heads, they will hardly get to a solution by simply examples of cards that gave insights during the discussions following TDD with examples of input and output pairs. After hearing the small story contained in each card, the participants were more willing to ask the same questions during the meeting. Other strategies were also valuable when trying to come up 3. Randori sessions are important because they provide learn- ing and practice to all participants.
Prepared Katas are also 3.
Because As described in Section 2, one of the rules of a Randori ses- of that, this kind of session is much less usual than Randori sion is that the audience should not speak when the tests are sessions. The code gen- erated on a Coding Dojo session rarely transmits the lessons Open source communities know the issue very well: Emacs the participants experienced during the meeting to achieve or VI?
Each programmer has his preferred tools, environ- that result. What could help transmit that experience? What ments, key sets, and shortcuts.
With laptops, the problem is tools are lacking to improve a Coding Dojo session? Do also extended to hardware: each laptop according to its ori- other Coding Dojo share the same issues? If so, have they gin or manufacturer has a slightly different keyboard.
Gath- addressed this and how? Attempts to change the environment brought the same Since the Coding Dojo sessions should evolve with time as issues to other people. Like this presentation?
Why not share! Embed Size px. Start on. Show related SlideShares at end. WordPress Shortcode. Published in: Full Name Comment goes here. Are you sure you want to Yes No. Murali Kannan at MindTree Ltd. Ashutosh Ankur. Show More. No Downloads. Views Total views.
Actions Shares. Embeds 0 No embeds. No notes for slide. Complete Dojo 1. Dojo Tutorial Girish Srivastava girish. After completing the tutorial you will be able to understand about Dojo framework.
What Is Dijit? Dojo and JQuery scores the best. Also, the difference in being a library or framework counts. Thus, putting it all together: You can use Dojo by including this file in your page. The default theme is tundra, which we use in our sample code by including tundra.
Before you use functionality from a particular package, you must include that package in your page. The dojo. Button" tells Dojo to load the dijit. Button class on your page. The only difference is that you must add the dojoType attribute indicating name of the Dijit widget that you want to use: If you do not set it to true, by default, system will not create any widgets. This causes Dojo to attach an onload event handler for the body. From that event handler, Dojo traverses the DOM tree and instantiates the widgets whenever a widget markup is located.
This flag turns debugging on or off. Its default value is false. When you turn this flag on, Firefox generates extended debugging information in Firebug. If youre using some other browser, it includes the Firebug Lite script files in the page and starts displaying the Firebug Lite console.
Button widget. First, lets recap DOMs event handling scheme. The handler function looks something like this: A Dojo buttons onclick attribute takes the name of the event handler method.
You dont actually call the method like you do for a regular DOM button. Second, the event handler method gets only one parameter — the Event object. The event handler is registered as follows: SetData 30 ; Obj1.
SetText "Obj1: SetData 60 ; Obj2. SetText "Obj2: ShowData ; Obj1. ShowText ; Obj2. ShowData ; Obj2.