{"id":22853,"date":"2026-03-10T15:41:21","date_gmt":"2026-03-10T15:41:21","guid":{"rendered":"https:\/\/esi.uclm.es\/?page_id=22853"},"modified":"2026-05-13T10:30:15","modified_gmt":"2026-05-13T10:30:15","slug":"consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica","status":"publish","type":"page","link":"https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/","title":{"rendered":"Consulta de pr\u00f3xima convocatoria de ex\u00e1menes &#8211; Grado Ing. Inform\u00e1tica"},"content":{"rendered":"\n<div id=\"esi-calendar-wrapper\">\n    <style>\n        \/* Estilos encapsulados para no afectar al resto de WordPress *\/\n        #esi-calendar-wrapper {\n            \/* Variables locales *\/\n            --esi-primary: #0397D8; \n            --esi-dark: #333333;\n            --esi-light: #f4f4f4;\n            --esi-text: #444;\n            --esi-shadow: 0 4px 6px rgba(0,0,0,0.1);\n            \n            font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n            color: var(--esi-text);\n            max-width: 1000px;\n            margin: 0 auto;\n            padding: 20px;\n            background-color: #fff;\n            box-sizing: border-box;\n        }\n\n        #esi-calendar-wrapper *, \n        #esi-calendar-wrapper *::before, \n        #esi-calendar-wrapper *::after {\n            box-sizing: inherit;\n        }\n\n        #esi-calendar-wrapper header {\n            text-align: center;\n            margin-bottom: 30px;\n            border-bottom: 3px solid var(--esi-primary);\n            padding-bottom: 20px;\n        }\n\n        #esi-calendar-wrapper h1 {\n            color: var(--esi-primary);\n            margin: 0 0 10px 0;\n            font-size: 1.8rem;\n            line-height: 1.2;\n        }\n\n        #esi-calendar-wrapper .subtitle {\n            color: var(--esi-dark);\n            margin-top: 5px;\n            font-size: 1rem;\n            margin-bottom: 0;\n        }\n\n        \/* Controles *\/\n        #esi-calendar-wrapper .controls {\n            background: var(--esi-light);\n            padding: 20px;\n            border-radius: 8px;\n            display: flex;\n            flex-wrap: wrap;\n            gap: 20px;\n            justify-content: center;\n            margin-bottom: 30px;\n        }\n\n        #esi-calendar-wrapper .toggle-group {\n            display: flex;\n            gap: 10px;\n            align-items: center;\n        }\n\n        #esi-calendar-wrapper button.mode-btn {\n            background: white;\n            border: 2px solid var(--esi-primary);\n            color: var(--esi-primary);\n            padding: 8px 16px;\n            border-radius: 20px;\n            cursor: pointer;\n            font-weight: bold;\n            transition: all 0.3s ease;\n            font-size: 0.9rem;\n        }\n\n        #esi-calendar-wrapper button.mode-btn:hover {\n            background-color: rgba(3, 151, 216, 0.1);\n        }\n\n        #esi-calendar-wrapper button.mode-btn.active {\n            background: var(--esi-primary);\n            color: white;\n        }\n\n        #esi-calendar-wrapper select {\n            padding: 10px;\n            border-radius: 5px;\n            border: 1px solid #ccc;\n            font-size: 1rem;\n            min-width: 200px;\n            outline-color: var(--esi-primary);\n            background-color: white;\n            color: #333;\n        }\n\n        \/* Grid de Ex\u00e1menes *\/\n        #esi-calendar-wrapper .exam-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n            gap: 20px;\n        }\n\n        #esi-calendar-wrapper .exam-card {\n            background: white;\n            border: 1px solid #eee;\n            border-left: 5px solid var(--esi-primary);\n            border-radius: 5px;\n            padding: 20px;\n            box-shadow: var(--esi-shadow);\n            transition: transform 0.2s;\n            display: flex;\n            flex-direction: column;\n        }\n\n        #esi-calendar-wrapper .exam-card:hover {\n            transform: translateY(-3px);\n        }\n\n        #esi-calendar-wrapper .exam-date {\n            font-size: 0.9rem;\n            color: #666;\n            margin-bottom: 5px;\n            font-weight: 600;\n            text-transform: uppercase;\n        }\n\n        #esi-calendar-wrapper .exam-subject {\n            font-size: 1.2rem;\n            color: var(--esi-primary);\n            font-weight: bold;\n            margin-bottom: 10px;\n            line-height: 1.3;\n        }\n\n        #esi-calendar-wrapper .exam-details {\n            font-size: 0.95rem;\n            line-height: 1.6;\n            margin-top: auto;\n        }\n\n        #esi-calendar-wrapper .tag {\n            display: inline-block;\n            background: #eee;\n            padding: 2px 8px;\n            border-radius: 4px;\n            font-size: 0.8rem;\n            font-weight: bold;\n            margin-right: 5px;\n            color: #555;\n            margin-bottom: 4px;\n        }\n\n        #esi-calendar-wrapper .no-exams {\n            text-align: center;\n            width: 100%;\n            grid-column: 1 \/ -1;\n            font-style: italic;\n            color: #777;\n            padding: 20px;\n            background: #f9f9f9;\n            border-radius: 4px;\n        }\n\n        \/* Responsive ajustes *\/\n        @media (max-width: 600px) {\n            #esi-calendar-wrapper .controls {\n                flex-direction: column;\n                align-items: stretch;\n            }\n\n            #esi-calendar-wrapper .toggle-group {\n                justify-content: center;\n            }\n\n            #esi-calendar-wrapper select {\n                width: 100%;\n            }\n        }\n    <\/style>\n\n    <header>\n        <h1>Ex\u00e1menes Grado Ingenier\u00eda Inform\u00e1tica &#8211; ESI<\/h1>\n        <p class=\"subtitle\">Convocatoria Ordinaria &#8211; Segundo Cuatrimestre 2025\/2026<\/p>\n    <\/header>\n\n    <div class=\"controls\">\n        <div class=\"toggle-group\">\n            <button class=\"mode-btn active\" id=\"btn-mode-date\" type=\"button\">Por D\u00eda<\/button>\n            <button class=\"mode-btn\" id=\"btn-mode-course\" type=\"button\">Por Curso<\/button>\n        <\/div>\n\n        <div id=\"esi-filter-container\"><\/div>\n    <\/div>\n\n    <div id=\"esi-exam-results\" class=\"exam-grid\"><\/div>\n<\/div>\n\n<script>\n(function() {\n    \/\/ URL del JSON externo.\n    \/\/ Se usa HTTPS para evitar bloqueos por contenido mixto si WordPress carga con HTTPS.\n    const EXAMS_JSON_URL = 'https:\/\/esi.uclm.es\/TV\/hall\/examenes.json';\n\n    let exams = [];\n    let currentMode = 'date';\n\n    \/\/ Referencias al DOM usando IDs espec\u00edficos para evitar conflictos\n    const btnDate = document.getElementById('btn-mode-date');\n    const btnCourse = document.getElementById('btn-mode-course');\n    const filterContainer = document.getElementById('esi-filter-container');\n    const resultsContainer = document.getElementById('esi-exam-results');\n\n    async function init() {\n        if (!filterContainer || !resultsContainer || !btnDate || !btnCourse) return;\n\n        btnDate.addEventListener('click', () => setMode('date'));\n        btnCourse.addEventListener('click', () => setMode('course'));\n\n        showLoadingMessage();\n\n        try {\n            await loadExamsFromJSON();\n            renderFilters();\n            renderExams();\n        } catch (error) {\n            console.error('[ESI Calendar] Error al cargar el JSON de ex\u00e1menes:', error);\n            showErrorMessage();\n        }\n    }\n\n    async function loadExamsFromJSON() {\n        const response = await fetch(EXAMS_JSON_URL, {\n            method: 'GET',\n            cache: 'no-store'\n        });\n\n        if (!response.ok) {\n            throw new Error(`No se pudo cargar el JSON. C\u00f3digo HTTP: ${response.status}`);\n        }\n\n        const data = await response.json();\n\n        \/*\n            Compatibilidad con dos posibles estructuras:\n\n            1) Array directo:\n               [\n                   { id: 1, subject: \"...\", ... }\n               ]\n\n            2) Objeto con metadata:\n               {\n                   metadata: {...},\n                   examenes: [\n                       { id: 1, subject: \"...\", ... }\n                   ]\n               }\n        *\/\n        if (Array.isArray(data)) {\n            exams = data;\n        } else if (data && Array.isArray(data.examenes)) {\n            exams = data.examenes;\n            updateHeaderFromMetadata(data.metadata);\n        } else {\n            throw new Error('El JSON no tiene una estructura v\u00e1lida. Debe ser un array o un objeto con la propiedad \"examenes\".');\n        }\n\n        \/\/ Orden estable por fecha, hora e id.\n        exams.sort((a, b) => {\n            const dateA = `${a.date || ''} ${normalizeTime(a.time || '')}`;\n            const dateB = `${b.date || ''} ${normalizeTime(b.time || '')}`;\n\n            if (dateA < dateB) return -1;\n            if (dateA > dateB) return 1;\n\n            return Number(a.id || 0) - Number(b.id || 0);\n        });\n    }\n\n    function updateHeaderFromMetadata(metadata) {\n        if (!metadata) return;\n\n        const titleEl = document.querySelector('#esi-calendar-wrapper h1');\n        const subtitleEl = document.querySelector('#esi-calendar-wrapper .subtitle');\n\n        if (titleEl && metadata.titulo) {\n            titleEl.textContent = metadata.titulo;\n        }\n\n        if (subtitleEl) {\n            const convocatoria = metadata.convocatoria || '';\n            const cuatrimestre = metadata.cuatrimestre || '';\n            const curso = metadata.cursoAcademico || '';\n\n            const subtitleParts = [];\n\n            if (convocatoria) {\n                subtitleParts.push(`Convocatoria ${convocatoria}`);\n            }\n\n            if (cuatrimestre) {\n                subtitleParts.push(cuatrimestre);\n            }\n\n            if (curso) {\n                subtitleParts.push(curso);\n            }\n\n            if (subtitleParts.length > 0) {\n                subtitleEl.textContent = subtitleParts.join(' - ');\n            }\n        }\n    }\n\n    function normalizeTime(time) {\n        const parts = String(time).split(':');\n        const hours = String(parts[0] || '0').padStart(2, '0');\n        const minutes = String(parts[1] || '00').padStart(2, '0');\n        return `${hours}:${minutes}`;\n    }\n\n    function getUniqueDates() {\n        const seen = new Set();\n        const dates = [];\n\n        exams.forEach(exam => {\n            if (exam.displayDate && !seen.has(exam.displayDate)) {\n                seen.add(exam.displayDate);\n                dates.push(exam.displayDate);\n            }\n        });\n\n        return dates;\n    }\n\n    function getUniqueCourses() {\n        return [...new Set(exams.map(exam => exam.course))]\n            .filter(Boolean)\n            .sort((a, b) => Number(a) - Number(b));\n    }\n\n    function setMode(mode) {\n        currentMode = mode;\n\n        if (mode === 'date') {\n            btnDate.classList.add('active');\n            btnCourse.classList.remove('active');\n        } else {\n            btnCourse.classList.add('active');\n            btnDate.classList.remove('active');\n        }\n\n        renderFilters();\n        renderExams();\n    }\n\n    function renderFilters() {\n        filterContainer.innerHTML = '';\n\n        const select = document.createElement('select');\n        select.id = 'esi-filter-select';\n        select.addEventListener('change', renderExams);\n\n        const optionDefault = document.createElement('option');\n        optionDefault.value = 'all';\n\n        if (currentMode === 'date') {\n            optionDefault.textContent = 'Selecciona un d\u00eda (o Ver Todos)';\n            select.appendChild(optionDefault);\n\n            getUniqueDates().forEach(date => {\n                const option = document.createElement('option');\n                option.value = date;\n                option.textContent = date;\n                select.appendChild(option);\n            });\n        } else {\n            optionDefault.textContent = 'Selecciona un curso (o Ver Todos)';\n            select.appendChild(optionDefault);\n\n            getUniqueCourses().forEach(course => {\n                const option = document.createElement('option');\n                option.value = course;\n                option.textContent = `Curso ${course}\u00ba`;\n                select.appendChild(option);\n            });\n        }\n\n        filterContainer.appendChild(select);\n    }\n\n    function renderExams() {\n        const selectEl = document.getElementById('esi-filter-select');\n        const filterValue = selectEl ? selectEl.value : 'all';\n\n        resultsContainer.innerHTML = '';\n\n        let filteredExams = exams;\n\n        if (filterValue !== 'all') {\n            if (currentMode === 'date') {\n                filteredExams = exams.filter(ex => ex.displayDate === filterValue);\n            } else {\n                filteredExams = exams.filter(ex => ex.course === filterValue);\n            }\n        }\n\n        if (filteredExams.length === 0) {\n            resultsContainer.innerHTML = '<div class=\"no-exams\">No hay ex\u00e1menes que coincidan con la selecci\u00f3n.<\/div>';\n            return;\n        }\n\n        filteredExams.forEach(exam => {\n            const card = document.createElement('div');\n            card.className = 'exam-card';\n\n            const typeTag = `<span class=\"tag\">${escapeHTML(exam.type || '')}<\/span>`;\n            const courseTag = `<span class=\"tag\">${escapeHTML(exam.course || '')}\u00ba Curso<\/span>`;\n\n            card.innerHTML = `\n                <div class=\"exam-date\">${escapeHTML(exam.displayDate || '')} - ${escapeHTML(exam.time || '')}<\/div>\n                <div class=\"exam-subject\">${escapeHTML(exam.subject || '')}<\/div>\n                <div class=\"exam-details\">\n                    <div style=\"margin-bottom:8px;\">${courseTag} ${typeTag}<\/div>\n                    <div><strong>Aulas:<\/strong> ${escapeHTML(exam.rooms || '')}<\/div>\n                <\/div>\n            `;\n\n            resultsContainer.appendChild(card);\n        });\n    }\n\n    function showLoadingMessage() {\n        resultsContainer.innerHTML = '<div class=\"no-exams\">Cargando calendario de ex\u00e1menes...<\/div>';\n    }\n\n    function showErrorMessage() {\n        resultsContainer.innerHTML = `\n            <div class=\"no-exams\">\n                No se ha podido cargar el calendario de ex\u00e1menes.\n                Comprueba que el archivo JSON est\u00e1 disponible en:\n                ${EXAMS_JSON_URL}\n            <\/div>\n        `;\n    }\n\n    function escapeHTML(value) {\n        return String(value)\n            .replace(\/&\/g, '&amp;')\n            .replace(\/<\/g, '&lt;')\n            .replace(\/>\/g, '&gt;')\n            .replace(\/\"\/g, '&quot;')\n            .replace(\/'\/g, '&#039;');\n    }\n\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', init);\n    } else {\n        init();\n    }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Ex\u00e1menes Grado Ingenier\u00eda Inform\u00e1tica &#8211; ESI Convocatoria Ordinaria &#8211; Segundo Cuatrimestre 2025\/2026 Por D\u00eda Por Curso<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-22853","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Consulta de pr\u00f3xima convocatoria de ex\u00e1menes &#8211; Grado Ing. Inform\u00e1tica - Escuela Superior de Inform\u00e1tica de UCLM<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Consulta de pr\u00f3xima convocatoria de ex\u00e1menes &#8211; Grado Ing. Inform\u00e1tica - Escuela Superior de Inform\u00e1tica de UCLM\" \/>\n<meta property=\"og:description\" content=\"Ex\u00e1menes Grado Ingenier\u00eda Inform\u00e1tica &#8211; ESI Convocatoria Ordinaria &#8211; Segundo Cuatrimestre 2025\/2026 Por D\u00eda Por Curso\" \/>\n<meta property=\"og:url\" content=\"https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/\" \/>\n<meta property=\"og:site_name\" content=\"Escuela Superior de Inform\u00e1tica de UCLM\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Escuela-Superior-de-Informtica-543261809027158\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-13T10:30:15+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@esiuclm\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/esi.uclm.es\\\/index.php\\\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\\\/\",\"url\":\"https:\\\/\\\/esi.uclm.es\\\/index.php\\\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\\\/\",\"name\":\"Consulta de pr\u00f3xima convocatoria de ex\u00e1menes &#8211; Grado Ing. Inform\u00e1tica - Escuela Superior de Inform\u00e1tica de UCLM\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/esi.uclm.es\\\/#website\"},\"datePublished\":\"2026-03-10T15:41:21+00:00\",\"dateModified\":\"2026-05-13T10:30:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/esi.uclm.es\\\/index.php\\\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/esi.uclm.es\\\/index.php\\\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/esi.uclm.es\\\/index.php\\\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/esi.uclm.es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Consulta de pr\u00f3xima convocatoria de ex\u00e1menes &#8211; Grado Ing. Inform\u00e1tica\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/esi.uclm.es\\\/#website\",\"url\":\"https:\\\/\\\/esi.uclm.es\\\/\",\"name\":\"Escuela Superior de Inform\u00e1tica de UCLM en Ciudad Real, Castilla-La Mancha\",\"description\":\"La Escuela Superior de Inform\u00e1tica de Ciudad Real (Castilla-La Mancha), Universidad de Castilla-La Mancha es un centro universitario que imparte el ciclo completo de Ingenier\u00eda en Inform\u00e1tica: grado, m\u00e1ster y doctorado.\",\"publisher\":{\"@id\":\"https:\\\/\\\/esi.uclm.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/esi.uclm.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/esi.uclm.es\\\/#organization\",\"name\":\"Escuela Superior de Inform\u00e1tica de UCLM\",\"url\":\"https:\\\/\\\/esi.uclm.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/esi.uclm.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/esi.uclm.es\\\/assets\\\/uploads\\\/2022\\\/03\\\/LogoESI_cabecera-1.png\",\"contentUrl\":\"https:\\\/\\\/esi.uclm.es\\\/assets\\\/uploads\\\/2022\\\/03\\\/LogoESI_cabecera-1.png\",\"width\":460,\"height\":184,\"caption\":\"Escuela Superior de Inform\u00e1tica de UCLM\"},\"image\":{\"@id\":\"https:\\\/\\\/esi.uclm.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Escuela-Superior-de-Informtica-543261809027158\",\"https:\\\/\\\/x.com\\\/esiuclm\",\"https:\\\/\\\/www.instagram.com\\\/esiuclm\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/esiuclm\",\"https:\\\/\\\/www.twitch.tv\\\/esiuclm\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/12656631\\\/admin\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Consulta de pr\u00f3xima convocatoria de ex\u00e1menes &#8211; Grado Ing. Inform\u00e1tica - Escuela Superior de Inform\u00e1tica de UCLM","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/","og_locale":"es_ES","og_type":"article","og_title":"Consulta de pr\u00f3xima convocatoria de ex\u00e1menes &#8211; Grado Ing. Inform\u00e1tica - Escuela Superior de Inform\u00e1tica de UCLM","og_description":"Ex\u00e1menes Grado Ingenier\u00eda Inform\u00e1tica &#8211; ESI Convocatoria Ordinaria &#8211; Segundo Cuatrimestre 2025\/2026 Por D\u00eda Por Curso","og_url":"https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/","og_site_name":"Escuela Superior de Inform\u00e1tica de UCLM","article_publisher":"https:\/\/www.facebook.com\/Escuela-Superior-de-Informtica-543261809027158","article_modified_time":"2026-05-13T10:30:15+00:00","twitter_card":"summary_large_image","twitter_site":"@esiuclm","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/","url":"https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/","name":"Consulta de pr\u00f3xima convocatoria de ex\u00e1menes &#8211; Grado Ing. Inform\u00e1tica - Escuela Superior de Inform\u00e1tica de UCLM","isPartOf":{"@id":"https:\/\/esi.uclm.es\/#website"},"datePublished":"2026-03-10T15:41:21+00:00","dateModified":"2026-05-13T10:30:15+00:00","breadcrumb":{"@id":"https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/esi.uclm.es\/index.php\/consulta-de-proxima-convocatoria-de-examenes-grado-ing-informatica\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/esi.uclm.es\/"},{"@type":"ListItem","position":2,"name":"Consulta de pr\u00f3xima convocatoria de ex\u00e1menes &#8211; Grado Ing. Inform\u00e1tica"}]},{"@type":"WebSite","@id":"https:\/\/esi.uclm.es\/#website","url":"https:\/\/esi.uclm.es\/","name":"Escuela Superior de Inform\u00e1tica de UCLM en Ciudad Real, Castilla-La Mancha","description":"La Escuela Superior de Inform\u00e1tica de Ciudad Real (Castilla-La Mancha), Universidad de Castilla-La Mancha es un centro universitario que imparte el ciclo completo de Ingenier\u00eda en Inform\u00e1tica: grado, m\u00e1ster y doctorado.","publisher":{"@id":"https:\/\/esi.uclm.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/esi.uclm.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/esi.uclm.es\/#organization","name":"Escuela Superior de Inform\u00e1tica de UCLM","url":"https:\/\/esi.uclm.es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/esi.uclm.es\/#\/schema\/logo\/image\/","url":"https:\/\/esi.uclm.es\/assets\/uploads\/2022\/03\/LogoESI_cabecera-1.png","contentUrl":"https:\/\/esi.uclm.es\/assets\/uploads\/2022\/03\/LogoESI_cabecera-1.png","width":460,"height":184,"caption":"Escuela Superior de Inform\u00e1tica de UCLM"},"image":{"@id":"https:\/\/esi.uclm.es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Escuela-Superior-de-Informtica-543261809027158","https:\/\/x.com\/esiuclm","https:\/\/www.instagram.com\/esiuclm\/","https:\/\/www.youtube.com\/user\/esiuclm","https:\/\/www.twitch.tv\/esiuclm","https:\/\/www.linkedin.com\/company\/12656631\/admin\/"]}]}},"_links":{"self":[{"href":"https:\/\/esi.uclm.es\/index.php\/wp-json\/wp\/v2\/pages\/22853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esi.uclm.es\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/esi.uclm.es\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/esi.uclm.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esi.uclm.es\/index.php\/wp-json\/wp\/v2\/comments?post=22853"}],"version-history":[{"count":7,"href":"https:\/\/esi.uclm.es\/index.php\/wp-json\/wp\/v2\/pages\/22853\/revisions"}],"predecessor-version":[{"id":23352,"href":"https:\/\/esi.uclm.es\/index.php\/wp-json\/wp\/v2\/pages\/22853\/revisions\/23352"}],"wp:attachment":[{"href":"https:\/\/esi.uclm.es\/index.php\/wp-json\/wp\/v2\/media?parent=22853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}