This innovative approach to teaching Java language and programming uses game design development as the method to applying concepts. Instead of teaching game design using Java, projects are designed to teach Java in a problem-solving approach that is both a fun and effective.

1 Java programming and game development: a project HelloWorld 2 Basics of Java programming: a project PrintXmasCard 3 Java operators: a game GuessInt in text 4 UML and its usage: a game WheelFortune in text 5 GUI programming with graphical drawing: a project PaintXmasCard 6 Software components and event handling: projects CalculatorApp and ImageSlider 7 Event driven: a game Anagram in text 8 Event driven with an update-paint chain: a game Blackjack 9 Key control: a game Sudoku 10 Mouse control: a game Agnes 11 Animation programming: a digital clock and an analog clock 12 Merge visualization, event-driven, and animation: a game WheelVideo 13 Animated sprites and collisions: a game Pong 14 Multiple screens: an extension of the game Pong 15 A three-layer software structure for games: a game PongStruTwo 16 Usage of the framework: projects SymBall and Tornado 17 Image sprite and UML state machine: a game Breakout 18 Sound effect and composite class: enriching the game Breakout 19 Dynamically changed sprite's structure: a game Worm 20 Chess-like game: a game Othello 21 An introduction of artificial intelligence: extensions of the game Othello 22 Visualizing array sorting algorithms 23 Animating conversions between binary and decimal 24 Animating binary arithmetic computations Appendix A: References Appendix B: The three-layer software structure for games

This innovative approach to teaching Java language and programming uses game design development as the method to applying concepts. Instead of teaching game design using Java, projects are designed to teach Java in a problem-solving approach that is both a fun and effective.

1 Java programming and game development: a project HelloWorld 2 Basics of Java programming: a project PrintXmasCard 3 Java operators: a game GuessInt in text 4 UML and its usage: a game WheelFortune in text 5 GUI programming with graphical drawing: a project PaintXmasCard 6 Software components and event handling: projects CalculatorApp and ImageSlider 7 Event driven: a game Anagram in text 8 Event driven with an update-paint chain: a game Blackjack 9 Key control: a game Sudoku 10 Mouse control: a game Agnes 11 Animation programming: a digital clock and an analog clock 12 Merge visualization, event-driven, and animation: a game WheelVideo 13 Animated sprites and collisions: a game Pong 14 Multiple screens: an extension of the game Pong 15 A three-layer software structure for games: a game PongStruTwo 16 Usage of the framework: projects SymBall and Tornado 17 Image sprite and UML state machine: a game Breakout 18 Sound effect and composite class: enriching the game Breakout 19 Dynamically changed sprite's structure: a game Worm 20 Chess-like game: a game Othello 21 An introduction of artificial intelligence: extensions of the game Othello 22 Visualizing array sorting algorithms 23 Animating conversions between binary and decimal 24 Animating binary arithmetic computations Appendix A: References Appendix B: The three-layer software structure for games