Skip to content

Latest commit

 

History

History
104 lines (65 loc) · 2.56 KB

README.md

File metadata and controls

104 lines (65 loc) · 2.56 KB

Programming101-Java

Course materials & problems for HackBulgaria's Programming 101 with Java. Starting November 2015.

Partners

The course is happening thanks to:

Paysafe Proxiad Bulgaria Axway SAP Labs Bulgaria

Hosting Partners

SiteGround

Course Program

This is a detailed program about the course, separated in weeks

  • Installing Linux
  • Introducing Java with syntax, types & language constructs
  • Problem solving & debugging using Java
  • Introducing shell & basic Linux commands
  • Working with Java command-line tools - java, javac, jar
  • Introducing git and GitHub

Week 3

  • Introducing Java OOP concepts & solving OOP problems.
    • Classes, methods, attributes, constructors, scope modifiers, static stuff, etc.

Week 4

  • Introducing Generic Types
  • Introducing Java Collections & data structures in Java
  • Solving problems with different data structures.

Week 5

  • Second take on Java OOP concepts
    • Interfaces
    • Inheritence & Abstract Classes
    • Polymorhism

Week 6

  • Third take on Java OOP concepts
    • Implementing multiple interfaces
    • Nested & Anonymous classes.
    • Java OOP quirks

Week 7

  • Introducing IO in Java - Files & Streams
  • Dealing with exceptions in Java

Week 8

  • Introducing Test Driven Development with jUnit
  • Introducing review process in software development
  • Working with tools like checkstyle and PMD

Week 9

  • Introducing Threads in Java
  • Working with Java concurrency.
  • Blowing our minds.

Week 10

  • Looking at the bigger picture - objected oriented design
  • Desining larger systems & making bigger software projects using everything we know up to now.

Week 11

  • Introducing databases - SQL, JDBC

Week 12

  • Introducing Maven
  • Working with 3rd party libraries, like Apache HTTP Client

Week 13

  • Working with annotations & reflections
  • Introducing the concept for ORM with Hibernate

Week 14

  • Java 8 & Functional programming in Java
  • Working with Servlets & Tomcat
  • How to distribute software? Deployment process with Maven / Ant / Gradle.

Week 15 - Week 16

  • Introducing and working with Spring