The Java Standard Edition (JSE) platform comes with a comprehensive feature set that allows developers to develop and deploy Java applications on desktops, servers, and embedded devices. It offers one of the richest environments for implementing user interface, network communications, performance, versatility, portability, and security. As the functionality of modern applications skyrockets, developers are often unaware of the security implications of such complex, interconnected systems.
This course helps students understand the risks involved with client-server and standalone applications as well as applications that leverage the standard functionality of the Java platform. The course examines specific security aspects of the desktop and client-server software architectures and aims to clear improper trust assumptions that developers commonly make. The core of this course teaches secure coding techniques designed to mitigate security vulnerabilities that affect software, in general, as well as issues that are specific to the Java platform.