Welcome to this course in Advanced Java. In this course you will learn the skills necessary for backend programming with Java. You will learn about programming skills such as test-driven development, pair programming and continuous integration; you will learn about programming tools such as IntelliJ, Maven and Github and you will learn about technologies such as Sockets, HTTP, JDBC and PostgreSQL.
The class will be taught through live programming, exercises and assignments. This Github repository contains commit logs for the live programming lectures that you can follow along to complete the exercises.
Read the course companion materials
This lecture covers pair programming, test-driven development and basic IntelliJ and Git usage.
This lecture covers Maven, Github Actions and Github Issues
This lecture covers java.net.Socket and introduces the HTTP protocol
This lecture covers java.net.ServerSocket and explores HTTP headers
This lecture dives into the details of the Content-Length HTTP header and how to send and receive HTTP content body
This lectures dives into how to change your code to improve the structure while keeping it working
This lecture covers java.sql.Connection, java.sql.PreparedStatement and java.sql.ResultSet
This lecture covers the Data Access Object pattern and how to abstract your database code and your HTTP code
This lecture covers how to structure the code on your server
This lecture reviews how to work effectively with IntelliJ, Github and Maven
This guest lecture covers how it is to work as a programmer in the Norwegian IT industry