Java EE Web Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive types, variables, basic operators, expressions, if-statement. 2. Switch-Case Statement. Introduction to loops. Practice on simple tasks using loops. 3. Practice and homework check. 4. Arrays. Solving simple tasks with arrays. 5. Two-dimensional arrays. Solving 2D array tasks. 6. Practice and homework check. 7. Strings and string-related operations. Introduction to functions, parameter passing, arguments. Recursion. 8. Bubble sort, Selection sort and Counting sort. 9. Practice and homework check. 10. Divide and Conquer Binary Search. Order Statistics and partitioning. Quick sort. 11. Recap of first month study material and interview preparation. 12. Test 1 - Programming Fundamentals, Algorithms and Data Structures.
Part II Introduction to Object-oriented Programming in Java 13. Introduction to OOP. Classes and Objects. Fields. Reference types and primitive types. References and objects in memory. Methods. Method calls. Passing objects as arguments. 14. Introduction to Constructors. The this keyword. Constructor chaining. Encapsulation principle. Access modifiers. Getter and Setter methods. Keywords final and static. 15. Practice and homework check. 16. Inheritance. Is a and Has a relations. Access modifiers in inheritance. Super keyword. Class hierarchy in java. 17. Abstraction principle. Interfaces and Abstract classes. Method overriding. 18. Practice and homework check. 19. Polymorphism. Override vs. Overload. Final methods and classes. Type Casting. 20. Inner, Nested, Local and Anonymous Classes. Lambda Expressions and Functional Interfaces. Working with dates and times in Java 8. 21. Practice and homework check. 22. Design patterns Singleton, Factory Method, Observer and Facade. 23. Recap of second month material and interview preparation. 24. Test 2 Introduction to OOP.
Part III Advanced Java 25. GIT Basic operations. 26. Exceptions in Java. What is callstack and stacktrace. Try-catch. Exceptions hierarchy, Throwable. More on exceptions Checked, Unchecked and Errors. Wrapped exceptions. Finally. 27. Linear data structures - Stack, Queue and List. More complex data structures Binary Tree and Hashtable. Introduction to Collections in Java. Stack, List, Queue, Set, Map. 28. More on collections - Iterators, Comparators. Comparable interface. Autoboxing and unboxing. Streams in Java 8. 29. Practice and homework check. 30. Introduction to Threads in Java. Creating, starting and stopping threads. Thread life cycle. Volatile. Thread Pools. 31. More on Threads wait and notify mechanisms, consumer/producer problem. Concurrent data types. Immutable Classes. 32. Practice and homework check. 33. Introduction to RDBMS and MySQL as RDBMS. 34. Structured Query Language (SQL) How to read from database. 35. Practice and homework check. 36. Advanced Select Statements; Grouping Functions, Joins. Data Definition Language (DDL) How to create and manipulate tables and keys. Data Manipulation Language (DML) How to Insert, Update or Delete records. 37. Introduction to JDBC. Examples. Simple JDBC app. 38. Practice and homework check. 39. Recap of third month material and interview preparation. 40. Test 3 Advanced Java and DB
Part IV Introduction to WEB development with Java 41. Introduction to HTTP procotocol and Client-Server communication. Web Containers. Working with Tomcat. Introduction to Servlets. 42. Servlet lifecycle. What are cookies and sessions? Working with HTTP session. HTTP session state. Servlet session tracking and cookies handling. 43. Practice and homework check. 44. Files. Input/Output Streams. Readers and Writers. Working with JSON and XML data in Java. SAX and DOM parsers. 45. Introduction to WEB Services. SOAP and REST. Communicating with an external web server. Using web services. 46. Practice and homework check. 47. Introduction to JSP. JSP lifecycle. Scriplets, Declarations, Directives and Expressions. Comparison of JSP and Servlet technologies. Implicit objects. Form processing. Page manipulation redirect, include. 48. Practice and homework check. 49. Introduction to Spring Framework. Inversion of control. Dependency Injection. Spring Beans. Autowiring. 50. Introduction to Spring MVC. Introduction to MVC design pattern. 3-tier architecture. Controllers and RequestMappings. 51. Practice and homework check. 52. Introduction to Spring with JDBC. Spring DAO. 53. Introduction to Spring REST. Writing own REST service. 54. Practice and homework check. 55. Presentations of custom technologies.
56. Recap of fourth month material and interview preparation. 57. Test 4 Final exam.