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 Setup Eclipse + Slick 2D Setting Up Your Development Environment

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

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

21 Game States Adding Game States to your Slick2D Game project

22 ArrayLists How to use ArrayLists in Java

23 For Each Loops A handy shorthand for looping through collections

24 Fonts How to draw text in different fonts and sizes

25 Images How to add an image to your Slick2D project

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

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

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

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

30 Polymorphism <WORK IN PROGRESS>

ADVANCED TOPICS

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

Jarsplice - Eclipse   For students still using Eclipse

33 Enumerations <WORK IN PROGRESS>

34 Collision Detection

35 Pathfinding  

36 Stacks and Queues