preloader

How to improve your programming skills with our exercises?

Explore
image

Introduction

First part of the OmniBox course is OmniTDD. It’s repository with applications which can be used for learning TDD in Java. Each application consists of 4 levels of exercises with increasing difficulty and fully working application with a kind of user interface. Every one has a working version on the master branch and 4 different exercises - called levels:

Level 1

almost complete application with one or two missing functionalities and implemented tests

Level 2

most of the features are not implemented, the tests contain only examples and method signatures

Level 3

all test are missing, one or two functionalities implemented as examples

Level 4

only interfaces are provided

Diffs

Because we use git, the student can easily check the missing code and use it as a tip for resolving exercises. These tips are helpful when a student attempts to exercise at home on their own initiative - this prevents deadlocks and allows them to review exercises on their own.

Terminal

git diff -R easier_branch path/to/file

image

IntelliJ IDEA

Show Diff with Working Tree command with easier branch

image

Merge Requests

Every student can push their work to a remote repository hosted on GitLab and create a Merge Request. The Merge Request shows exactly what changes were introduced, review them and add comments to specific part of the code. The remote repository is always available for you.

Change

make changes in the project

Commit

commit your changes

Push

push your changes to the private branch in remote repository

Merge Request

create merge request from your private branch to master branch in your repository

image

Gitlab & CI

Continuous Integration with tests and static code analysis

At each level, we have prepared a CI environment which builds the code, tests it and performs static analysis of student’s changes. Without installing any additional tools or trainer assistance, students can get results from CI and fix code by themselves. This shows them how it works in real development environment and prepares for real-life challenges in the future.

  • Build Code
  • Tests
  • Checkstyle
  • Spot bugs
image

Register

Start is pretty easy. Follow below steps to get exercises and start work. Then just good luck and have fun.

Get exercises

Clone OmniTDD project to your workstation

Enjoy

Do exercises on your level and improve your skills

Chat

Login to chat using Cognito and share your thoughts

image
0

Happy students

0

Projects completed

0

Average rate in % on offline courses

Team

Meghna
  • Chat - @kwal

Kamil Wal

Developer

Java developer, JVM & Java basics trainer

Meghna
  • Chat - @wpater

Wojciech Pater

Developer & Originator

Devops engineer, Java developer, TDD, Design Patterns & HTTP trainer

image

Future

Incomming features:

Applications

more different applications (Classifields, Markdown Generator)

Documentation

more detailed description for each prepared test case

Mocks

structure for more demanding mocks

CI

integration tests in CI