📁 Basic Syntax, Conditional Statements and Loops
Introduction to Basic Syntax
Input/Output
Comparison Operators
Implementing Control-Flow Logic
Logical Operators
Loops
Debugging and Troubleshooting
Data Types and Variables
Integer Types
Real Number Types
Type Conversion
Boolean Type
Character Type
String Type
Allocating Arrays
Assigning Values to Array Elements
Accessing Array Elements
Reading Arrays from the Console
Foreach Loop
Declaring and Invoking Methods
Naming and Best Practices
Void and Return Type Methods
Methods with Parameters
Value vs. Reference Types
Overloading Methods
Program Execution Flow
Lists Overview
List Manipulating
Reading Lists from the Console
Sorting Lists and Arrays
01 The Hunting Games
02 Tax Calculator
03 The Angry Cat
Objects
Classes
Built in Classes
Defining Simple Classes
Fields
Constructors
Methods
📁 Associative Arrays / Dictionaries
Associative Arrays
HashMap <K, V>
LinkedHashMap <K, V>
TreeMap <K, V>
Lambda
Stream API
Strings
Manipulating Strings
Building and Modifying Strings
Regular Expressions Syntax
Definition and Pattern
Predefined Character Classes
Quantifiers and Grouping
Backreferences
Regular Expressions in Java
📁 Exam Preparation - Final Exam
01 Hogwarts
02 Encrypting Password
03 Messages Manager
Model-View-Controller (MVC)
Spring MVC (Annotations, Controllers, Processing Requests)
Thymeleaf View Engine
Language Comparison
Execution Model
Variables
Data Types
Printing on the Console
Conditional Statements
Loops
Development Environments (IDE)
Git and GitHub
Software Configuration Management
Source Control Systems
Introduction to Git:
- Working with git, Git Bash, TortoiseGit
Introduction to GitHub:
- Create a Repo, Clone, Commit, Push, Conflicts
HTTP Basics
The HTTP Protocol – Basic Concepts
HTTP Developer Tools
HTML Forms
HTTP Request
HTTP Response
URLs and URL Structure
HTML & CSS Basics
Introduction to HTML
HTML Common Elements
Introduction to CSS
Selectors
Block Elements
Dev Tools
Fonts
Software Development Concepts - Part 1
Fundamental Software Engineering Concepts
Math Concepts in Software Development
Object-Oriented Programming (OOP)
Functional Programming (FP)
Data Structures and Algorithms
Component-Based and Event-Driven Programming
Asynchronous Programming and Promises
Software Architectures, Front-End and Back-End
Software Development Concepts - Part 2
Front-End Development Concepts
- Web Front-End and DOM
- AJAX and RESTful APIs
- Templating Engines
- Routing and Routing Libraries
- Libraries vs. Frameworks
- UI Frameworks
- Mobile Apps
Back-End Development Concepts
- Databases and DBMS Systems
- ORM Frameworks
- The MVC Pattern
- Virtualization, Cloud and Containers
- Operating Systems and Linux Shell
Embedded Systems and IoT
- Arduino
- ESP32
Software Engineering Concepts
- Software Development Lifecycle
- Software Quality Assurance (QA)
- Unit Testing
- Source Control Systems
- Project Trackers and Kanban Boards
Bitwise Operations
Bits, Numeral Systems and Bitwise Operations
Bits and Bitwise Operations
Problem Solving
Fundamental Skills of Software Engineers
Problems: Definition and Solving
Stages of Problem-Solving
Solving Exam Problems
Database Basics
Databases Introduction
SQL vs. NoSQL Databases
DBMS Systems
QA Introduction
Software Quality Assurance
QA Engineers and Resposibilities
Bugs and Bug Trackers
Testing, Test Types and Test Levels
Test Automation, Frameworks and Tools