Course Syllabus
Basic Java Development
Basic Java Training Content Lectures Exercises
Introduction to programming 4
IDE (NetBeans, Eclipse, Java SE RE, Notepad++) 2
Java Core and Object Oriented Programming 12 24
Java SWING (GUI) 4 10
Algorithms and data structures 12 28
Database Programming and Administration (MySQL) 8 16
Design Patterns 12 24
Concurrency Programming 8 20
Software design in practice 6 10
Grand TOTAL 68 132 200
End of course Final Exam
Course outline:
IDE (NetBeans, Eclipse, Java SE RE, Notepad++)
Introduction to Java IDE
Installing the Java Development Kit (JDK)
Installing NetBeans
An Introduction to Code Refactoring
Importing and Exporting Projects
Using Debugger
Java Core and Object Oriented Programming
Foundational Concepts
Java Fundamentals
Environment Setup
Java Data Types
Decision Structures & Loops
Algorithmic and Problem Solving Strategies
Sorting, Searching
Object Oriented Concepts (Classes, Objects and Methods)
Constructors, Overloading and Aggregation
Java and Object Oriented Concepts
Inheritance, Composition and Polymorphism
Abstract Classes, Casts and Interfaces
Planning, Design
Debugging
Data Structures
Exception Handling in Java
File Input and Output
Java SWING (GUI)
Basics
SWING Components
Containers and Frames
Layout Managers
Menus and Toolbars
Tables and Trees
Algorithms and Data Structures
Java collection framework
Stack
Set
Queues & Priority Queues
Binary Search Tree
Sorting
Hash Tables
Linked List
Tree
Graphs
Database Programming and Database Administration (MySQL/PostgreSQL)
MySQL Programming and Administration
MySQL introduction
Creating a database
Creating a database table
CRUD in MySQL
Populating a MySQL database
Database design
Relational database tables
Populating the relational table
PHPMyAdmin and SQL Querying
Design Patterns
Introduction to Design Patterns
Creational Design Patterns
Structural Design Patterns
Behavioral Design Patterns
Concurrency Programming
Basic concepts of concurrency and thread safety
Techniques for building and composing thread-safe classes
Using the concurrency building blocks in java. util. concurrent
Performance and optimization
Testing concurrent programs
Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model
Software design in practice
Acquiring knowledge about basic concepts, strategies and software design methods. Getting
acquainted with existing architectural styles and frameworks. Consideration of user interface
design principles and techniques. Adopt one of the design methods of the software where the
design and software components will be used.