Scripting languages

Objectives and outcomes

The main goal of the course is to familiarize students with the principles of designing and developing web applications with a focus on scripting languages. Students acquire the necessary knowledge and skills and are trained to design and develop web applications and services using scripting languages.

Lectures

Basics of web programming. Problems and tasks of the presentation, application and session layers of the OSI and TCP/IP reference models. Basics of client-side web application development. The role of client technologies in modern web system architectures. Data exchange with different layers of the web application. XML technologies for memorising, processing and visualising presentation layer data. JSON. JSON API. RESTful architecture. Basics of JavaScript. ES6. HOME. JS libraries. AJAX. Development frameworks. MVC. VueJS. Two-way data binding, event management, rendering data, components, directives, work with DOM elements, Dependency Injection. Basics of server development side web applications. The role of server technologies in modern web system architectures. Data exchange with different web application layers. RESTful architecture. Web services. Connectors and adapters. API development. API management platforms. A comparative overview of server-side technologies. Ruby on Rails. Python. Development frameworks. Application of development frameworks to application development. Route management, ORM. NodeJS. Session management and caching. Optimisation of server-side applications.

Practical classes

HTML5, CSS3, CSS preprocessors. XML technologies, DOM and manipulation of XML documents. JSON data serialisation format. Bootstrap frontend frameworks and libraries. Foundation. Semantic. The basics of JavaScript programming language. Text formatting. Regular expressions. IIFE and anonymous functions. Structures. Collections. Objects. Prototypical inheritance. Modular pattern. JSON. JSON API. Visualisation. ChartJS. DataTables. XML. JavaScript libraries. jQuery. JavaScript frameworks. JavaScript compilers and package management. Front-end framework – VueJS. Code versioning. Git. Python. Basic syntax, variables, operators, flow and iteration control, functions and built-in functions. Advanced functions for handling cookies, advanced functions for session management. Object-oriented programming in Python. Implementation of the data layer. Python and working with databases. MySQL and CRUD operations in Python.Data storage and transmission in the web environment. Asynchronous calls to the server and updating data in real time. Python, AJAX and MySQL. Safety and security of Python applications. Service oriented architecture. SOAP. REST. Web services. Development and documentation of own REST service. Public web services. Application development with MVC architecture. Django/NodeJS application development frameworks.