Giter Club home page Giter Club logo

pgr203-lectures's Introduction

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 and repeats GitHub Actions

Lecture 4: HTTP server

This lecture covers java.net.ServerSocket and how to respond with a file to a web browser

Lecture 5: HTTP post

This lecture covers HTML forms and how they interact with the server

Lecture 6: Refactoring

This lectures dives into how to change your code to improve the structure while keeping it working, refactoring HttpServer and adding support for POST requests.

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 handle database changes and separating the test database from the real database

Lecture 9: Backend design

This lecture covers how to structure the code on your server to integrate the HTTP server with JDBC-code

Lecture 10: The big picture

This lecture covers how to make the HTTP server work indendently and support new requirements through better organization of the code

Lecture 11: Programmer productivity

This lecture reviews how to work effectively with IntelliJ, Github and Maven, revising the contents of assignment #1

Lecture 12: The programming industry

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.