თემის მონახაზი
-
The course is divided in two distinct sections. They can be taken independently.
They are given face to face by 3 professors from INSA Rennes, France.
First session (5 ECTS)
- Logic programming (Prof. Mireille Ducassé <mireille.ducasse@insa-rennes.fr>)
Second session (5 ECTS)
- Big Data Storage and Processing (Prof. Alexandru Costan <alexandru.costan@insa-rennes.fr>)
- Cloud computing (Prof. Nikos Parlavantzas <nikolaos.parlavantzas@insa-rennes.fr>
-
Logic programming languages are declarative: programs state “what” has to be done and the compiler cares for “how” it should be done.
Content of this part of the course
- The basics of Prolog: unification, recursion, backtracking, list processing, resolution,
- Introduction to Constraint logic programming: programming with equations
- A small project - about logic programming for real applications.
Programming will be done on Eclipse Prolog (http://eclipseclp.org). It is recommended that students install it on their private machines.
Some exercises may be done on-line with Swi Prolog (https://swish.swi-prolog.org).Quizz at the beginning of lectures may be done on https://app.wooclap.com/events/OROZXB.
-
Lecture material
WARNING: The material is in general updated before (and sometime after) the lectures.
Note that
- Chapter 5 and 7 are also provided as interactive lessons to help you learn on your own.ell
- Start with the lessons before reading the slides
- You must submit a solution in order to see mine
- You can only submit once... and I will see what you submit
- Please test a solution before submitting it
- Provide the code and the test results in your answer
The end of Chapter 5, as well as Chapters 6 and 8 are not covered in 2024
- You can of course learn them
- but I will not ask you questions about them during the defenses
- Chapter 5 and 7 are also provided as interactive lessons to help you learn on your own.ell
-
-
When you do not understand what is happening, tracing may be the only resort. The trace contains useful information but it is very quickly overwhelming. You need to know beforehand what you want to see.This page tells you
- how to get started with ECLiPSe Prolog
- how to call and set up the tracer
- how to read a trace
- what are the main tracing commands
- how to trace breadth-first
- how to trace back errors
-
In order to be able to take the exam you have to upload reports about the exercises done during lectures.This section contains recommendations about how to present them and about the tests.Tests are very important when programming. They give information on the quality on your code.Always keep them.
-
გაიხსნა: სამშაბათი, მარტი 5 2024, 3:58 PMდასრულება: კვირა, მაისი 12 2024, 3:58 AM•Make sure to add how you tested them
/*
<program description>
*/
<Prolog code>
/*
?- <tested goals and results>
*/
-
გაიხსნა: სამშაბათი, აპრილი 2 2024, 12:00 AMდასრულება: სამშაბათი, აპრილი 9 2024, 12:00 AM
-
გაიხსნა: სამშაბათი, მარტი 5 2024, 3:58 PMდასრულება: კვირა, მაისი 12 2024, 3:58 AM
-
Home work
In order to be able to take the exams students MUST have uploaded
- the ancestor.pl and lists.pl files.
- Those files must contain predicate codes and all the tests.
- the search tree for ?- ancestor_of (lali, davit).
Midterm intermediate project individual defense (mid-May)
- Students will have uploaded the first part of their individual project before the defense
- They will explain their code and get personal feedbacks
- They will also be asked
- to "read" a given predicate
- to write a small predicate similar to the ones studied during the classes
- The criteria for a good assessment are
- personal work
- good understanding of material seen during classes
- Planning and connections details will be sent by email
- A remote class of 3 hours will be planned to debrief the defenses
- to help finish the project
Project with individual defense (mid-June)
- Students will have uploaded the final version of their individual project before the defense
- They will explain their code and get personal feedbacks
- They will present a slide show of 10 slides (see format in the assignment section)
- The criteria for a good assessment are
- personal work
- remarks from the intermediate defense and debriefing taken into account
- Planning and connections details will be sent by email
Student's achievements are evaluated by a 100-point system, which includes the interim assessment and the final assessment:
Intermediate assessment
30 points
Midterm individual project defense
30 points
Final Assessment
70 points
Minimal Competency Level
Final individual project with individual defense
70 points
40 points
-
-
გაიხსნა: ოთხშაბათი, მაისი 1 2024, 8:00 AMდასრულება: ოთხშაბათი, მაისი 15 2024, 8:00 AM
Please upload two files
- the code of the first part of the individual project.
- the results of the tests in a separate file (please name it <your-name>_test.pdf
File format must be either .pdf, or .docx, or .doc.
Project description will be given after the last class (11/04)
-
Opens: პარასკევი, მაისი 31 2024, 8:00 AMდასრულება: შაბათი, ივნისი 15 2024, 8:00 AM
Upload two files here:
- <your_name>_project.pl : Your project code,
- <your_name>_test_and slide.pdf: Your tests followed by your slide show in pdf format
Slide show template (t is mandatory to follow it and to cover all the requested sections):
Slide 1 Presentation of yourself; your cursus, which level; if you plan to go for an international mobility; date of the presentation; logo of TSU and INSA Rennes
Slides 2-7 1 slide per main project step: the essential of the version, how it has been tested, with the important comments on the slide
- New set of facts and the update of french_menu/2
- Vegetarian/vegan menus
- Wines
- Useful interface predicates
- User-friendly display
- Removing redundant solutions
Slide 8 What was easy and what was difficult (both aspects must me covered)
Slide 9 What you have learnt during the course
Slide 10 How you think you will reuse the acquired knowledgeI
- the ancestor.pl and lists.pl files.
-
WARNING: The material is currently from 2023. It will updated before the lectures.
These lectures provide the theoretical and practical bases for storing and effectively processing large volumes of data: collecting, retrieving, accessing Big Data.
We will first study how to analyze, organize and present Big Data in order to address their specific challenges: reduce the complexity, process the data deluge in real time, propose new paradigms to allow the extraction of relevant knowledge. The course will then introduce the state-of-art Big Data computing platforms with the focus on how to utilize them in processing (managing and analyzing) massive datasets. Specifically, we will discuss the Apache Hadoop MapReduce and Apache Spark frameworks, which provide the most accessible and practical means of computing with large datasets in the Cloud.
- Big Data overview (definition, characteristics)
- Storage models for Cloud (Binary Large Objects: Amazon S3, Azure Blobs), NoSQL(Google BigTable, Cassandra), disk storage (GoogleFS, HDFS, PVFS, Lustre), in-memory storage (key-value stores, hybrid systems: memecached, mongoDB)
- Batch vs. stream processing
- Consistency models
- Big Data processing models: MapReduce
- Big Data platforms: Apache Hadoop, Apache Spark
Lecturer: Alexandru Costan alexandru.costan@insa-rennes.fr
-
Students learn the main concepts and principles of cloud computing, architectures, and technologies. Covered topics include:
- Deployment models, service models, cloud architecture
- Virtualisation
- Infrastructure-as-a-Service, Platform-as-a-Service, Serverless computing.
Practical exercises with a public cloud platform (Amazon Web Services)
-
First session
[1 ] Logic Programming with Prolog, M Bramer, Springer-Verlag, 2005;
[2] Constraint logic programming using ECLiPSe, Krzysztof R. Apt and Mark G. Wallace, Cambridge University Press, 2007
Second session
[1] The Cloud at Your Service, Jothy Rosenberg and Arthur Mateos, Manning Publications Co.
[2] MapReduce: Simplified Data Processing on Large Clusters, Jeffrey Dean, Sanjay Ghemawat, Google Research
[3] Introduction to Data Science, B. Howe
Additional Literature
[A1] Cloud Computing: Concepts, Technology & Architecture, Thomas Erl, Ricardo Puttini, Zaigham Mahmood, Prentice Hall, 2013
[A2] Tom White, Hadoop: The Definitive Guide, 3rd Edition Storage and Analysis at Internet Scale, O’Reilly
[A3] The Fourth Paradigm: Data-Intensive Scientific Discovery, Microsoft Research
[A4] Big Data Now, O’Reilly Media
[A5] Pramod J. Sadalage, Martin Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence, Addison-Wesley
[A6] R. Swan, J. Allan, Automatic Generation of Overview Timelines
[A7] J. Allan, R. Papka, V. Lavrenko, On-line New Event Detection and Tracking
[A8] R. Bandari, S. Asur, B. Huberman, The Pulse of News in Social Media: Forecasting Popularity