Web engineering

Responsible(s)

Description

The Web is perhaps the most important revolution in content distribution and communication since the invention of the television and the telephone. At its origins, mastering the Web was equivalent to mastering HTML, HTTP and browser and server software. But today Web mastery goes far beyond those technologies, to include document language theory, client and server side scripting, Internet commerce, secure document transfer, middleware, P2P networking, content distribution networks, voice browsing, content transcoding, search and indexing theory, and intelligent systems. There is already an awesome array of Web applications in use today, including document search, Web-based e-mail, secure commerce, PDA access, file sharing, video on demand, television/Web integration, eLearning, and many more. This speciality area investigates the underlying principles of the Web as well emerging Web technologies and applications.

MANDATORY CoursES

The course MobServ would interest students who want to get a big picture of the mobile application ecosystem and the hands-on on design and development for the three emerging mobile platform including Android, iOS, and PhoneGap/WebOS. It focuses on problem solving and design skills through studio-based learning (SLB) and lab sessions as well as a challenge project where you invent and build your own mobile application.

It targets the description of new emerging technologies and tools used to design and implement multimedia applications for smartphones taking into account the technical constraints relative to storage capacity, processing capacity, display screen, communication interfaces, as well as user context and profile.

This course starts by presenting a mobile application and platform landscape and their evolution followed by Android, iOS, and PhoneGap/WebOS basics combined with mini lab sessions. Then fundamentals of each platform are detailed through guided lab sessions and interactive discussions. Platform trends, market, and business model are explained. Finally, advanced topics such as location-based service, geo-social service, offline capable apps, UI/UX design are given.

The course aims at providing students with a common knowledge about the concepts of programming and software development in a Unix-like environment. In particular, the course will focus on practical techniques of program development for small-scale projects produced by individuals or small groups.

Middleware consists of the software and services on which a network application programmer relies that are provided on top of the network layer. The knowledge of distributed software design and the appropriate use of middleware are recognized as part of the software engineering culture in the industry, especially for Internet applications.

The goal of this course is to provide a broad overview of engineering techniques for the development of distributed software based on classical bare socket programming and on today's state-of-the-art middleware.

The course first describes how distributed software can be modularly designed using object-oriented techniques and design patterns. Object-oriented middleware platforms like CORBA, Java RMI, and EJB are then thoroughly described. Mobile code platforms, which provide a new form of middleware, are also introduced. Services and interfaces required for the deployment of these platforms are finally addressed.

The course will be accompanied by some significant design and programming labs.

The Semantic Web is an evolving extension of the World Wide Web in which the semantics of information and services on the web is defined, making it possible for the web to understand and satisfy the requests of people and machines to use the web content. It derives from W3C director Sir Tim Berners-Lee's vision of the Web as a universal medium for data, information, and knowledge exchange. This course is a guided tour for a number of W3C recommendations allowing to represent (RDF/S, OWL, SKOS, RIF), query (SPARQL) and extract (RDFa, GRDDL) knowledge on the web.

It aims at presenting the underlying logical formalisms of these languages, their syntax and semantics.

We will also present the problems of modelling and aligning ontologies on the web.

Finally, we will show how the linked data movement contributes to the so-called Web 3.0 vision.

OPTIONAL CoursES

The purpose of this course is to present a series of mobile systems in their entirety to synthesize the knowledge gained in more fundamental courses, to explore current and emerging standards and to follow the evolution of various mobile services.

This course provides a broad introduction to cryptography and communication security mechanisms based on cryptography. The course covers fundamental aspects such as security evaluation criteria and the mathematical constructs underlying cryptographic primitives as well as applied aspects like the design of major encryption and hashing algorithms, details of security mechanisms relying on cryptography such as data encryption, integrity, digital signature, authentication, key management, and public-key infrastructures.

Internet security has become part of everyday life where security problems impact practical aspects of our lives. Even though there is a considerable corpus of knowledge about tools and techniques to protect networks, information about what are the actual vulnerabilities and how they are exploited is often not well understood. The course aims to make the students gain a basic understanding about real world security issues and countermeasures. Another of the goals of this course is to teach students to think as an attacker, this state of mind will later help to design secure systems and avoid common pitfalls.

The course introduces the students to all the basic concepts of system security in the areas of host, network, and web security. The class has a very practical spin. A number of challenge-like homework assignment are used to force the student to practice on the low level aspects of the concept presented during the lectures. Therefore, prior experience in basic programming (C) as well as knowledge of basic concepts in operating systems and networks is recommended.

