You are on page 1of 3

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.

You might also like