We may earn an affiliate commission when you visit our partners.
Emily Bache

Do you work on a team where not everyone is enthusiastic about good design and writing automated tests? A Coding Dojo is a good way to promote good practices and improve your skills, learning in a group.

Read more

Do you work on a team where not everyone is enthusiastic about good design and writing automated tests? A Coding Dojo is a good way to promote good practices and improve your skills, learning in a group.

Do you work on a team where not everyone is enthusiastic about good design and writing automated tests? How can you promote good practices amongst your colleagues? If you've been working as a programmer for a few years, and perhaps have become the team lead, I expect you've thought about these questions. This course is about how you could hold regular "Coding Dojo" meetings where you and your team can focus on improving your practical coding skills together. You'll be practicing in a safe, collaborative environment, using simple "Code Kata" examples. It becomes a space away from your normal work, where you can discuss coding practices like Test Driven Development and Refactoring, then later bring your new skills to bear in your production code. This course should give you; the coding dojo organizer, the supporting materials you need to start a Coding Dojo, and get everyone who attends to practice better software development techniques. It should also allow you to improve your communication and facilitation skills, and help your team to gel. Kent Beck once said "I'm not a great programmer, I'm just a good programmer with great habits". What are you doing to improve your coding habits? This is the course with the advice and encouragement you need: get together with your team and hold a coding dojo! It's fun!

Enroll now

What's inside

Syllabus

What is a Coding Dojo and why would I want to hold one?
Teaching and Learning Test Driven Development
Collaborative Games for Programmers
Sample Series of Coding Dojos
Read more
Organizing and Facilitating a Coding Dojo
A Tool for the Coding Dojo: Cyber-Dojo

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Introduces the value of Coding Dojos and why one may wish to host one
Taught by Emily Bache, who has written a book on Coding Dojos
Covers topics like Test Driven Development, Collaborative Games for Programmers, and organizing Coding Dojos
Provides materials for facilitating and organizing a Coding Dojo
Targets experienced programmers looking to improve their coding practices
Builds team skills, communication, and facilitation abilities

Save this course

Save Coding Dojo: Test Driven Development to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Coding Dojo: Test Driven Development with these activities:
Read 'Clean Code' by Robert C. Martin
Gain valuable insights on software design principles, code readability, and best practices.
View CLEAN CODE on Amazon
Show steps
  • Acquire a copy of 'Clean Code' by Robert C. Martin.
  • Set aside dedicated time to read the book.
  • Take notes and highlight important concepts.
  • Reflect on how you can apply the principles to your own coding practices.
Create a Coding Journal
Regularly document your coding journey, including challenges faced, solutions found, and lessons learned.
Show steps
  • Acquire a notebook or digital journal for your coding journey.
  • Set aside time each week to reflect on your coding experiences.
  • Record your successes, challenges, and insights in your journal.
  • Periodically review your journal to identify areas for improvement and growth.
Coding Katas
Practice writing code in a safe environment to improve your coding skills and reinforce concepts learned in class.
Browse courses on Test-Driven Development
Show steps
  • Choose a simple coding kata exercise.
  • Write code to solve the exercise using test-driven development principles.
  • Refactor your code to make it more efficient and maintainable.
  • Share your solution with others for feedback and improvement.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Collaborative Coding Sessions
Work with a partner to solve coding challenges, discuss design decisions, and provide constructive feedback.
Browse courses on Pair Programming
Show steps
  • Find a partner with complementary skills and interests.
  • Choose a project or coding challenge to work on together.
  • Take turns driving the keyboard and providing feedback.
  • Discuss different approaches to solve the problem and make decisions collaboratively.
  • Review and refactor your code together.
Follow Online Tutorials on Advanced Coding Techniques
Expand your knowledge and skills by exploring online tutorials and resources that cover advanced coding techniques.
Browse courses on Test-Driven Development
Show steps
  • Identify specific areas where you want to improve your coding skills.
  • Search for reputable online tutorials or courses that cover these topics.
  • Follow the tutorials diligently, completing all exercises and projects.
  • Experiment with the techniques you've learned in your own coding projects.
Attend a Coding Dojo Workshop
Engage in hands-on practice and learn from experienced professionals in a structured workshop setting.
Show steps
  • Research and identify a reputable Coding Dojo workshop.
  • Register for the workshop and make necessary arrangements.
  • Attend the workshop, actively participate in exercises, and engage with instructors.
  • Implement the techniques learned in your own coding projects.
Write a Blog Post on Coding Dojo Practices
Share your learnings and insights from the Coding Dojo sessions by writing a blog post that can benefit others.
Show steps
  • Choose a topic related to Coding Dojo practices that you're passionate about.
  • Research and gather information from your own experiences and other sources.
  • Write a detailed outline for your blog post, including an introduction, main points, and conclusion.
  • Draft your blog post, ensuring it's well-written, informative, and engaging.
  • Edit and proofread your blog post carefully before publishing it.
