Classroom Setup

Comfortable room with plenty of space for students and instructor. Table seating is preferred over auditorium to facilitate small group discussions.

Facilities Needed

  • HDMI or VGA projector and screen
  • White board and markers
  • Flip chart and markers
  • Masking tape (or self-adhesive flip chart paper)
  • Post-it notes
  • Pens
  • Guest internet access for instructor with 20 Mbps bandwidth
  • Seating

  • Side-by-side seating is needed for pair exercises.
  • There is no need to plan the pairings in advance.
  • Table seating is preferred over auditorium to facilitate small group discussions.
  • Computer Needs

  • Exercises are done in pairs.
  • One computer for every two attendees suitable for pair work.
  • Internet access for students
  • Modern web browser (post Internet Explorer 6)
  • Open network access to:
    • google
    • amazon cloud servers like cyber-dojo.org
    • Please test your network access by visiting cyber-dojo.org, 'Setup' and 'Start' any exercise. If you can select an animal, and then see the exercise instructions and code edit window, your site is ready for the exercises.
  • Legacy Code Workshop Tooling

    Embedded C and C++ Off-Target Development Environment Options

    You will need one of these off-target build and execution environments:

  • Linux: gcc or clang
  • Mac: gcc or clang
  • Windows: Linux virtual machine running in VirtualBox
  • Windows: cygwin (Default install + 'Devel' package)
  • Windows: Visual Studio 2012 or later

  • For windows we highly recomend using a Linux virtual machine for your unit test environment. The Linux command line is very powerful for automating repetitive programming activities.

    Non-Embedded C/C++Workshops

  • Likely that no special build tools are needed
  • Install the test harness of your choice and get a simple example test running

  • Starter kits for C and C++

    James provides two starter kits and instructions for getting a CppUTest environment set up.
  • CppUTest gcc starter kit -- you may need to tweak the warn ing flags.
  • CppUTest Visual Studio starter kit -- you may have to tweak the project files.
  • .

    Android Workshops

  • Install native Java build environment
  • Install junit

  • In addition to a compilation environment, attendees will need:

  • Access to the production source code version control system.
  • Access to the target environment header files.
  • An editing environment or IDE.
  • Access to any existing unit test environment.

  • Why do I need different development tools for the legacy code workshop?

    Unless you are a special case, your target build and execution environment is slowing you down. One goal of our TDD training and workshop is to help you get your code off the target for unit testing. We'll discuss many advantages during the course. In this training we'll start to reduce the impact of the target hardware bottleneck from your daily work.

    Student Prerequisites

    Programmers or managers with programming experience.

    Attendee Preparation

    Attendees complete a short interview, and prepare their laptops for the Legacy Code Workshop (we will discuss during class).

    Course Hours

    We plan a 7.5 hour day including time for lunch and breaks. It is an intense day at 7.5 hours, though if people want to continue on exercises longer, or have more discussion, we can go over the scheduled time as needed. It is best if your organization prepared for you to work on training activities without interruption during the core hours.