Web Programming I

Base Knowledge

  • Knowledge of HTML and CSS.
  • Basic understanding of programming logic.
  • Basic knowledge of databases is advantageous but not mandatory.

Teaching Methodologies

  • Expository classes to explain fundamental concepts.
  • Practical classes for implementing exercises and developing projects.
  • Development of a complete web application in which students apply the acquired knowledge.
  • Use of version control tools such as Git/GitHub to track projects.

Learning Results

Objectives:
The Web Programming I unit aims to equip students with skills in developing dynamic web applications using JavaScript on the client side and PHP on the server side, integrated with MySQL databases. Additionally, students will learn how to use Admin Templates to create web applications with modern and responsive interfaces.

Competencies to Develop:

  • Develop dynamic web applications using JavaScript and PHP.
  • Import and utilize relational databases with MySQL.
  • Create modern and responsive interfaces using Admin Templates.
  • Understand and apply authentication and security concepts in web applications.

Program

Foundations of Dynamic Web Development

  • Review of HTML5 and CSS3.
  • Structure of web applications: Client, Server, and Database.
  • Setting up the development environment (XAMPP, VS Code, MySQL Workbench).

JavaScript (Dynamic Frontend)

  • Syntax: variables (let, const), arrow functions, spread/rest operators, template literals.
  • DOM manipulation and events.

Backend Development with PHP and MySQL

  • Introduction to PHP and web application architecture.
  • Handling forms and variables.
  • Connecting to MySQL databases (using PDO and MySQLi).
  • Data validation for security.

Utilization of Admin Templates in Creating Web Applications

  • Introduction to Admin Templates.
  • Implementation of interactive dashboards.
  • Use of dynamic tables and charts for data visualization.
  • Integration of frontend and backend with dynamic data.

Authentication and Security

  • Sessions and cookies in PHP.
  • Implementation of user login and registration systems.
  • Password hashing (bcrypt, password_hash).
  • Security measures against SQL Injection and XSS.

Grading Methods

The evaluation of this curricular unit will be carried out through the development of a final project and its subsequent defense (comprising a report and a presentation to peers). The student’s approval through continuous assessment will be conditioned on the following requirements:

a) Attendance of at least 75% of the total hours of the unit, as stipulated in the CTeSPs Regulation – Article 23, Point 1;

b) A final project development average grade equal to or greater than 9.5 points.


    Internship(s)

    NAO

    Bibliography

    Nixon, R. (2012). Learning PHP, MySQL, JavaScript & CSS (2ª ed.). O’Reilly Media.

    Flanagan, D. (2020). JavaScript: The Definitive Guide (7ª ed.). O’Reilly Media.

    Ullman, L. (2011). PHP & MySQL for Dynamic Web Sites (5ª ed.). Peachpit Press.

    Duckett, J. (2014). JavaScript & jQuery: Interactive Front-End Development. Wiley.