Learning 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:

  1. 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).
  2. Develop applications and systems that require Client side programming using technologies and languages sucah as HTML5, CSS, Javascript, JQuery, bootstrap.
  3. Develop dynamic applications and systems that require Server Side programming using the PHP programming language.
  4. Connect their application with MySQL databases and maintain the security of its application at high levels (avoid SQL Injections etc.)
  5. Develop RESTful web APIs that return results in JSON or XML format.
  6. 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.
  7. Collaboratively develop their application using (Distributed) Version Control Systems (D-VCS, eg git-github).
  8. Develop dynamic web applications using frameworks (eg laravel) and content management systems (CMS Joomla, wordpress, Drupal).

General Capabilities

Upon completion of the course the student has acquired the following knowledge and skills:

  1. Search, analyze and synthesize data and information, using the necessary technologies.
  2. individual work and Teamwork.

Course Content

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

Books

  1. Notes and material can be found on this site.
  2. Greek Students can get from the evdoxus system one of the following:
    1. Προγραμματισμός για το Web, 1η εκδ., Κωδικός Βιβλίου στον Εύδοξο: 50661201, ISBN: 978-960-512-6902
    2. Προγραμματισμός Internet & World Wide Web 4η Έκδοση, Κωδικός Βιβλίου στον Εύδοξο: 12543770, ISBN: 978-960-512-612-4
    3. Μάθετε PHP, MySQL και Apache Όλα σε Ένα, 5η Έκδοση, Κωδικός Βιβλίου στον Εύδοξο: 41960260, ISBN: 978-960-512-6551
    4. Μάθετε Ajax, Javascript και PHP,Όλα σε ένα, Κωδικός Βιβλίου στον Εύδοξο: 12308, ISBN: 978-960-512-562-2

Bibliography

  1. Greek
    1. Ανάπτυξη Web Εφαρμογών με PHP και MySQL. Welling, Luke, Thomson, Laura
  2. International
    1. PHP and MySQL Web Development (4th Edition) [Paperback]. Luke Welling (Author), Laura Thomson (Author)
    2. Introducing .NET 4.0: With Visual Studio 2010 (Expert's Voice in .NET) [Paperback]. Alex Mackey (Author)
    3. Pro C# 2010 and the .NET 4 Platform [Paperback]. Andrew Troelsen (Author)
    4. Using Joomla: Building Powerful and Efficient Web Sites [Paperback]. Ron Severdia (Author)
    5. jQuery in Action [Paperback]. Bear Bibeault (Author), Yehuda Katz (Author).
    6. Microsoft ADO.NET 4 Step by Step (Step By Step (Microsoft)) [Paperback]. Tim Patrick (Author)