The Coder's Handbook
Table Of Contents

TABLE OF CONTENTS

UNIT ONE JAVA BASICS

0 Welcome How to use the Coder's Handbook

1 Console Output Writing print statements and using escape characters

2 Style and Comments How to make your code readable and easier to debug

3 Variables Understanding primitive types, using variables, and casting.

4 Math Using addition, subtraction, multiplication, division, and modulus.

5 Constants Why we use constants and the dangers of magic numbers

6 Conditionals Using conditionals, logical operators, and comparison operators

7 Strings Using Strings, comparisons, immutability and concatenation.

8 Console Input Using the Scanner class to read input from the console

9 Methods Writing methods with parameters and return values.

10 Random Using Math.random() to generate random numbers

11 Loops How to write for loops, while loops, do-while loops, and branching

UNIT TWO RECURSION AND ARRAYS

12 Recursion How and why you might want to write a recursive method

13 Arrays How to use both one and two dimensional arrays

14 Sorts and Searches Learn about Big O Notation and how to search and sort efficiently

15 Exceptions Using try, catch, and throw to handle errors

16 Reading Files Consider three examples of how to read files using Scanner

17 Objects Study classes, scope, constructors, this, public, private and static

UNIT THREE GRAPHICS AND OOP

18 Shapes, Color, and Text Draw shapes, change colors, and display text in Slick 2D

19 Mouse and Keyboard Use both the event handlers and directly poll for input

20 Game States Adding Game States to your Slick2D Game project

21 ArrayLists How to use ArrayLists in Java

22 For Each Loops A handy shorthand for looping through collections

23 Fonts How to draw text in different fonts and sizes

24 Images How to add an image to your Slick2D project

25 Sprites and Animation Use Sprite Sheets and make simple animations in your program

26 Perlin Noise Learn about using noise algorithms to generate natural terrain

27 Inheritance Learn about superclasses, subclasses, and code reuse!

28 Abstract Classes Learn how the power of abstract classes and abstract methods

29 Polymorphism <WORK IN PROGRESS>

ADVANCED TOPICS

31 Jarsplice - IntelliJ Save your project as a Runnable Jar to share with the world.

33 Enumerations <WORK IN PROGRESS>

34 Collision Detection

35 Pathfinding  

36 Stacks and Queues