Guía Docente 2023-24
PROGRAMACIÓN AVANZADA PARA INTERNET (VIDEOJUEGOS)

BASIC DETAILS:

Subject: PROGRAMACIÓN AVANZADA PARA INTERNET (VIDEOJUEGOS)
Id.: 31836
Programme: DOBLE GRADO EN INGENIERÍA INFORMÁTICA Y DISEÑO Y DESARROLLO DE VIDEOJUEGOS
Module: INFORMÁTICA
Subject type: OPTATIVA
Year: 4 Teaching period: Primer Cuatrimestre
Credits: 6 Total hours: 150
Classroom activities: 62 Individual study: 88
Main teaching language: Inglés Secondary teaching language: Castellano
Lecturer: Email:

PRESENTATION:

In the past, the web was created by web developers. Nowadays, web development has evolved together with the technologies and frameworks available for that duty. This leads to a new classification scheme for web developers, ranging from front-end developers, back-end developers or even full-stack developers. 

The main objective of this subject is to form you as a back-end developer. During the course you will get advanced knowledge of programming on the Internet: architecture, communications, technologies, and tools to apply for a secure and robust web application. 

The main technologies used during the course will be PHP, MySQL, Apache Web Server, HTML5, CSS3 and Javascript. Foundations will be laid out and then used to build three web applications (the main assignments) with increasing difficulty. 

The workload of the course can be classified as:

Coding: 9/ 10

Theory: 5/ 10

Arts: 2/ 10

 

PROFESSIONAL COMPETENCES ACQUIRED IN THE SUBJECT:

General programme competences G01 Ability to use learning strategies independently for use in the continuous improvement of professional practice.
G02 Ability to analyse and synthesise problems of their professional activity and apply in similar environments.
G03 Ability to achieve common results through teamwork in a context of integration, cooperation and encouraging critical discussion.
G04 Ability to critically think about information, data and lines of action and their implementation in relevant social, scientific ethical issues.
G05 Ability to communicate in Spanish and English for professional issues in oral and written form.
G06 Ability to solve complex problems or contingencies that arise during professional activity within any organisation and adapt to the needs and demands of their professional environment.
G07 Ability to handle different complex knowledge models through a process of abstraction and its application to approach and solve problems.
G08 Ability to understand the role of the scientific method in the generation of knowledge and its application to a professional environment.
G09 Ability to work with respect for the environment and society through the proper use of technology and its application in promoting a sustainable economy and environment.
G10 Ability to master information and communication technologies and their application in their professional field.
Specific programme competences E01 Ability to solve mathematical problems inherent to engineering. Ability to apply knowledge about: algebra; geometry; differential and integral calculus; optimisation and numerical methods
E02 Ability to understand and master the concepts of the general laws of classical mechanics, fields, waves and electromagnetism and their application for solving video game development problems.
E03 Ability to develop the use and programming of computers, operating systems, databases and software and their application in the development of video games.
E04 Ability to understand and master the basic concepts of discrete logic, algorithmic mathematical and computational complexity, and their application for solving engineering problems.
E05 Ability to program applications both correctly, and efficiently, choosing the most appropriate paradigm and programming languages, applying knowledge of basic algorithmic procedures and using the types and structures of the most appropriate data.
E06 Ability to learn, understand and evaluate the structure and architecture of computers, as well as their basic components.
E07 Ability to design, analyse and implement applications based on the characteristics of the database.
E08 Ability to learn and master the features, functionality and structure of the Distributed Systems, Computer Networks and the Internet and design and implement applications based on them.
E09 Ability to learn and master the tools necessary for the storage, processing and access to information systems, including web-based.
E10 Ability to be familiar with the characteristics, functions and structure of operating systems.
E11 Ability to develop online games for multiple players.
E12 Ability to understand and analyse the structure, organisation, function and interconnection of the devices and systems in video game platforms.
E13 Ability to discover, design and assess the main foundations and techniques of player-computer interaction that guarantee the accessibility and userability of the systems, services and IT applications including video games.
E14 Ability to apply the main foundations and techniques of the smart systems and their practical application in diverse environments.
E15 Ability to apply the main foundations and techniques of programming in real time.
E16 Ability to fully manage and plan software projects and handle suitable tools to do so.
E17 Ability to understand and analyse the structure and function of the main hardware systems and peripherals in video game platforms.
E18 Ability to understand and apply the principles of ergonomics and "Design for all" in order to develop universally accessible interfaces and devices in the field of video games.
E19 Ability to recognise and apply the principles, methodologies and life cycle of software engineering.
E20 Ability to generate and analyse expressive and narrative resources and their application to video games.
E21 Ability to execute the art of video games, create characters and settings.
E22 Ability to manage techniques and tools used for artistic representation and expression.
E23 Ability to use creative processes in the design and development of video games.
E24 Ability to specially visualise and have knowledge of the graphical representation techniques, both in terms of traditional methods of metrical geometrics and descriptive geometrics using computer-assisted design application.
E25 Ability to design and create graphical elements and their application in the development of video games.
E26 Ability to perform the design and creation of animated characters and their application in the development of video games.
E27 Ability to apply the methods in the creation and preservation of synthetic images
E28 Ability to perform the design and construction of models with the information necessary for the creation and display interactive images.
E29 Ability to understand and apply the techniques of visualisation, animation, simulation and interaction on models
E30 Ability to design, develop, select and evaluate applications and systems, ensuring reliability, safety and quality, according to ethical principles and legislation and regulations.
E31 Ability to perform the evaluation of video games from their different approaches.
E32 Ability to evaluate, use and spread game engines.
E33 Ability to develop production developments in the field of video games.
E34 Ability to create and analyse games on their fundamentals and develop the understanding of what are the keys that determine how they work and their development.
E35 Ability to know and understand the video game industry from a business point of view
E36 Ability to identify and implement legal and ethical aspects of the gaming industry
E37 Ability to design and create sounds and sound environments and their application in game development
E38 Ability to produce an original project that integrates the skills acquired throughout the degree along with its presentation and defence before a university tribunal that relates to the field of design and game development.

