IJP Chapter 1-8 moderate to difficult programming exercises from Introduction to Java Programming, Comprehensive Version 10th edition by Y. Daniel Liang.