Application Development Using Java
This is a project based course in which you will       build an entire Minesweeper game
What Is A Project Based          Course ? In a project based course you learn by doing. The   course is structured as a la...
How Large Is The Course ? This course has 13 sections, many of them        containing multiple projects
Real World ComponentAcross these sections you will write code, writeunit tests, read/review code, and even fix bugs
How Does The Course Start ?You will start with an Eclipse project containing acouple of classes and test cases
How Does It Continue ?Step by step you will build an entire Minesweepergame, including a desktop version as well as a web ...
Can You Show Me What It          Will Look Like ?                        Minesweeper on theMinesweeper on the      webdesk...
What Will I Learn In This       Course ?  You will learn lots of things like basics of Java programming, good programming ...
Are There Any Prerequisites ? You will gain most from this course if you havebasic knowledge of Java syntax and you have d...
Can You Give More DetailsAbout The 13 Sections Of This          Course ?            Sure, please read ahead !Remember each...
Section 1 – Getting Started➲   In Section 1 - Project 1 you will learn●   How to create a source folder in an Eclipse proj...
Section 2 – Start Building The              API ➲   In Section 2 - Project 1 you will learn ●   Understand the business ru...
Section 3 – Getting Into Classes          and Objects ➲   In Section 3 - Project 1 you will learn ●   How to work with mul...
Section 4 – First Cut Of The            GUI➲   In Section 4 - Project 1 you will learn●   Understand that control of a pro...
Section 5 – Getting The GUI To        Do Something ➲   In Section 5 - Project 1 you will learn ●   Work with Swing compone...
Section 6 – Refactoring & IoC➲    In Section 6 - Project 1 you will learn ●   How to spot weeds in code and refactor them ...
Section 7 – Connecting The GUI     With Backend Classes ➲   In Section 7 - Project 1 you will learn ●   How to add event h...
Section 8 – Persist To File and Create Mock Classes For Unit             Tests ➲   In Section 8 - Project 1 you will learn...
Section 9 – I18N, Logging, and      Building With ANT ➲   In Section 9 - Project 1 you will learn ●   What is a Locale ●  ...
Section 10 – Refactorings : Defensive Programming,  Regex, and EasyMock➲   In Section 10 – Project 1 you will learn●   Abo...
Section 10 (contd.)➲   In Section 10 – Project 3 you will learn●   How to use the String.format method for formatting Stri...
Section 11 – Persist ToDatabase, JDBC, and JPA➲   In Section 11 – Project 1 you will learn●   How to configure software us...
Section 12 – Web BasedMinesweeper With Servlets        and JSP➲   In Section 12 - Project 1 you will learn●   How to build...
Section 13 – Refactorings andEnhancements (You Decide)➲   There are still places in code which can be    improved... try a...
Happy Learning and remember you learn as muchprogramming by reading existing code, as you do by writing your own code. Be ...
Upcoming SlideShare
Loading in …5
×

Application Development Using Java - DIYComputerScience Course

2,333
-1

Published on

