SLO | EN

Objectives and competences

The objective of this course is to teach students to implement Web applications with the latest technologies, programming tools, scripting and programming languages suitable for Web application development.

Content (Syllabus outline)

• History of Web Applications. • Web application life cycle, Web servers, Web browsers. • Web application properties: cookies, sessions, performance, caching, reliability, security. • Data interchange formats (JSON, XML), serialization, and deserialization. • Web services (SOAP, REST). • Web Applications and NoSQL databases (e.g. MongoDB). • Design pattern MVC (model-view-controller). • Full Stack Web Application Architecture. • Web development stacks: LAMP, MEAN, MERN, MERNG. • Server-side Web programming:o Node.js, npm, Express, Mongoose, etc. • Client-side Web programming:o, React, Angular. • Views and Templates. • Single page applications. • Deep linking. • Evolution of Web applications(Responsive Web Design, Progressive Web Apps). • Design a good web application (style guides, breakpoints, Material Design, Internationalization, ARIA). • JavaScript and transpilers (TypeScript). • Web Application Trends (Redux). • Hybrid mobile applications (Flutter, React Native, Ionic). • Large-Scale Web Applications (Heroku). • Future of web applications (WebAssembly). • Social networks and Web technologies. • Portals, content management systems, document systems, recommendation systems, Semantic Web. • Static site generators (Jekyll).

Learning and teaching methods

• lectures, • lab work, • working in group.

Intended learning outcomes - knowledge and understanding

On completion of this course the student will be able to • find appropriate information on the internet about programming tools, scripting, and programming languages suitable for the development of Web applications, • select appropriate technology, database, programming tool, scripting, and programming language for Web application development, • use of scripting languages for the development of presentation layer of Web application, • use modern programming languages in the development of business logic and data layer of web applications, • analyse, design, implement, test and promote Web application, • implement a Web service.

Intended learning outcomes - transferable/key skills and other attributes

• Communication skills: oral lab work defence, manner of expression at written examination and oral examination. • Use of information technology: use of different tools for program design, implementation, debugging and testing of simple Web applications. • Problem solving: design and implementation of simple Web application. • Working in a group: team of students analyse, design, implement and test their Web application.

Readings

• T. Kosar: Učno gradivo in primeri dosegljivi na E-študij UM: https://estudij.um.si/ – potrebna je prijava v portal. • E. Brown: Web Development with Node and Express, O'Relly Media Inc., 2019. • A. Banks, E. Porcello: Learning React: Functional Web Development with React and Redux, O'Relly Media Inc., 2018. • S. Seshadri: Angular: Up and Running: Learning Angular, Step by Step, O'Relly Media Inc., 2018. • D. K. Barry: Web Services, Service-Oriented Architectures, and Cloud Computing, Second Edition: The Savvy Manager's Guide (The Savvy Manager's Guides), Elsevier, Waltham, 2013.

Prerequisits

None.

  • izr. prof. dr. TOMAŽ KOSAR, univ. dipl. inž. rač. in inf.

  • Written examination: 50
  • Laboratory work: 50

  • : 30
  • : 45
  • : 105

  • Slovenian
  • Slovenian

  • COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES - 2nd