Human-computer interaction for the Web: interaction design and user evaluation

Human's computer interaction (HCI) is the study of interaction between people (users) and computers. It is often regarded as the intersection of computer science, behavioural sciences, design and several other fields of study.

In this course, we will focus on designing and evaluating interfaces for interacting with multimedia data on the web.

The main goal of this course is therefore to teach students how to sketch and build novel interactive systems without intensive programming and engineering knowledge, using simple tools, few trick and lots of imagination.

The course MobAdv would interest students who want to learn emerging adhoc wireless networks including mesh, sensor, vehicular, and delay-tolerent networks as well as the fundamental building blocks used in the current state-of-the-art architectures, protocols, and algorithms. It is designed to stimulated students' critical thinking and analysis through discussions on open research issues and depth case study.

It covers mainly the candidate applications and the network layer by giving for each one of them the proposed protocols and techniques and standardization and research efforts.

This course starts by presenting a brief introduction on graph-based network modelling followed by broadcasting, (Geo-)routing, and multicasting techniques. Then different topology control algorithms and network clustering schemes are described. Impact of different mobility and traffic patterns on the performance of protocols are analyzed and compared. Finally, advanced topics such as cross-layer design, QoS support and node cooperation are discussed.

This module teaches the state-of-the art techniques for wireless access.

This module will address wireless access issues in the context of vehicular communication for Intelligent Transportation Systems (ITS).

The interested students will learn the challenges of accessing a wireless network, how to address the impact of mobility, how to differentiate various types of message and deal with the QoS, understand the impact of distance, transmission policies or the environment on the communication quality, and finally how wireless access technologies could improve the future ITS.

This module puts experimentations to the center and will schedule 3 lab sessions for 4 lectures.

This course presents the main applications of secure communication mechanisms in the area of computer networks and distributed systems.

The course covers network security approaches based on firewalls, cryptographic security protocol suites designed for the data exchange and network control components of Internet, wireless security protocols, and security solutions for cellular and mobile network architectures.

FREE CoursEs

In this course, we will discuss contemporary research problems in multimedia. The content of the course will change from year to year and will reflect the current research interests of the Eurecom faculty.

This course covers the fundamentals for the analysis and design of physical layer digital communication systems.

It serves as the basic building block for understanding modern mathematical procedures that enable communication via different physical media (e.g. radio, twisted-pair wireline, coaxial cable, fiber-optical).

Both the deterministic and random characterizations of common transmit signal and noise processes are covered as well as optimal receivers and their performance using different digital signalling methods.

This course is designed to familiarize students with the practices and underlying issues surrounding the founding and funding of entrepreneurial ventures. This involves learning about the key decisions to be made by the entrepreneur and the relationship between the venture capital provider and the entrepreneur. How do they come to a deal ? What are their respective strategies ? What is the process ?

This course is an introduction to game theory. Game theory studies interactions of "agents" whose objectives depend on others actions and not only theirs. It permits to model and understand many real-world strategic interactions, e.g., in economics.

This course introduces the main concepts of game theory (Nash equilibrium, etc.) and illustrates them with examples from economics, political sciences, computer science, engineering, etc.

The goal of this course is to present the basics of game theory in sufficient details to enable students to (i) feel the relevance of game theory to understand real world interactions and (ii) apply game theory to their own applications.

This course is followed by the Network Economics course which introduces more advanced game theory concepts and develops in details applications to economics of the Internet.

Sustainable development is today an increasingly strategic issue for many companies. In the field of Information and Communications Technologies, Green-IT must play an important role in the collective attention spans to preserve the environment, to control energy consumption and ensure their own sustainable development.

The expected benefits are sufficiently significant so that the principal actors attack the subject. For manufacturers and operators in the sector, this issue is reflected by specific concerns about

the fate of equipment, terminals and services expected to be developed and marketed.To address these concerns,companies today require engineers and managers with a culture of

sustainable development and knowledge of innovative methods for designing products and services that integrate the ecological constraint.

The course Sustainable ICT'sfocuses on Green IT that’s to say ICT which the design or usage can reduce the negative effects of human activities on the environment. Two main goals characterize this course:

Enable students to develop a culture of sustainable development so that they can put into practice and decision criteria of their future careers as engineers or managers. This is a first level of training (general), corresponding to awareness sessions and knowledge acquisition on all issues of sustainable development and corporate social responsibility.

