Skip to content

Web Server Programming Java is a free and open online course from the University of Helsinki that teaches the basics of web server programming. The course introduces the basic ideas of web applications and their implementation.

License

Notifications You must be signed in to change notification settings

MOOC-FL/WEB-Server-Programming-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

WEB-Server-Programming-Java

Prerequisites

  • Programming Fundamentals (TKT10002)
  • Advanced Programming Course (TKT10003)
  • Database Fundamentals (TKT10004)

Course Parts Overview

Part Themes Competence Objectives
1 Introduction to how web applications work and the basic components of the internet • Know the basics of how the Internet works
• Familiar with concepts of URI, DNS, HTTP and HTML
• Familiar with concepts of path and request parameter
• Familiar with basic structure of GET and POST type requests at HTTP protocol level
• Recognize parts of HTTP protocol response from server
• Familiar with client-server model
• Know how to implement a simple server and browser
• Superficially familiar with Spring Boot application framework
• Know how to create a web application that responds to requests
2 Views, databases and database abstractions • Use Thymeleaf library to create pages for views
• Send data to the server and process data sent to the server
• Familiar with POST/Redirect/GET design pattern
• Familiar with concept of ORM
• Utilize database abstraction provided by Java and Spring Boot for data processing
• Handle applications containing a single database table
• Familiar with concept of path variable and use path variables in applications
3 Databases and database abstractions. References between database tables, filtering and organizing results • Handle applications containing multiple database tables
• Know how to define references between database tables
• Know how to handle transactions programmatically
• Familiar with N+1 query problem and methods to avoid it
• Know how to organize and limit information retrieved from database
4 Media types and file storage. Software development process, layered architecture and automated application testing. Moving an application to the web • Know concept of media type and how to handle files in database
• Basic understanding of different stages of software development process
• Know architectural patterns suitable for web applications
• Understand layered architecture
• Know how to divide parts of application into services
• Write automatically executed tests for applications
• Know how to transfer application to the network for public access
5 HTTP protocol and cookies. Authentication and authorization • Familiar with concept of statelessness
• Know what cookies are and their purpose
• Familiar with essential legal issues related to cookies
• Explain differences between authentication and authorization
• Create application that asks user to log in
• Define paths and methods that require logging in
• Hide parts of view from different user groups
6 Repeating structures and fragments. Using style sheets. Validating inputs. Interfaces and REST • Know methods for defining and reusing recurring page structures
• Know what Twitter Bootstrap is and use it to define styles
• Know methods for validating data and validate form data
• Know concept of interface and REST interfaces
• Implement service that provides data over REST-formatted interface
7 Browser software and server software. A little bit of security. Application scalability. Reactive programming • Know how to make JavaScript request to server from browser
• Update view displayed in browser based on JavaScript response
• Know most typical vulnerabilities in web applications (OWASP)
• Know methods for scaling applications for large user groups
• Know basics of reactive programming
• Create simple server software using reactive programming paradigm

About

Web Server Programming Java is a free and open online course from the University of Helsinki that teaches the basics of web server programming. The course introduces the basic ideas of web applications and their implementation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published