### Course Description

You will learn how to develop using Java from the beginning. We will use Eclipse, Java 8, Maven and JUNIT and a little bit of imagination to create fun exercises so you don't get bored. We will jump right into the fun stuff. First we will install what is necessary, then start coding and understand the principles of Java as we do it. At the end of the beginners part of this course you will be able to develop small application in Java using clean and solid code. After leaning how to develop in Java from the beginning we will jump to algorithms and data structures We will code together the following algorithms: Euclid, Linear Search, Insert Sort, Binary Search, Quick Sort and for data structures we will code the following: Binary Tree, Linked List, Doubly Linked List, Prefix Tree or Trie Tree, Stack Finally some coding interview questions Print Odd Numbers, Longest Substring Without Repeating Character (Amazon Question), Sudoku (Amazon Question) This is not just one of the most feared subjects in the computer science world but it is also one of the hottest topics. algorithms and data structures are very important topics since your choice of algorithm and data structure will affect memory and CPU time differently. This topic will also help your daily coding as it did to me. There are hundreds of different algorithms and data structures but we will cover just a few of the most popular and one that might help you on your current project.

#### What am I going to get from this course?

- Prepare the development environment to work with Java
- Learn the Java Language
- Learn the most popular algorithms and data structures
- Write algorithms and data structures with confidence
- Think out of the box when solving daily problems
- Understand the importance of unit testing your application
- Get a basic understanding of Maven
- Learn how recursion works
- Practice with some interview coding questions
- Code a Sudoku solver