Checking date: 10/07/2020

Course: 2020/2021

Ubiquitous Computing
Study: Bachelor in Computer Science and Engineering (218)

Coordinating teacher: BELLUCCI , ANDREA

Department assigned to the subject: Department of Computer Science and Engineering

Type: Electives
ECTS Credits: 6.0 ECTS


Requirements (Subjects that are assumed to be known)
Programming, User Interfaces
The Ubiquitous Computing course has been designed as a space where students can reflect on the role and responsibilities of the interaction designer and how to interact with technology and the environment. The course aims to explore the design space of ubiquitous systems, that is, those interactive systems that go beyond the desktop computer and that are integrated into the fabric of our daily activities through a "embodied virtuality", with the aim to provide new possibilities for people to interact more meaningfully with their environment. The deeply multidisciplinary subject analyzes the historical journey on the development of human-computer interaction, highlighting the computer technologies and interaction techniques that make it possible for computing to "leave" the desktop computer to integrate into the physical world . On the one hand, new devices, technologies and interaction paradigms for ubiquitous environments are addressed in a theoretical and practical way, such as API for distributed web systems, interfaces for large interactive screens and multi-touch, tangible and embodied interaction, so that students acquire knowledge about the evolution of computing and human-computer interaction from mainframes to ubiquitous computing. On the other hand, the course wants to offer the substrate to understand the possibilities and problems that arise when designing distributed systems with new technologies and interaction techniques. Therefore, different cognitive theories, such as embodied cognition or distributed cognition, are emphasized, describing how their principles can be applied to the design of natural user interfaces. Likewise, the opportunities and technical limitations of distributed systems and computer networks to implement new interfaces and natural interactions are analyzed. Finally, new techniques for designing ubiquitous interaction systems are studied and practiced, such as rapid prototyping techniques. To achieve these objectives, the student must acquire a series of knowledge, skills and attitudes. At a general level, the course aims to ensure that students acquire the following skills: - General competencies - Capability to analyze and synthesize (PO b) - Capability to organize and plan (PO d) - Problem solving (PO c) - Teamwork (PO d) - Capacity to apply theoretical concepts (PO c) - Specific competences - Cognitive (PO a) - Knowledge of ubiquitous computing elements - Knowledge of systems, architectures and applications for pervasive computing - The impact of ubiquitous computing on the society - Knowledge of ubiquitous computing design methods - Procedural/Instrumental (PO a, c, e, i, k) - Developing of user interfaces for interactions in an ubiquitous environment - Attitudinal (PO c, d, f) - Creativity - Quality concerns - Achievement motivation - Interesting for doing research and figuring out solutions to new problems - Communication abilities for divulging results to different audiences The subject pursues the following general and specific competences competences - GENERAL COMPETENCES - Being able to generate new ideas (creativity) and anticipate new situations and adapt to teamwork and interact with others, but at the same time have the ability to work independently (CG2) - SPECIFIC COMPETENCES COMMON TO COMPUTER SCIENCE AND ENGINEERING AREA - Knowledge and application of characteristics, functionality and structure of distributed systems, computer networks and internet. Design and development of distributed applications (CECRI11) The objectives and competences are specified in the learning outcomes of the course, corresponding to the overall learning outcomes of the program. Upon successful completion of this course, the student acquires: - The ability to define the main ideas and concepts as well as the vocabulary of ubiquitous computing (RA1) - The ability to describe the different interaction paradigms in ubiquitous computing (RA1) - The ability to discuss the advantages (and disadvantages) of the different natural interaction techniques --- multitouch, tangible, embodied, etc. (RA2) - The ability to apply different methods for the design of interfaces that integrate different devices and techniques of natural interaction (RA3) - The ability to use the appropriate tools to create interactive systems that integrate different interaction devices and techniques (RA5) - The ability to cooperate in a team and distribute the workload to face complex problems (RA6) - The ability to communicate effectively both orally, in writing or graphically throughout the development of the activities proposed in the subject (exercises, debates, practices, etc.) (RA6)
Description of contents: programme
With respect to the theoretical content, the course aims to identify the possibilities and challenges for the design of interaction in digital systems that integrate in the real world and provide students with the knowledge to design interactive systems that integrate different devices / modalities of interaction. The theoretical content is organized in four main blocks: 1. Introduction to ubiquitous computing - History and definition of ubiquitous computing - Theoretical foundations of ubiquitous computing - Interaction paradigms for ubiquitous environments 2. Interaction in ubiquitous environments - Multi-touch interaction - Augmented Reality, Virtual Reality and Mixed Reality - Tangible and embodied interaction - Interaction "without touching": gestures, voice and multimodal - Internet of things 3. Design of ubiquitous interaction systems - User-centered design for ubiquitous computing - Rapid prototyping techniques for ubiquitous environments 4. Future perspectives of ubiquitous computing With regard to practical content, the course aims for students to develop technical skills to implement prototype solutions to new problems and generate new design ideas (creativity). With the support of an advanced JavaScript SPOC course, the course will explore the possibilities offered by the ecosystem of JavaScript technologies when implementing prototypes of multi-device systems. In particular, we will work with: - Advanced aspects of JavaScript programming: advanced functions, event-based programming - Node.js and JavaScript programming "server side" - Apache Cordova and cross-platform JavaScript programming
Learning activities and methodology
- Theoretical classes: 1 ECTS (PO a) - Purpose: to achieve the specific cognitive skills of the course - Execution: master classes in which theoretical concepts on ubiquitous computing are presented - Practical classes: 1 ECTS (PO a, c, e, k) - Purpose: to achieve instrumental competences and develop attitudinal competences - Execution: practical laboratory classes in which technical topics will be exposed and practical examples related to the development of applications for ubiquitous computing will be shown. - SPOC (Online Course): 1.5 ECTS (PO a, c, e, k) - Purpose: to achieve instrumental competences and develop attitudinal competences - Execution: practical laboratory classes in which technical topics will be exposed and practical examples related to the development of applications for ubiquitous computing will be shown. - Case study: 1.5 ECTS PO (a, c, d, e, k) - Purpose: develop instrumental and attitudinal skills - Execution: Design and implement a practical case through group work - Critical analysis of research articles: 0.5 ECTS PO (e, d, f, g) - Purpose: develop instrumental and attitudinal skills - Execution: Class discussion of research articles on ubiquitous computing - Final exam: 0.5 ECTS (PO a, c) - Purpose: complete the development of cognitive and procedural skills
Assessment System
  • % end-of-term-examination 40
  • % of continuous assessment (assigments, laboratory, practicals...) 60
Basic Bibliography
  • John Krumm. Ubiquitous computing Fundamentals.. Chapman & Hall/CRC Press . 2010
  • Jonhatan Grudin. The Computer Reaches Out: The Historical Continuity of Interface Design. ACM. 1990
  • Mark Weiser. The Computer of the 21st Century . ACM. 1997
  • Mark Weiser, Brown J. S.. The Coming of Age of Calm Technology . Copernicus. 1997
  • Paul Dourish. Where the action is. MIT Press. 2004

The course syllabus and the academic weekly planning may change due academic events or other reasons.