Java Programming: Become a Professional Java Engineer!

Java Programming: Become a Professional Java Engineer!
Java Programming: Become a Professional Java Engineer!
English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 34 Hours | 6.17 GB

Learn Java from start to finish using an exciting project driven approach

Would you like to simply drill boring basic concepts with no real life application? If so, this course isn't for you. Or would you rather learn a variety of powerful concepts using modern development techniques while learning each topic with a great deal of depth. If this is you, then together we can discover the power of the Java programming language together. Other courses try to cover a million different topics with little to no depth, or try and spend the entire course on a topic that needs just 20 minutes. In this course we will be covering the most important topics for a Java developer to know. These include, variables, arrays, OOP principles, exception handling, optimization, algorithms, loops, basics of generics, and GUI program design. We will also extensively cover how to design a program and how to make a readable and maintainable program, both essential to building code for either a company or school. Even if you don't have any prior experience with Java or even coding at all, we will be working from the beginning and building our way up. We will explain each topic with increasing complexity so that no matter your programming background, you can extract a benefit from each lesson. We will be using the most popular language in the world and an open source IDE(Integrated Development Environment) that is used by millions of people every day.

Why Java?
Java is the most popular programming language in the world and is used for the smallest embedded computers to room-sized super computers. It is used throughout the world to build Android applications, desktop program, and server side applications. The compile once, run anywhere motto means that we can create our programs on any type of computer and run it on any other computer with no difficulty. Finally, Java is part of the JVM class of languages such as Scala and JRuby.

Format of the Course:

This course can best be defined as a project-driven course. This will mean we will be building projects that will be solving real life problems. Some of the examples we will be doing include a leap-year calculator, a complete graphical version of the game blackjack complete with a computer controlled AI, a normal calculator for operations, a mode finder, and addition problem generator. All of these will be done in the code-along format so we can work together to see how to construct each part of the program. If you run into a problem, you will be able to simply look at the code to find the problem. A quiz will be placed at the end of each chapter along with a detailed description for each lesson. These will allow us to test our understanding of the lessons in addition to the case studies. Detailed lessons with explanations complete with live demonstrations will be there for every topic. Additionally, there will be a big emphasis on not just learning how to code, but also how the code works. We will always go into how your computer will process the code for even the seemingly smallest details. Also, we will emphasize how to build readable and maintainable programs that can be easily edited by possible co-workers. This will allow you to easily transition into a company or school where sharing code is expected. We will also have lessons that are sized in a format that is conducive to viewing on mobile devices.

Topics covered: We will be covering everything up to being a intermediate/experienced level programmer. This will include starting from the basics with variables, print statements, and taking input from the user. After this we will add more complexity with the more difficult control statements(if and else) where we will be using the basics of how to design a readable program. We will then add loops which will require the addition of more complex design patterns, and the construction of algorithms. We will cover all major loop types such as for and while loops. Methods and classes will be next, with in depth breakdowns of the conventions in Java that we must follow to make our program readable. We will the start to work with arrays and then add in how to handle exceptions and useful classes like the Date class. Interfaces and the large tenets of OOP design are going to be another major topic. Finally, we will finish by learning how to build complex GUI programs with the BreezySwing package.

Table of Contents

Installations of Programs
1 How to install JavaWindows
2 How to install JavaMac
3 How to install JavaLinux
4 How to install EclipseAll Operating Systems
5 Why Another Java Course

Introduction into Basic Programming
6 Why Java
7 Intro into Eclipse IDE
8 Java in the Backend
9 Hello WorldFirst Program
10 Introduction to Variables
11 Taking Input
12 Error Types
13 Outputting to the Screen
14 Numeric Data Types
15 Operators
16 Increment and Decrement
17 Final Constants
18 Precedence and Naming
19 Random Class
20 Case Study Employee Program
21 Case Study Rectangle Program

Java Data Types
22 Decimal Format Class
23 Casting
24 Boolean Basics
25 Character Basics
26 String
27 String Methods
28 Taking Input with Strings and Chars
29 Case Study String Analyzer

Control Statements
30 What are Control Statements
31 New Boolean Operators
32 If Statements
33 Else and Else If
34 Case Study Grader
35 Case Study Addition Program
36 Nesting
37 Switch Statements
38 Math Class
39 Common Pitfalls
40 Extended Assignment Operators
41 Case Study Similarity Checker
42 Case Study Leap Year

Loops
43 Intorduction into Loops
44 While Loops
45 Do While Loops
46 For Loops
47 Nesting with Loops
48 Which Type of Loop to Use
49 When to use a Loop
50 Case Study Even Number Counter
51 Case Study Primes
52 Case Study Repeated Addition with Loops
53 Scope
54 Escape Sequences
55 Sentinel Controlled Programs

Methods
56 What are Methods
57 Methods Basics
58 Case Study GCD Calculator
59 Calling Methods
60 Overloading Methods
61 Case Study Fractions Calculator
62 Input and Output Redirection
63 Case Study Addition Program with Methods
64 Error Checking with Methods
65 Writing Programs with Methods
66 Test Data

Classes
67 What are Classes
68 Classes we have Used
69 Creating our own Classes
70 Instantiating our own Classes
71 Objects vs Methods
72 Constructors
73 Case Study Student Class
74 Case Study Student Class Part 2
75 Case Study Fruit Class
76 Scope Again

Arrays
77 What is an Array
78 When to use an Array
79 Array Basics
80 Array Errors
81 Creating Arrays
82 Outputting Arrays
83 Copying Arrays
84 For Each Loop
85 Variable Argument Methods
86 Arrays with Methods
87 Parallel Arrays
88 Dimensional Arrays
89 Conditional Statements
90 Command Line Arguments
91 Ragged Arrays
92 Multidimensional Arrays
93 Arrays Class Methods
94 Array List
95 Case Study Cards
96 Case Study Randomizer
97 Case Study Part 1 Building a Sorter
98 Case Study Part 2 Binary Search

Object oriented programming Principles
99 What is Object Oriented Programing
100 Encapsulation
101 Inheritance
102 toString method
103 InstanceOf Operator
104 Dynamic Binding
105 Polymorphism
106 Association vs Composition
107 Wrapper Classes
108 Final Keyword
109 Case Study Calculator with Arguments
110 Abstract Classes
111 Abstract Methods
112 When to use Abstract
113 Interfaces
114 Cloneable Interfaces
115 Compareable Interface
116 Abstract vs Interfaces vs Inheritance
117 Case Study Little World Part 1
118 Case Study Little World Part 2

Bonus Lessons
119 BigInteger and BigDecimal
120 Date Class
121 PrintWriter and File Classees
122 URL Class
123 Exceptions Part 1
124 Exceptions Part 2

GUI Programs
125 Installing BreezySwing
126 Why BreezySwing
127 GUI Basics
128 GUI Basics Part 2
129 Converting a Console Progam to GUI
130 Case Study Mode Calculator
131 Case Study Blackjack Part 1
132 Case Study Blackjack Part 2
133 Case Study Blackjack Part 3
134 Case Study Blackjack Part 4
135 Case Study Blackjack Part 5
136 Top 10 Biggest Differences Between Swing AWT and JavaFX