To propose a specific module on the Green IT and eco-design. This is a second level of training: through case studies, it aims to provide conceptual and methodological tools to integrate the constraints of sustainable development in innovation.

Since 1948, the year of publication of Shannon's landmark paper "A mathematical theory of communications", Information theory has paved the ground for the most important developments of today's information/communication world.

Information theory studies the ultimate theoretical limits of source coding and data compression, of channel coding and reliable communications via channels, and provides the guidelines for the development of practical signal-processing and coding algorithms.

This course covers Information theory at an introductory level.

The practical implications of theoretical results presented are put in evidence through examples and case studies.

This course will present the management frameworks and tools used in the product development process. It is intended to give students the understanding of the processes that they will be exposed to as they take up responsibilities associated with the development of technology, product or services.

Most graduates aspire to enter management ; other find management thrust upon them. This course will introduce participants to the role and practice of management from the perspective of the new manager. Through lectures, exercises and case studies, participants will understand and experience some of what it is to be a manager today.

This course aims to present a treatment of mathematical methods suitable for engineering students who are interested in the rapidly advancing areas of signal analysis, processing, filtering and estimation. Significant current applications relate to speech and audio, music, wired and wireless communications, instrumentation, multimedia, radar, sonar, control, biomedicine, transport and navigation.

The course presents a study of analogue systems as a pre-requisite to material relating to sampled-data systems.

The objective is to assist the student in gaining confidence in working with the frequency or transform domain for the analysis or characterisation of signals and systems. The final part of the course aims to introduce at a more mathematical level the concepts of probability, random processes and the analysis of random signals, correlation and spectral density.

To provide a fundamental understanding of mobile communication systems.

The course will seek to describe the key aspects of channel characteristics/modeling, of communication techniques, and to describe the application of these techniques in wireless communication systems.

The course will cover recent research developments, such as opportunistic communications, basic aspects of MIMO communications, and OFDMA.

Economics and incentives consideration govern in large part the development and actual performance of networks and digital services. The objective of this course is to raise awareness of students on these questions and how to solve them. More specifically:

- The course will introduce a number of topics in economic analysis of networks and network-related services (web, security, etc.).

- The basic method used will be game theory. The basics of game theory will be assumed to be known and the course will focus on applications to network economics.

- The main goal is to show how mathematical methods based on game theory are used to analyze economics problems in networks, with a focus on modern research topics in network economics.

- To complement the theoretical notions presented, the course will present practical (software) aspects of implementing new pricing models using as an example the software solution SAP Billing and Revenue Innovation Management (BRIM), thanks to the participation of an external expert from SAP.

Some of the most interesting systems in today's cyber-world are large networks with complex structure and dynamics. Some examples are the Internet (wired and wireless), online social networks (e.g. Facebook, Twitter), peer-to-peer networks (e.g. Skype, BitTorrent), wireless mesh and sensor networks, etc.

This course will teach students how to analyze (a) the structure of large networks, and (b) the performance of dynamic processes over these networks (e.g. routing, broadcasting, searching, virus spread).

The end goal is to understand the common underlying properties and their implications for the design of efficient algorithms for large networks.

The course consists of three main parts (stochastic processes, complex network models, dynamics over networks) each comprising 3-4 modules. Each module will first introduce the necessary analytical background (e.g. markov chains, scale-free graphs), and then present an application of this theory to a real networking problem drawn from diverse topics in networking (e.g. network traffic analysis, mobility modeling, etc.).

Convex optimization is broadly applied to many technical and non-technical fields and provides a powerful set of tools for the design and analysis of communication systems and signal processing algorithms.

This course addresses basic concepts and main techniques in linear, non-linear and convex optimization.

Special emphasis is devoted to exemplify their applications to telecommunications problems with the objective of developing the skills and background needed to recognize, formulate, and solve optimization problems.

The course aims to introduce Eurecom students to fundamental concepts as duality and KKT conditions, widely utilized techniques as linear and geometric programming and unconstrained optimization algorithms, but also to more advanced techniques, which have been widely applied in wireless communications nowadays, namely, second order cone programming and semi definite programming.

At first, the course focuses on operating systems fundamental issues. More specifically, the use of hardware architectures on which operating systems run shall be explained: use of memory, use of hard drives, use of USB ports, etc.

Secondly, timing issues inherent to embedded applications are addressed: how can an operating system offer a support to help applications producing their computations at given dates.

The proper treatment of modern communication systems requires the modelling of signals as random processes.

