In parallel to the german ESOP course, we provide the english practical introductory course on programming.
            Due to the lack of a comprehensive english theoretical course we recommend reading:
        
            - Introduction to Programming Using Java, Seventh Edition by
                David J. Eck. This book is an extensive introduction to programming based on Java. I recommend to read
                over chapters 1, 2, and 3 to get the necessary background knowledge on variables, conditions and control
                structures to move on to "Head First Java", which is easier to read. However, this book is free to use.
            
- Head First Java, 2nd Edition by Kathy Sierra and Bert Bates. This book offers a great
                introduction to Java for people already aware of the basic principles of structured programming. You can
                get it in the library.
            
            The slides for the course are available for
            download. English slides are available for the first seven lectures.
            From then the book Head First Java should cover most of the things. All the source code in the course
            has been be committed to the github repository.