A project-oriented software engineering book, in which readers are expected to be involved in a software project. By doing so, it is intended to give readers the chance of having practical experience on the taught material and their programming skills.