Often the signal description will involve a number of parameters such as carrier frequency, timing, channel impulse response, noise variance, interference spectrum.

The values of these parameters are unknown and need to be estimated for the receiver to be able to proceed.

Parameters may also occur in the description of other random analysis of communication networks, or in the descriptions of sounds and images, or other source signals.

This course provides an introduction to the basic techniques for estimation of a finite set of parameters, of a signal spectrum or of one complete signal on the basis of a correlated signal optimal filtering).

The goal of the course is to provide students with simple and efficient statistical methods to analyze data. Such methods are of crucial importance in many situations as they allow to answer questions such as: 'Is this performance improvement significant?', 'What is the uncertainty on that result?', 'How can I predict a new output of my system based on measurements?', 'Which factors have a significant impact on the performance of my system?', and many more.

Mathematical analysis underlying the presented methods will be sketched, but the main focus will be on the understanding of the methods and the situations in which they can be used (which method to use, what to expect, etc.).

The course will present generic methods working for data from any application and not a specific domain of application. Examples will be given in different areas (computer networks, engineering, etc.).

This course corresponds to the first half of the former PERF course. It is not open to students who validated the PERF course last year

The overall aim of the program is to enable the student to achieve their potential and increase the performance of both themselves and their team members, both now and in the future. The objectives are to gain the essential awareness and skills necessary to fulfil responsibilities as a member of a team and potential team leader. By the end of the program the participant will: Become more aware of personality types, peoples? preferences, needs, motivations, and strengths Understand you own preferences & needs, and develop multi-step career/life goals Appreciate cultural diversity within teams; understand the role of a team member and team leader Have received a range of tools to help the participant to perform well within a team, and in their life Get a bigger picture of how organizations and people learn and develop Develop a career/life plan that combines your strengths, needs, to create credibility to achieve goals

This course tackles the use of UML (Unified Modeling Language) and SysML (System Modeling Language) in the context of embedded systems. Those languages are widely used in industry either for documenting and modeling complex systems.

More specifically, this course adresses all development stages of an embedded system, i.e. requirement capture, analysis, design, and validation. Validation includes the simulation of a model, the formal verification of properties, and the generation and execution of code from models.

The course is really pratice-oriented: we model all together a simple embedded system during lectures. Also, lab sessions are dedicated to the use of an open-source SysML editor, which supports simulation and validation capabilities. Two "real" case studies are used in lab sessions: A subset of the Future Air Navigation System, and an automotive braking system.

Through the use of a complex interactive business simulation in which teams manage virtual companies in a high-tech business arena, students will gain practical insights into the realities of running a business. Unlike single subject courses, this simulation requires to students to make decisions within the context of interacting disciplines. Student will also come to understand the interdependence of companies through buy/sell and risk-sharing negotiations within a changing supply chain model.

In today's communications world channel coding underlies the physical layer of all major communication systems. For example: algebraic block coding (Reed-Solomon codes) are used in the CD and DVD standards, convolutional codes are widely used in wireless systems such as GSM,IS-95 and LANs (IEEE 802.11), trellis coded modulation is used in line modems and low-density parity check codes (LDPC) will be used to combat packet losses in future internet content distribution networks.

This course provides an introductory but thorough background in modern coding theory and covers both classical coding theory (block and convolutional codes), coding for bandlimited channels (Coded Modulation) and the modern theory of randomlike codes with iterative decoding (LDPCs, Turbo Codes).

This course provides and overview of different enabling hardware technologies for real-time processing applied to embedded systems.

It is a companion course to "Signal Processing Technologies" and mandatory in the "Real-time and Embedded systems" track.

Software and hardware aspects, system integration, design and validation tools are studied.

The main goal is to reach a sufficient level of understanding to design alone a prototype system embedding one or several hardware operators for the processing and a micro-processor, plus its peripherals, for the control. A hands-on approach is taken, with the aid of state-of-the-art laboratory equipment.

During the final project the students design an actual prototype on a FPGA-based prototyping board, design the embedded software, connect the board to a host PC and test their application. Examples of past projects: hardware accelerator for a cryptographic enciphering algorithm, or for an image processing one, ...