Contribute to an Open Source Coding Project
Apply your skills in a real-world setting by contributing to an open source coding project that aligns with your interests.
Browse courses on Software Development
Show steps
  • Find an open source project that you're passionate about and that aligns with your skills.
  • Review the project's documentation and contributing guidelines.
  • Identify a specific area or issue that you can contribute to.
  • Create a pull request with your proposed changes.
  • Collaborate with the project maintainers to refine and merge your contribution.

Career center

Learners who complete Coding Dojo: Test Driven Development will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers specializing in Test Driven Development collaborate with teams to ensure software functionality without errors through the planning and execution of tests. This course, Coding Dojo: Test Driven Development, can provide the foundation needed to succeed as a Software Developer through collaborative exercises and practical coding examples. The course materials can also help you improve communication and facilitation skills.
Software Test Engineer
Software Test Engineers are responsible for analyzing software and developing test cases to identify potential bugs or errors. Test Driven Development can play a crucial role in the testing process, and this course, Coding Dojo: Test Driven Development can enhance understanding of the methodology and improve proficiency in its use.
Quality Assurance Analyst
Quality Assurance Analysts evaluate software to ensure it meets quality standards, and Test Driven Development is a key component of software quality assurance. This course, Coding Dojo: Test Driven Development, can provide valuable insights and practical skills to enhance the ability of Quality Assurance Analysts to deliver high-quality software.
Software Architect
Software Architects design and develop software systems, and their deep understanding of software development methodologies can be enhanced by Test Driven Development. Coding Dojo: Test Driven Development can equip Software Architects with practical skills to improve software quality and reduce the risk of errors.
Computer Programmer
Computer Programmers are responsible for coding, testing, and maintaining software, and proficiency in Test Driven Development is highly valued. Coding Dojo: Test Driven Development can provide a structured approach to learning Test Driven Development, enhancing coding skills and improving the quality of software outcomes.
Software Development Manager
Successful Software Development Managers must possess strong technical knowledge and leadership abilities. Coding Dojo: Test Driven Development can help build a foundation in Test Driven Development, a key software development methodology, and enhance collaboration and communication skills, enabling effective management of software development teams.
Web Developer
Web Developers specializing in back-end development focus on the server-side of web applications, and Test Driven Development is becoming increasingly important in this field. Coding Dojo: Test Driven Development can provide valuable insights and practical experience in Test Driven Development, an essential skill for successful back-end Web Developers.
Systems Analyst
Systems Analysts study existing systems and design new ones, and a deep understanding of software development methodologies is crucial for their success. This course, Coding Dojo: Test Driven Development, can enhance their knowledge of Test Driven Development and improve their ability to design and analyze software systems.
Database Administrator
Database Administrators are responsible for managing and maintaining databases, and Test Driven Development can contribute to the development of high-quality database systems. Coding Dojo: Test Driven Development can provide a structured approach to learning Test Driven Development, enhancing skills in database design, implementation, and maintenance.
Data Analyst
Data Analysts may benefit from understanding Test Driven Development as it can improve the quality and reliability of data analysis tools and pipelines. This course, Coding Dojo: Test Driven Development, can enhance their ability to develop robust and reliable data analysis systems.
Information Security Analyst
Information Security Analysts may find Coding Dojo: Test Driven Development helpful in developing a deeper understanding of software development methodologies, particularly in the context of secure software development. This course can provide insights into how Test Driven Development can contribute to the creation of more secure software systems, improving the overall security posture of an organization.
Network Administrator
Network Administrators may find Coding Dojo: Test Driven Development helpful in enhancing their understanding of software development methodologies. The course may provide insights into how Test Driven Development can be applied to network management and optimization tasks, improving the reliability and efficiency of network systems.
Technical Writer
Technical Writers specializing in software documentation may find Coding Dojo: Test Driven Development helpful in gaining a better understanding of software development processes. This course can provide insights into the importance of clear and accurate documentation, particularly in relation to Test Driven Development, which can enhance the overall quality of software documentation.
Project Manager
Project Managers in the software development industry may find Coding Dojo: Test Driven Development helpful in enhancing their understanding of software development methodologies. This course can provide insights into how Test Driven Development can contribute to improved project planning, execution, and quality control, leading to more successful software projects.
Business Analyst
Business Analysts may find Coding Dojo: Test Driven Development helpful in gaining a better understanding of software development methodologies, particularly in the context of business requirements. This course can provide insights into how Test Driven Development can contribute to the creation of more robust and reliable software systems that meet the needs of the business.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Coding Dojo: Test Driven Development.
Provides foundational knowledge of test-driven development, including its principles, benefits, and implementation techniques.
Offers practical guidance on applying test-driven development in real-world projects, covering topics such as refactoring, code organization, and testing legacy code.
Explores advanced unit testing techniques, including mocking, dependency injection, and testing asynchronous code.
Emphasizes the importance of writing clean and maintainable code, which is crucial for successful test-driven development.
Provides a comprehensive guide to test-driven development in Python, covering topics such as unit testing, integration testing, and mocking.
Introduces behavior-driven development (BDD), a testing approach that focuses on describing software behavior from a user perspective.
Provides a comprehensive guide to testing JavaScript applications using the Jasmine framework.
Provides a comprehensive guide to testing Vue.js applications, covering topics such as unit testing, integration testing, and end-to-end testing.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser