Skip to content

Latest commit

 

History

History
64 lines (31 loc) · 2.38 KB

File metadata and controls

64 lines (31 loc) · 2.38 KB

PGR203 Advanced Java

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

Lectures:

Lecture 1: Programming skills

This lecture covers pair programming, test-driven development and basic IntelliJ and Git usage.

Lecture 2: Programming tools

This lecture covers Maven, Github Actions and Github Issues

Lecture 3: Socket clients

This lecture covers java.net.Socket and introduces the HTTP protocol

Lecture 4: HTTP server

This lecture covers java.net.ServerSocket and explores HTTP headers

Lecture 5: HTTP post

This lecture dives into the details of the Content-Length HTTP header and how to send and receive HTTP content body

Lecture 6: Refactoring

This lectures dives into how to change your code to improve the structure while keeping it working

Lecture 7: Database access

This lecture covers java.sql.Connection, java.sql.PreparedStatement and java.sql.ResultSet

Lecture 8: Design patterns

This lecture covers the Data Access Object pattern and how to abstract your database code and your HTTP code

Lecture 9: Backend design

This lecture covers how to structure the code on your server

Lecture 10: Programmer productivity

This lecture reviews how to work effectively with IntelliJ, Github and Maven

Lecture 11: The programming industry

This guest lecture covers how it is to work as a programmer in the Norwegian IT industry

Lecture 12: Getting ready for the exam