0% found this document useful (0 votes)
7 views3 pages

Java Program

The syllabus outlines a comprehensive Java programming course covering fundamentals, advanced features, software testing, design patterns, and database management, totaling 327 hours. It includes practical projects, exercises, and the use of tools like IntelliJ, Maven, and Git, with a focus on best practices and real-world applications. Additionally, it addresses career preparation and agile methodologies, culminating in a final group project utilizing Spring technologies.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views3 pages

Java Program

The syllabus outlines a comprehensive Java programming course covering fundamentals, advanced features, software testing, design patterns, and database management, totaling 327 hours. It includes practical projects, exercises, and the use of tools like IntelliJ, Maven, and Git, with a focus on best practices and real-world applications. Additionally, it addresses career preparation and agile methodologies, culminating in a final group project utilizing Spring technologies.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Syllabus - Java From Scratch

No of hours Form Modules Scope Guidelines Software


- Data types, variables, constants, operators, casting
- String class
- Conditional statements, visibility
- Loops - Java 8 SE
- Arrays Use maven and IntelliJ; First - IntelliJ IDEA Community
Java -
35 stationary - OOP (class, object, state, behaviour) project can be plain Java Edition
Fundamentals project - Maven 3
- Fields, methods, constructors, packages, imports
- varargs
- Date, Time
- Regular expressions
- Static fields, methods and classes

- Basic CLI commands


- GIT Commands: init, add, commit, branch, merge
- Remote repositories: clone, push, pull - practical usage of GIT and - GIT 2+
video Git
- Tools to choose from: CLI and/or IntelliJ IDEA CLI

- Simple apps helping


- Exercises based on theory from Java - Fundamentals
understanding and
Java - - Exercises for GIT
developing skills for Java - - GIT 2+
21 stationary Fundamentals:
Fundamentals
Coding - Use GIT

- Introduction to software testing


- Exercises for writing unit - JUnit 5
Software Testing - - Good practices (FIRST principles etc.)
7 stationary tests - AssertJ 3.8.x+
Fundamentals - JUnit: structure, lifecycle, assertions, custom assertions
- Practical usage of TDD
- Matchers library (AssertJ)
- Use GIT
- Introduction to TDD

- OOP: inheritance, composition, polymorphism,


encapsulation, abstraction
- Abstract classes and methods, Interfaces, Inner Classes,
Anonymous Classes
- Enumerations - Java 8 SE
- Exceptions - IntelliJ IDEA Community
Java - Advanced
35 stationary - Generic Types - Use GIT Edition
Features - Maven 3
- Collections
- Annotations, Reflection
- IO, NIO
- Concurrent and Parallel programming: Thread, Runnable,
Callable, Executors, Atomic, synchronized, immutability,
volatile

- Software Craftsmanship Manifesto - Exercises with usage of


- Good Practices: SOLID, KISS, DRY, YAGNI, Demeter Law, selected design patterns
Clean Code with utilizing good practices
- (Optional) GRASP - Presenting example
Design Patterns implementations: Singleton
14 stationary - Fluent Interface/Fluent API
& Good Practices - Design Patterns: classification and types (Lazy, Eager, Double-
- Gang of Four Patterns checked locking, Enum) and
- Examples of describes Patterns, f.e. Singleton, Factory Builder
Method, Builder, Visitor, Decorator, Command, Strategy, - use GIT
Template Method
- Exercises for Java - Advanced Features - Apps consisting of several
- Extending block: Java - Fundamentals: Coding classes (OOP)
- Exercises in groups with using git, f.e. Gitflow - Writing Unit testing
Java - Advanced
21 stationary - Debugging
Features: Coding - Using Logger
- Handling configuration files
(properties, xml, yaml)
Relations
- Databases, Tables: Creating and Designing
- Data types, indexes, limitations - MySQL 5.7.x+/8.x.y+
- SQL - MySQL Workbench
21 stationary Databases - SQL
- CRUD 5.x.y+/8.x.y+
- Complex queries with JOIN (INNER, OUTER, LEFT, RIGHT)
- having, group by, order by, limit
- (Optional) triggers, procedures
# JDBC
- Architecture
- Connection, Statement, PreparedStatement, ResultSet,
executeQuery, executeUpdate - Exercises for JDBC (CRUD)
- Exercises for creating - JDBC 4.2+
JDBC & # Hibernate entities, relations - MySQL Connector 5.x.y+
21 stationary - Architecture
Hibernate - HQL exercises - Hibernate 5.x.y+
- Entity modeling - Use GIT
- Creating relations, directions and ownership
- HQL
- (Optional) strategies of inheritance, composite keys, one
entity in two tables
- @Embeddable

IT market in Albania and abroad


Possible career paths
Where to begin?
5 Stationary HR Class Preparing your CV & LinkedIn profile
Where to look for a job?
Recruitment process and job interview

- Working in pairs
- Creating simple CRUD app using Hibernate
- CLI interface
21 stationary Practical Project
- (Optional) Interface in Java FX
- Unit testing have to be in place
- Use GIT

- Basics of HTTP, TCP/IP, DNS, URL, URI - Practical exercises with


- Commands, Status Codes, Headers, Forwarding using mentioned tools
Introduction to
video - Tools: curl, wget, ping, telnet, ssh, wireshark, postman, - Use HTTP/1.1
HTTP - (Optional) Mention HTTP/2
http live headers
- Request, Response
- Basics of HTML and CSS - HTML5
- Creating simple HTML - CSS3
HTML, CSS, - Basics of JavaScript
14 remote - (Optional) JQuery
pages with CSS and - JavaScript 1.8.x+ / ECMA
JavaScript JavaScript
- (Optional) Bootstrap 6+

- Basics of Angular
- Architecture
- Lifecycle
Frontend - Basics of [Link] and Angular CLI - Creating simple CRUD
21 stationary Technologies: - Modules: @angular/core, @angular/forms, Angular 7+
application
Angular @angular/router
- TypeScript
- Application parts: modules, components, templates,
directives, services, pipes

- Introduction to frameworks based on Spring: Framework vs


Library
- Basics of Spring
- Spring 5+
- Spring Core - Do a lot of practical
- IntelliJ IDEA Ultimate
- Spring MVC (JSP or Thymeleaf) exercises with students
42 stationary Spring Edition
- Spring Boot - Use GIT
- (Optional) JHipster 5+
- Spring Data
- Spring Security
- Introduction to WebServices
- Integration with Angular
- Parameterized tests - Exercises covering above
- JUnit 5
Software Testing - - Testing exceptions points
- mockito 2.x
7 stationary Advanced - Mocking (Mockito) - Using Matchers library
- AssertJ 3.8.x+
Features - (optionally) PowerMock - Use GIT

- Agile Manifesto
- Scrum vs Kanban
video Agile & Scrum
- Agile vs Waterfall
- Extreme Programming
Creating Web Project, f.e: ToDo List, Twitter, Chat, Forum,
Hospital
- Work in groups of 4
- Work in Scrum, do a Code Review
- Practical usage of skills and knowledge gathered during
42 stationary Final Project
course
- Technology: Spring/SpringBoot
- (Optional) Use Thymeleaf
- (Optional) Use Angular
- Deploy project to Heroku
327

You might also like