This slideshow describes the 'Application Development Using Java' course on diycomputerscience.com

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,333
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Application Development Using Java - DIYComputerScience Course

  1. 1. Application Development Using Java
  2. 2. This is a project based course in which you will build an entire Minesweeper game
  3. 3. What Is A Project Based Course ? In a project based course you learn by doing. The course is structured as a large project which isbroken into many sections. In each section you will be given some code, and will have to add more code. This way you will learn Java programming by progressively building a Minesweeper game from scratch
  4. 4. How Large Is The Course ? This course has 13 sections, many of them containing multiple projects
  5. 5. Real World ComponentAcross these sections you will write code, writeunit tests, read/review code, and even fix bugs
  6. 6. How Does The Course Start ?You will start with an Eclipse project containing acouple of classes and test cases
  7. 7. How Does It Continue ?Step by step you will build an entire Minesweepergame, including a desktop version as well as a web based version.
  8. 8. Can You Show Me What It Will Look Like ? Minesweeper on theMinesweeper on the webdesktop
  9. 9. What Will I Learn In This Course ? You will learn lots of things like basics of Java programming, good programming practices, unittesting, web development using Servlets and JSP, and much more
  10. 10. Are There Any Prerequisites ? You will gain most from this course if you havebasic knowledge of Java syntax and you have done at least a little programming in some other language
  11. 11. Can You Give More DetailsAbout The 13 Sections Of This Course ? Sure, please read ahead !Remember each section may have multiple projects
  12. 12. Section 1 – Getting Started➲ In Section 1 - Project 1 you will learn● How to create a source folder in an Eclipse project● How to fix a compilation error in a class● What are accessor (getter/setter) methods● What is a no-arg constructor● What is a test case● Become familiar with the term API (Application Programming Interface)
  13. 13. Section 2 – Start Building The API ➲ In Section 2 - Project 1 you will learn ● Understand the business rules of a class and how they can be mapped to its API ● How to declare an Exception in the API of a method ● How to throw an Exception ● How to work with enum types ● How to run a unit test
  14. 14. Section 3 – Getting Into Classes and Objects ➲ In Section 3 - Project 1 you will learn ● How to work with multi-dimensional arrays ● How to initialize an object in its constructor ● How to instantiate a class ● How to define constants ● How to make small design decisions ➲ In Section 3 - Project 2 you will learn ● How to get multiple objects collaborate for a functionality ● How to use the chain of responsibility pattern ● How to initialize complex state of an object in its constructor ● How to use System.nanoTime() for a quick random number
  15. 15. Section 4 – First Cut Of The GUI➲ In Section 4 - Project 1 you will learn● Understand that control of a program starts in the main method● How to create a simple JFrame● How to work with static methods➲ In Section 4 - Project 2 you will learn● How to create a test suite● How to determine the correct access modifier for a new method
  16. 16. Section 5 – Getting The GUI To Do Something ➲ In Section 5 - Project 1 you will learn ● Work with Swing components ● How to wire a use case, end to end ● How to break a large requirement into smaller steps ➲ In Section 5 - Project 2 you will learn ● A bit more about working with Swing components ● How to create utility methods ● About dependency injection in a very brief sense
  17. 17. Section 6 – Refactoring & IoC➲ In Section 6 - Project 1 you will learn ● How to spot weeds in code and refactor them ● About immutable classes➲ In Section 6 - Project 2 you will learn ● How dependency injection helps make code more testable ● What is Inversion of control ● About the Strategy design pattern in very brief
  18. 18. Section 7 – Connecting The GUI With Backend Classes ➲ In Section 7 - Project 1 you will learn ● How to add event handlers to Swing components ● About anonymous inner classes ➲ In Section 7 - Project 2 you will learn ● How to do a code review ● How to work with dialogue boxes in Swing ● How to handle exceptions ● How to create a layer of abstraction ➲ In Section 7 - Project 3 you will learn ● How to distinguish between left click and right click on a mouse event ● How to fully integrate the front-end code with the back-end code
  19. 19. Section 8 – Persist To File and Create Mock Classes For Unit Tests ➲ In Section 8 - Project 1 you will learn ● How to read code end to end ● How to work with file IO in Java for reading and writing files ● How to create menu bars in Swing ➲ In Section 8 - Project 2 you will learn ● More about the strategy design pattern ● How to implement different strategies ● How to create a mock class for running in test cases ● How to test code against a mock class
  20. 20. Section 9 – I18N, Logging, and Building With ANT ➲ In Section 9 - Project 1 you will learn ● What is a Locale ● How to use ResourceBundle to internationalize a software product ➲ In Section 9 - Project 2 you will learn ● How to use Log4J for generating log statements ● What should be logged ● Which log level a particular statement should be logged at ➲ In Section 9 - Project 3 you will learn ● How to use ANT to create and run a software build
  21. 21. Section 10 – Refactorings : Defensive Programming, Regex, and EasyMock➲ In Section 10 – Project 1 you will learn● About defensive coding and how to validate input arguments to a method● About defensive coding and how to copy objects references passed as input arguments, before using them● About defensive programming and how to copy objects before returning them➲ In Section 10 - Project 2 you will learn● How to debug and fix a bug
  22. 22. Section 10 (contd.)➲ In Section 10 – Project 3 you will learn● How to use the String.format method for formatting Strings● How to use regular expressions for text parsing➲ In Section 10 - Project 4 you will learn● How to use EasyMock to quickly create mock objects and verify their behaviour
  23. 23. Section 11 – Persist ToDatabase, JDBC, and JPA➲ In Section 11 – Project 1 you will learn● How to configure software using an external configuration file● How to lead a resource from the classpath● How to instantiate an object using reflection (because we do not know what we want to instantiate at compile time)● How to use JDBC for communicating with an RDBMS from Java code● How to use the DAO pattern for data objects➲ In Section 11 - Project 2 you will learn● What is an ORM and why it is useful● What is JPA and why was the specification created● How to use JPA with Hibernate for database code
  24. 24. Section 12 – Web BasedMinesweeper With Servlets and JSP➲ In Section 12 - Project 1 you will learn● How to build a web based software using Servlets and JSP● How to include Javascript in code● How to add simple HTML to a JSP page● Very briefly, how to use JQuery for responsive user interfaces➲ In Section 12 – Project 2 you will learn● Why scriplets are bad in JSP code● How to use tag libraries in JSP code
  25. 25. Section 13 – Refactorings andEnhancements (You Decide)➲ There are still places in code which can be improved... try and make the code better !➲ There are still features that can be added to the game. Identify and implement such features depending on what you want to learn➲ And off course submit your code to the community for peer review and feedback
  26. 26. Happy Learning and remember you learn as muchprogramming by reading existing code, as you do by writing your own code. Be sure to read all the code which is already provided to you in the projects !
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×