Development of Web Systems and Applications

General

Educational goals

The goal of the course is the understanding and learning of the technologies, programming languages ​​and methods for the development of web systems and web applications. The main goal is the design and the development of systems and applications for the web where a significant part of them is executed at server-side. Students will obtain knowledge on developing advanced web applications using programming languages ​​such as PHP. It also aims to understand the methods for developing Web 2.0+ systems and applications as well as advanced architectures for developing web systems and applications (APIs, Service Oriented Architectures). Upon completion of the course, students will have acquired the theoretical and practical knowledge, understanding and capabilities for application and analysis related to technologies for the development of web systems, applications and web services. Thus, they will be able to:

  • explain architectures for deploying client-server systems, basic infrastructure components for web servers, and basic concepts for developing web systems (state, session, application, request, response).
  • develop applications and systems that require Client side programming using technologies and languages sucah as HTML5, CSS, Javascript, JQuery, bootstrap
  • develop dynamic applications and systems that require Server Side programming using the PHP programming language.
  • connect their application with MySQL databases and maintain the security of its application at high levels (avoid SQL Injections etc.)
  • develop RESTful web APIs that return results in JSON or XML format. Develop the front end and back end of the application independently using the Model-View-Controller (MVC) and use API to exchange data between application parts as well as AJAX calls for asynchronous communication. Create and manage content in JSON and XML / DTD format.
  • Collaboratively develop their application using (Distributed) Version Control Systems (D-VCS, eg git-github). Develop dynamic web applications using frameworks (eg laravel) and content management systems (CMS Joomla, wordpress, Drupal)
General Skills
  • Search, analyze and synthesize data and information, using the necessary technologies
  • individual work and Teamwork

Course Contents

Course contents

– WWW Overview, Historical Overview, Web Servers, URLs, The WWW Client-Server Model
– Client side technologies and languages ​​overview (HTML, CSS, Javascript, DOM, bootstrap)
– Introduction to PHP (Conditional Statements, Loops, Functions, forms, get, post, sessions, cookies)
– PHP and MySQL (MySQLI library, PDO. Database connection, SQL DML and DDL execution from PHP code, SQL Injections and prepared statements)
– The http protocol
– The JSON language and the XML language. XML validation by using DTD
– Server-client asynchronous communication via AJAX. Updating webpage without reloading.
– The JQUERY library
– Web services, Web APIs, REST APIs. Independent development of front-end and back-end. Data exchange through WEB API.
– Versioning Control Systems (VCS). Collaborative web development, use of git
– PHP frameworks (Laravel) and Content Management Systems (CMS)

Teaching Methods - Evaluation

Teaching Method
  • Face to face teaching (presentation, discussion, problem solving).
Use of ICT means
  • Use of Web server and database server where students develop their applications
  • Use of computers lab for the development and presentation of students' applications
  • Use of presentation software
  • Use of online learning platform (moodle)
  • Communication through the course web page
  • Electronic communication with students via email
Teaching Organization
Activity Semester workload
Lectures60
Writing and presenting compulsory work60
Individual study and analysis of literature60
Total 180
Students evaluation

50% of final grade: Written multiple choice exams.
50% of the final grade: Teamwork for web development. Oral examination of each member of the team.

Recommended Bibliography

Recommended Bibliography through "Eudoxus"
  1. Web Programming, 1st Edition. Book Code in Evdoxos: 50661201, ISBN: 978-960-512-6902
  2. Internet programming, World Wide Web 4th Edition.. Book Code in Evdoxos: 12543770, ISBN: 978-960-512-612-4
  3. Learn PHP, MySQL and Apache All in One, 5th Edition. Book Code in Evdoxos: 41960260, ISBN: 978-960-512-6551
  4. Learn Ajax, Javascript and PHP, All in One. Book Code in Evdoxos: 12308, ISBN: 978-960-512-562-2
  5. Technologies and Programming on the World Wide Web - 2nd Edition. Code in Evdoxos: 102125023
Complementary greek bibliography
  1. Web Application Development with PHP and MySQL. Welling, Luke, Thomson, Laura.
Complementary international bibliography
  1. PHP and MySQL Web Development (4th Edition) [Paperback]. Luke Welling (Author), Laura Thomson (Author)
  2. Design Patterns in PHP and Laravel [electronic resource], Kelt Dockins, Evdoxus Code: 75484250
  3. Beginning Laravel [electronic resource], Sanjib Sinha, Evdoxus Code: 75482262
  4. Web Development with Go [electronic resource], Shiju Varghese, Evdoxus Code: 73267901
  5. PHP 7 Solutions [electronic resource], David Powers, Evdoxus Code: 91693113
  6. Beginning PHP and MySQL [electronic resource], W. Jason Gilmore, Evdoxus Code: 73230427