Web programming

 
Objectives and outcomes

Learning the basics of network and web programming, HTTP protocol, frontend (client-side) and backend (server-side) programming. Understanding of network programming, types of communication protocols and their characteristics. Understanding of dynamic creation of web content, the concept of a session and how to monitor a session. Learning about the basics of fronted programming, basic libraries and environment (framework) for client-side web programming. Understanding of the REST concept and server-side web programming. Advanced concepts of the client side: web sockets, file access, local data storage. Understanding of the concept security in the world of web applications.

Lectures

Basics of network programming. Protocols, communication techniques. HTTP protocol. Session monitoring in HTTP protocol. The concept of cookies. Sending parameters and sending files. Servlet as the basis of the dynamic creation of web content. JSP as an upgrade of servlet technology. Basic concepts of programming in JavaScript programming language. DOM tree, view and modification with JavaScript. Basic libraries andenvironments for frontend programming. The concept of REST. Data exchange using JSON format. AJAX calls. Basic environments for backend programming. Security in web applications. Basic attack types in web applications and defence against them.

Practical classes

Creating client/server applications according to the given and free protocol. Network user tracking. Creating simple web servers. Creating basic servlets, session monitoring, registration and login to the site. Sending files to the server. Creating JSP web applications. Writing simple JavaScript programs. Object-oriented programming in the JavaScript programming language. The use of library and environments for client-side application development. Use of web sockets and local repository. Developing the server-side (backend). The use of REST in communication between the client-side and server-side through AJAX calls.