Embedded applications with strong security requirements use sophisticated cryptographic algorithms and protocols. These algorithms and protocols are usually considered resistant against cryptanalysis. Inside the complete system they are implemented either in software or hardware form. Unfortunately, at least for the designers of such systems, any computation is eventually performed by a piece of hardware (microprocessor or hardware dedicated accelerator) and every hardware device leaks symptoms of its activity (power consumption, electromagnetic emanations, computation time, etc.) An attacker can use such side channels to retrieve embedded secrets. She can also inject and exploit faults by modifying the power supply, the clock frequency, using a laser or even by modifying the structure of the device. Other attack classes target communication busses on electronic board and have already been successfully used against game consoles and other consumer equipments.

This course offers a survey of several known hardware attacks. For each of them the conditions of success are explained and some counter measures are proposed.

The main goal is to initiate the students into such threats, give them hints about the possible counter measures and prepare them to design more secure systems.

Lectures are complemented by two lab sessions dedicated to timing and power consumption attacks. During the labs the students will experiment the impressive efficiency of these attacks and will try to protect the security target with counter measures.

Watermarking : Watermarking allows owners or providers to hide an invisible and robust message inside a digital Multimedia document, mainly for security purposes such as owner or content authentication. There is a complex trade-off between the different parameters : capacity, visibility and robustness.

Biometrics : The security fields uses three different types of authentication : something you know, something you have, ore something you are : a biometric. Common physical biometrics includes fingerprints, hand geometry ; and retina, iris or facial characteristics. Behavioural characters include signature, voice. Ultimately, the technologies could find their strongest role as intertwined and complementary pieces of a multifactor authentication system. In the future biometrics is seen playing a key role in enhancing security, residing in smart cards and supporting personalized Web e-commerce services. Personalization through person authentication is also very appealing in the consumer product area.

This course will focus on enabling technologies for Biometrics, with a particular emphasis on person verification and authentication based on or widely using image/video processing.

The objective of this course is to give student a solid background on Machine Learning techniques. "Machine learning is a scientific/engineering discipline that deals with the construction and study of algorithms that can learn from data. Such algorithms operate by building a model based on inputs[2]:2 and using that to make predictions or decisions, rather than following only explicitly programmed instructions." (Wikipedia) The relationship with intelligence is that those techniques are often useful to build effective models in situations where no optimal solution in known, for example fraud detection in credit card usage. The resulting systems can be considered as having some kind of intelligent behavior.

In all areas, professional activities are often formalized into Projects. This trend in even stronger and more evident in today's environment, which is increasingly international with off-shoring and which develops new inter-enterprise dependencies with out-tasking and outsourcing. Communication within and outside the enterprise also becomes key. In order to better manage and control those Projects, Enterprises often evolve from a Functional organization to a Matrix organization. The Project Management Profession becomes a key element of the new Enterprise Model. This course aims at introducing the different Project Management concepts and techniques. For the students, it is an opportunity to increase their efficiency when joining a Project Team. This course should also allow an improved understanding of the business aspects, and may trigger some thinking on future career choices.

This course treats the subject of modern radio engineering and includes typical RF architectures and their characterizations, modeling, prediction and simulation of radio-wave propagation, cellular planning, systems-level aspects of modern radio network design.

Three practical lab sessions using typical RF equipment and measurement tools are offered.

Contemporary works in the sociology of Technology offer numerous critics of the classical divide between technical and social features. It has been shown that the success or failure of technical innovations rests on their capacity to integrate various organizational and interactional features. This course aims at providing students with a general background in the sociology of ICTs. The main goal is to gain a better understanding of ICT's uses or resistance to change in firms. Various case studies of ICT's uses and innovations, either in professional or ordinary, mundane contexts, will be discussed. Drawing from those studies, the course presents an array of methods of methods for qualitative data collection and analysis.

The goal of this course is to cover a number of complements to the treatment of physical layer procedures in a wide variety of modem technologies.

The details of the adaptation of a number of basic digital communication techniques to some specific communication problems are elaborated. Such details involve for instance multi-rate echo cancellation for full duplex operation on twisted pair telephone lines, synchronization and equalization techniques in a variety of single and multi-carrier systems, fixed point implementation issues of a number of basic algorithms.

The extra systems to be covered include xDSL, gigabit Ethernet, powerline systems and DAB/DVB broadcasting.

Give the students a general knowledge of the most important communication mode : speech.

Speech is used to communicate with machines this is speech recognition. Machine can generate artificial speech : this is speech synthesis. Speech must be compressed for two different reasons : reduce the memory required in storage systems and allow low bit rate transmission (f.i in GSM systems). Speech can also be used in biometrics : speaker identification and verification. In the media, speech and soundtracks as well as recorded work sessions can be automatically analyse and speech is a part of the indexing applications.