I suggest that when starting to program, don't set your expectations too high. Start simple and work your way up. It will take time like any skill worth learning. You should aim to get a good understanding of Java first, then basic OOP principles and finally experience with the RuneMate API. I will specify useful resources below (in an order I think suitable, although it's entirely subjective) along with my own brief notes on each. Data Types – It could be argued that, programming is the art of manipulating data. So what better than to start off with data types. The important ‘standard’ data types for bot development are: String – A Character array (char) wrapper. Essentially some text. int – An Integer (as defined in maths) with a constraint on its domain. Boolean – A binary value, i.e. either true or false (1 or 0). It might also be useful to learn about the following (note, the entire collections class is amazing): Arrays – You can group large amounts of the previous types into a standardized type, namely arrays. List – Typically a wrapper over an array with some extras. Basic OOP Concepts – The fundamentals of java, without these you won’t get far. Do not skip this! Java tutorials – I have selected the most important content to get up and running. If you wish to master the art and write the best bots you should read everything. Language Basics Classes and Objects Numbers and Strings Interfaces and Inheritance More OO concepts SOLID Concept Software design patterns – These are typically code fragments/'design patterns' that are used commonly. Critical to good bots in my opinion! I will list the most important ones you should know. Structural - Strategy - Used particularly in the design of TaskScript/Task. Creational - Builder - Used throughout the API, in classes such as SpriteItemQueryBuilder. Behaviourial - Observer (aka Listener) - Used through the API, in classes such as SkillListener. Feel free to read more about event-driven programming. Notes: If you're upset about the usage of Wikipedia note that this isn't a scholarly article, thus it's use should not be of your concern. This is not an exhaustive list of resources for learning Java, feel free to find your own. You can find RuneMate specific material here. OO/OOP refers to object-oriented/object-oriented programming respectively.