PRE-REQUISITES:

It is recommended to have basic knowledge of HTML, CSS, Javascript and some experience with programming and web environments.

SUBJECT PROGRAMME:

Subject contents:

1 - Introduction
    1.1 - Dynamic Webs
2 - Server-side Programming
    2.1 - Hello PHP
    2.2 - PHP Functions and Arrays
    2.3 - PHP Objects
    2.4 - PHP File Handling
    2.5 - Individual Assignment I: Generating our individual portfolio
3 - CRUD in the Web
    3.1 - Hello MySQL
    3.2 - MySQL meets PHP
    3.3 - PHP Security
    3.4 - Individual Assignemnt II: Develop my own E-commerce
4 - Metasearch Engines
    4.1 - JSON and AJAX
    4.2 - REST APIs
    4.3 - Group Assignment I: Metasearch platform

Subject planning could be modified due unforeseen circumstances (group performance, availability of resources, changes to academic calendar etc.) and should not, therefore, be considered to be definitive.


TEACHING AND LEARNING METHODOLOGIES AND ACTIVITIES:

Teaching and learning methodologies and activities applied:

Theoretical practical sessions:

First, the lecturer will present the theoretical contents of the subject as a master class, supported by the necessary resources (blackboard, slides, and live demos ...) to exemplify and illustrate the contents properly. The participation of students asking questions, theoretical situations or promoting group discussion on the topics discussed will be encouraged.

Then, the theoretical sessions will be supported by the approach and resolution of practical exercises. These exercises will be solved by the students, individually or collectively, depending on the type of problem to solve. As part of this practical session, students will present their proposed solutions.

 

Participation:

Participation of the students will be required during the theoretical-practical sessions. The participation will be computed and taken into account for the final marks. In addition, each unit will include some exercises that students should complete for their individual portfolios. The solution of the exercises will be shown and explained by the students, computing for the final grade.

 

Individual assignments:

Part of the learning and the grade acquired through the course comes from the resolution of the two individual assignments proposed along the course. In particular, for each of the lectures a short assignment will be requested. Those assignments must be delivered through the PDU within the deadline.

In order to resolve the exercises, student will receive some technical guidance. In addition, a communication mechanism will be provided (PDU) to discuss and comment on the different problems that arise during the resolution of the assignments.

The resolution of these individual assignments prepares the student to acquire the professional competences of this course.

 

Group assignments:

In addition to the individual assignments, students will develop a group assignment that will put in practice all the topics covered by the course. This assignment will be followed by the teacher before the final presentation, to ensure the quality and guide the students when needed.

As with the individual assignments, there will be technical guidance and a communication mechanism to discuss about the assignments.

 

Presentation of the assignments:

An important part of the learning process for the student is the presentation of their assignments to the rest of the students. During these presentations, students will have the opportunity to highlight the most positive aspects of their work, present the solutions to address the issues and even discuss other ways of solving the problems explored by the student.

 

Mentoring:

Students will attend tutorials to ask the teacher questions and problems that arise during the course and that have not been properly addressed during the sessions. Also during these tutorials, the teacher will provide supervision and guidance to help students acquire the skills raised by the course.

As during tutorials with the teacher, students can use the media available on the PDU to raise concerns or judgments about the course at any time, to receive help and feedback from other students and from the teacher.

The tutorials will be held on Mondays from 16:00 to 18:00 and on Thursdays from 15:00 to 17:00. If unable to attend tutoring during these times, they may be arranged at convenient times tutoring for students and the teacher.

Student work load:

Teaching mode Teaching methods Estimated hours
Classroom activities
Master classes 20
Practical exercises 8
Practical work, exercises, problem-solving etc. 14
Laboratory practice 10
Assessment activities 10
Individual study
Tutorials 4
Individual study 20
Individual coursework preparation 38
Group cousework preparation 11
Research work 10
Recommended reading 5
Total hours: 150

ASSESSMENT SCHEME:

Calculation of final mark:

Written tests: 45 %
Individual coursework: 30 %
Group coursework: 5 %
Final exam: 10 %
Participation: 10 %
TOTAL 100 %

*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.

BIBLIOGRAPHY AND DOCUMENTATION:

Basic bibliography:

NIXON, Robin. Learning PHP, MySQL, JavaScript, CSS & HTML5 3rd Edition (O'Reilly 2014, ISBN 978-1491949467)

Recommended bibliography:

CASTRO, Elizabeth. HTML, XHTML y CSS. Madrid : Anaya Multimedia, 2007
DAVIS, Michele E. and PHILLIPS, Jon A. PHP y MySQL. Madrid : Anaya, 2008.
OLIVELLA, Ramón. Diseño y programación de aplicaciones web. Barcelona : Inforbook´s, D.L. 2002.

Recommended websites:

W3Schools Online Web Tutorials http://www.w3schools.com
XAMPP. Apache distribution https://www.apachefriends.org/index.html
PHP Official Documentation http://www.php.net/


* Guía Docente sujeta a modificaciones