Curriculum - Syllabus 

Full-Stack Java Web Developer Bootcamp

WEEK 0
HTML/CSS
What is HTML?
Popular HTML Tags
Basic HTML Layout Inputs, Forms, Buttons
Importing Scripts
What is CSS?
Classes
Inline Style vs Style Tag vs External File
Margin
Padding
Div
Assignment #1 

WEEK 1 - 2

Set Up and Java Basics

WEEK 3 - 4

Core Java and File I/O

Setting up your GitHub account Access to Private Slack Channel 
Access to Video Lesson Library Installing JDK or STS (IntelliJ)  

Java Basics      

Primitive Types  
Data Types    
IF statement    
IF else statement  
IF, ELSE IF, ELSE statement   
= vs == vs .equals()   
& vs && 
| vs ||   
Console Input/Output
For Loops  
i++ vs ++i   
While Loops      
Methods      
What is an Object?  
Constructors 
      
Assignment #2  
Access Modifiers    
Static Keyword  
String Manipulation  
Getters and Setters  
POJOs   
Services  
Arrays  
String Helpers  
For Each Loop        
Exceptions          
Files I/O  
  
Assignment #3  




WEEK 5

Important Object Concepts

WEEK 6

Important Object Concepts (Continued)

Inheritance
Polymorphism
Overriding 
Overloading 
Protected Keyword 
Casting 
Wrapper Classes 
Writing to Files 
Interfaces  
Abstract Classes and Methods    Sorting (Comparator) 
Sorting (Comparable)  
RegEx
 
Assignment #4

WEEK 7

Collections and Java 8

WEEK 8

Java 8 (Continued)

Lists Sets 
HashMap
Lambdas 
Streams 
Java 8 Collecting Stream Data (.collect) 
Multi-Threading with Streams Java 8 Filters 
Java 8 Mapping  

Assignment #5 
Optional Keyword Default Keyword for Interfaces
Enums   

Date and Time      

Calendar
java.util.Date vs java.util.LocalDate
java.util.Time vs java.util.LocalTIme

Assignment #6

WEEK 9

Unit Testing 

WEEK 10

Multi-Threading

What is Unit Testing? 
What is Test Driven Development Unit Testing Examples

AnnotationsGenerics 
Reflection    

Assignment #7
What is Multi-Threading?
Running a Task
Understanding Asynchronous Programming
Leveraging Executors
CashedThreadPool
Futures in Java
Completable Futures in Java
Thread Safety with Multi-Threading

Assignment #8


WEEK 11

Spring Framework

WEEK 12

REST and JSON

Inversion of Control 
Autowiring on fields 
Autowiring in constructors Components 
Application context @configuration 
@componenScan 
@value 
@scope singleton vs prototype  
@qualifier 
@profile

 Assignment #9
JSON
HTTP Requests (GET, POST,PUT, DELETE) 
HTTP Parameters and Body 
Rest Template 
ResponseEntity 
@PathVariable 
@RequestParam   

Assignment #10

WEEK 13

Spring MVC

Controllers 
RequestEntity Model
Views with Thymeleaf 
Assignment #11

WEEK 14

Maven & MySQL (Part 1)

WEEK 15

MySQL DB (Part 2)

Maven 

Dependency Management 
POM group / artifact / version <dependencies> 

MySQL DB (Part 1)     

Tables 
Rows 
Keys 
Relationship between tables Foreign Key 
Select
One-to-Many     
Many-to-Many 
One-to-One 
Select with Join 
Select IN 
Grouping Data    

Assignment #12

WEEK 16

ORM Hibernate (Part 1)

WEEK 17

ORM Hibernate (Part 2)

What is an ORM? 
JPA vs. Hibernate 
Why we're focusing on Spring-Data-Jpa 
@Entity 
@OneToMany 
@OneToOne 
 @ManyToMany  
 
JpaRepository (show CRUD functionality) 
Query Methods (findBy) 
Query Methods (Between)
+ More Query Methods

 Assignment  #13

WEEK 18

Spring Security

WEEK 19

JavaScript (Part 1)

What is Spring Security? 
Getting Started 
Setup Spring Security 
Adding Login Page 
Encoding your Passwords Creating a User Details Service Implementing User Details Testing User Details Service 
Let's Talk Databases 
What is Cross Site Request Forgery?
How to Log Out @AuthenticationPrincipal Annotation @Secured Annotation 
Static vs. Dynamic 
Typing Variables in JS 
Arrays 
Objects
DOM 
Fetch() API 
Promises 
Query Selector 
AddEventListener

WEEK 20

JavaScript (Part 2)

WEEK 21-24

Development Project

Creating another Registration Page
Adding a Unique Constraint on a Username
Handling a Fetched Response
Finding Existing Users Logic
Callbacks
Promises and the Let Keyword
QuerySelectorAll and FontAwesome
Async and Await

Assignment #14
Develop your own application with everything you've learned and add it to your portfolio

Workshop Courses Bundle

Java Interview Preparation Course

Resume Writing Course

Certificate of Completion

YOUR INSTRUCTOR

My name is Trevor Page, CEO and founder of Crafty Codr Inc. I'm proud to say we have helped thousands of students learn Java and its associated technolgies. There is, however, a strong need to provide even more help, guidance and support to those who are fully committed to learning how to code with the ultimate goal of landing that dream job or career in the highly sought after Information Technology field. 

This is why we have decided to launch this Full-Stack Java Developer Bootcamp to serve those of you who have perhaps struggled to develop the necessary technical skills on your own. You will not be alone in this Full Stack Java Developer Bootcamp. You will be fully equipped with weekly accountability and community support.  You simply need to apply yourself and dedicate 10-15 hours per week to be job-ready in 6 months. What better way than to invest in your very own self-education.
Crafty Codr Inc. | Copyright ©2021 | All Rights Reserved