Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Centrale Nantes Computer Science ENGINEERING PROGRAMME SPECIALISATION CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING STEP-‐BY-‐STEP REAL TIME KERNEL BUILDING Professor: Pierre MOLINARO Objectives Presentation of parallelism principles and how real-time systems work. The students will study synchronization and communication mechanisms. The goal is to help them understand the design process of operational architectures for real-time embedded applications. Course contents - Introduction to the objectives of parallelism, dedicated to real-time applications - Communication and synchronization through shared variables. - Modelling and verification principles for parallel programs. - Industrial hardware architecture for implementing real-time applications. Application fault tolerance and operational dependability. - Construction of a real-time operating system kernel: how to dispatch and organize it. Task, event and time management primitives. Course material Keywords Links with other programmes LANGUAGE ECTS CREDITS LECTURE (hrs) TUTORIAL (hrs) LABO (hrs) PROJECT (hrs) French 3 20 10 0 0 CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING PARALLELISM AND MODEL CHECKING Professor: Olivier ROUX Objectives Presentation of parallelism principles and how distributed systems and real-time systems work. The students will study synchronization and communication mechanisms in both parallel and distributed systems. Finally, the course discusses the modeling and verification issues of parallel applications. Course contents - Introduction to the objectives of parallelism, architectures and the competition. - Communication and synchronization through shared variables. - Communication and synchronization in distributed systems, - Modelling and verification principles for parallel programs . - Industrial hardware architecture for implementing real-time applications. Applications fault tolerance and operational reliability. - Construction of a real-time operating system kernel: how to dispatch and organize it. Task, event and time management primitives. - Field network architecture and operation principles. Protocols and services. Course material Keywords Links with other programmes LANGUAGE ECTS CREDITS LECTURE (hrs) TUTORIAL (hrs) LABO (hrs) PROJECT (hrs) French 3 22 8 0 0 CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING SYSTEMS AND ARCHITECTURE Professor: Didier LIME Objectives The objective of this course is to understand how modern computers work, from the perspective of both hardware and the operating system, i.e., the first abstraction and software management layer. Course contents The course is divided in two main parts: Hardware Architecture and Operating Systems 1. Hardware Architecture - Micro-architecture - Instruction sets - Instruction decoding - Algorithm / architecture adequacy - Memory hierarchy - Pipelines - Branch prediction 2. Operating Systems - Life and death of processes - Scheduling - Interprocesses communication (pipes and signals) - Memory management, virtual memory Course material John L. Henessy et David A. Patterson. Computer architecture, a quantitative approach (5th edition). Morgan Kaufmann. 2011 Andrew S. Tanenbaum. Operating systems Design and Implementation (3rd edition). Prentice Hall. 2006 Keywords Architecture, Operating Systems CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING Links with other programmes These concepts are briefly introduced within the Systems and Networks course of the Computer Science specialisation. LANGUAGE ECTS CREDITS LECTURE (hrs) TUTORIAL (hrs) LABO (hrs) PROJECT (hrs) French 3 20 10 0 0 CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING WEB PROGRAMMING Professor: Jean-‐Marie NORMAND Objectives The objective of this course is to provide students with the fundamentals of web programming. It starts with HTML-CSS and Javascript and concludes with J2EE and Spring. Course contents This course includes lectures and lab work. Lectures: - Introducing HTML, CSS and Javascript - PHP - J2EE - Notions of Frameworks Lab work: - HTML & Javascript - PHP - J2EE - Framework Play - SPRING Course material Keywords HTML, Javascript, PHP, J2EE, Play, Spring, Synfony Links with other programmes LANGUAGE ECTS CREDITS LECTURE (hrs) TUTORIAL (hrs) LABO (hrs) PROJECT (hrs) French 3 6 0 26 0 CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING INFORMATION SYSTEMS Professor: Jean-‐Yves MARTIN Objectives The aim of this course is to understand information systems, how they are built, how they can be analyzed and secured. Course contents This course is delivered in three parts. Part 1 - Information System management - Cartography - Urbanization - ITIL Part 2 Tools - LDAP - Notions of Cloud Part 3 Security - Notions of security - Security planing - lab work on web application security. Course material Keywords Links with other programmes LANGUAGE ECTS CREDITS LECTURE (hrs) TUTORIAL (hrs) LABO (hrs) PROJECT (hrs) French 3 28 2 0 0 CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING INFORMATION AND COMMUNICATION TECHNOLOGIES Professor: Morgan MAGNIN Objectives The objective of this course is to cover the information technology spectrum, from data collection to its use in decision-making, including processing methods. Approaches and methodology pertaining specifically to web programming will also be illustrated, making a link to the Web Programming course. This course also outlines the measures to adopt in order to comply with European legislation on data processing from the very substance of data to the infrastructures that handle it. Knowing and understanding IT related legislation Learning common tools used in IT, XML based Manipulating common tools like AJAX and Web-Sevices Course contents The first part of the course aims to provide an understanding of what can and cant be done in IT. This means knowing the main legal aspects, understanding the different kind of licenses that can be used, and the main institutions. The second part of the course is more technical, focussing on the main XML based protocols used in IT. These protocols are manipulated during lab sessions: - XML, XSD, XSL Programming with SAX and DOM AJAX WebServices Course material Keywords Links with other programmes LANGUAGE ECTS CREDITS LECTURE (hrs) TUTORIAL (hrs) LABO (hrs) PROJECT (hrs) French 3 18 0 12 0 CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING SIMULATION OF INTELLIGENT REASONING FROM KNOWLEDGE REPRESENTATION Professor: Carito GUZIOLOWSKI Objectives The objective of this course is to introduce different ways to represent knowledge, to derive its common properties and offer automatic modes of reasoning on these properties. We discuss logic programming with Answer Set Programming (C. Guziolowski ) and Functional Programming (D. Lime). Course contents There are two main parts to this course. 1. Logic programming This first part consists in providing problem solutions (especially combinatorial search problems) by modelling a problem, instead of coding its solution. The modelling is performed in the form of logical rules that have defined syntax and semantics: Answer Set Programming (ASP). Powerful solvers are used for resolution: we will use gringo and clasp. The plan followed to illustrate the main concepts of this programming paradigm is as follows: - Declarative Programming Syntaxe ASP Semantics of ASP Modelling a problem The tutorials and lab work are articulated around a few classic examples of combinatorial search problems. 2. Functional Programming In this part, we discuss the functional programming paradigm, wherein the results are given not by executing a sequence of instructions, but by evaluating a functional expression. We recall and develop the foundations of this approach i.e., composition and recursion, and progress to more advanced concepts including: - Types of parameterized algebraic data Higher-order functions Generics Non-strict evaluation and infinite structures CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING - Functors, applicative functors and monads. These concepts are illustrated and implemented using Haskell language. Course material Keywords Links with other programmes LANGUAGE ECTS CREDITS LECTURE (hrs) TUTORIAL (hrs) LABO (hrs) PROJECT (hrs) French 3 16 14 0 0 CENTRALE NANTES - ENGINEERING PROGRAMME – C OMPUTER S CIENCE SPECIALISATION SEMESTER - SPRING GROUP PROJECT Professor: Guillaume MOREAU Objectives The aim of this project is to have students work in groups in order to address design issues, code sharing, project planning, development. Course contents This course is a project undertaken in groups of 5 to 7 students. Emphasis is placed on project reporting, project management, code sharing, the quality of the deliverable, documentation of the source code and the results. Projects change every year. They can include web development, specific software development, etc. Course material Keywords Links with other programmes LANGUAGE ECTS CREDITS LECTURE (hrs) TUTORIAL (hrs) LABO (hrs) PROJECT (hrs) French 2 0 0 0 48