Course Overview
The DWCS (Desarrollo Web en Contorno Servidor) course for 2025-26 is a comprehensive server-side web development program focused on PHP, covering everything from basic syntax to advanced topics like authentication, AJAX, and external API integration.Course Structure
The course is organized into 7 main themes (TEMA-02 through TEMA-08), each focusing on specific aspects of server-side development:TEMA-02 & 03
PHP Fundamentals & Forms
TEMA-04
Database Connectivity (PDO/MySQLi)
TEMA-05
Sessions & State Management
TEMA-06
Web Services & Authentication
TEMA-07
AJAX & Asynchronous Communication
TEMA-08
External APIs & OAuth2
Learning Progression
The course follows a carefully structured progression:Foundation (TEMA-02)
Begin with PHP basics: variables, control structures, functions, and form handling. Learn to process user input safely and validate data.
Data Structures (TEMA-03)
Master arrays, file handling, and advanced PHP functions. Build data manipulation skills essential for real-world applications.
Database Integration (TEMA-04)
Connect PHP to MySQL databases using PDO. Learn CRUD operations, prepared statements, and database security best practices.
State Management (TEMA-05)
Implement sessions and cookies to maintain user state across requests. Build shopping cart functionality and user tracking.
Security (TEMA-06)
Develop authentication systems with login/logout functionality. Implement role-based access control and secure password handling.
Interactive Web Apps (TEMA-07)
Create dynamic, responsive applications using AJAX. Learn asynchronous communication patterns and modern web app architecture.
Topic Coverage by TEMA
TEMA-02: PHP Fundamentals
Key Topics:- PHP syntax and basic constructs
- Form processing with
GETandPOST - Input validation and sanitization
- Superglobals (
$_GET,$_POST,$_SERVER) - String manipulation and formatting
TEMA-02/BOLETINES/DWES-Boletin-01/E01/index.php)
TEMA-03: Advanced PHP
Key Topics:- Multi-dimensional arrays
- File system operations
- Regular expressions
- Error handling
- Code organization
TEMA-04: Database Connectivity
Key Topics:- PDO (PHP Data Objects) vs MySQLi
- Database connection management
- CRUD operations (Create, Read, Update, Delete)
- Prepared statements and SQL injection prevention
- Transaction handling
tiendas(stores)familias(product families)productos(products)stocks(inventory by store)
TEMA-05: Sessions & State Management
Key Topics:- Session initialization and configuration
- Cookie management
- Shopping cart implementation
- Session security
- State persistence patterns
TEMA-06: Authentication & Authorization
Key Topics:- User authentication systems
- Password hashing (
password_hash(),password_verify()) - Session-based login/logout
- Role-based access control (RBAC)
- Security best practices
TEMA-06 also introduces web services (SOAP), preparing for the API integration in TEMA-08.
TEMA-07: AJAX & Asynchronous Communication
Key Topics:- XMLHttpRequest and Fetch API
- JSON data exchange
- Asynchronous request patterns
- Real-time updates
- Jaxon PHP library integration
TEMA-08: External APIs & OAuth2
Key Topics:- RESTful API consumption
- API authentication (keys, OAuth2)
- JSON parsing and manipulation
- Third-party service integration
- Google OAuth2 implementation
- AEMET: Spanish meteorological agency weather data
- OpenWeatherMap: Global weather information
- ExchangeRate-API: Currency conversion rates
- GeoPlugin: IP geolocation services
- Google OAuth2: User authentication and authorization
Activity Types
Each TEMA includes different types of learning activities:1. BOLETINES (Exercise Sets)
Short, focused exercises to practice specific concepts. Typically found in themes 02-03. Structure:index.php- Main exercise file- Supporting files (functions, validation, etc.)
- Sometimes includes automata diagrams (state machines) for complex flows
2. TAREA (Assignments)
Larger projects that integrate multiple concepts. These are graded assignments. Examples:TAREA-02A/TAREA-02B: Form validation projectsTAREA-04: Complete CRUD application with databaseTAREA-05-Parte2: Shopping cart implementationTAREA-06: User authentication systemTAREA-08: API integration project with OAuth2
3. Apuntes (Study Notes/Examples)
Instructor-provided examples demonstrating best practices. Found primarily in TEMA-06.4. MUESTRA-EXAMEN (Exam Samples)
Practice exam materials showing the expected format and difficulty level.- SQL schema and data files
- PHP implementation requirements
- Complete working solutions
Repository Structure
The course repository is organized as follows:Development Environment
The course uses:- PHP 8.2+ (XAMPP distribution recommended)
- MySQL/MariaDB for database work
- Apache with virtual hosts for local development
- VS Code with Xdebug for debugging
Getting Started
Set Up Your Environment
Follow the Setup Guide to install PHP, MySQL, and configure Apache virtual hosts.
Next Steps
Environment Setup
Configure your development environment with PHP, MySQL, and Apache
PHP Fundamentals
Begin learning PHP fundamentals and form processing