Welcome to this page with an overview of some of the required background information for this project. You most likely already have seen some of this information before in other courses, but some of it will also be new to you. We expect each of you to have a decent understanding of the material listed below, as that is necessary to be able to complete this project successfully. The background knowledge that we provide here is related to some of the main tools, software, and programming languages that are used within the project. There are a few quizzes that you need to complete, where the material presented below can be used to prepare (see also the Course Schedule).
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Git
We use GitHub classroom to provide you with the initial agent code. GitHub is acode hosting platform for version control and collaboration. You need to join the GitHub classroom and use it for developing and sharing your code, and for storing and updating all the deliverables in this project. In order to understand how to do that, we introduce you to some basic readings and a tutorial to gain knowledge of how to use git. Git is a common tool used by many coding teams worldwide to develop code in tandem and facilitate its alignment. Getting to know git as part of this course will surely be of benefit to you in the long term.
...
The best way to learn is to do. Although not required, we advise you to do thishttps://botflo.com/dialogflow-es-beginner-tutorial/.
HTML Bootstrap Library
We use Bootstrap 4 for developing a webpage to provide some basic visual support for a user while they are engaging in a conversational with your agent. The main purpose of this visual support is twofold: to provide (1) support to a user to reduce their cognitive load (the amount of information working memory needs to process at any given time) and (2) an indication of the progress on the task that has been made thus far. A user may not be able to remember all preferences and/or constraints on recipes they selected thus far. A system that would require a user to do so, would likely not be experienced as very user-friendly. It is also nice to show a user how much progress has been made in finding a recipe they like. A simple measure for our recipe recommendation agent to indicate progress is to show how many recipes still match the preferences of the user.
Bootstrap is a powerful, open-source front-end framework for web development. These Many of the Bootstrap features components can be used by a MARBEL agent to create and display webpages in a Chrome browser using the Social Interaction Cloud infrastructure. We here first list a few of Bootstrap’s key features:
Responsive Design: Bootstrap's grid system and pre-designed components enable easy creation of responsive websites.
HTML, CSS, and JS Components: Offers a wide range of reusable components like buttons, forms, and navigation bars.
Customization: Allows for extensive customization with Sass variables.
Community and Documentation: Backed by a strong community and comprehensive documentation.
Mobile-First Approach: Prioritizes mobile devices in design strategies.
This framework simplifies web development, making it accessible for beginners while still providing a powerful tool for more experienced developers. Here is a link to documentation for more information:
To gain an understanding of Bootstrap, this https://getbootstrapwww.w3schools.com/docs/5.3/getting-started/introduction/. Also make sure bootstrap4/default.asp will be very useful. To familiarize yourself with some of the basic components of Bootstrap, take a look at the first few items in the tutorial. We recommend you read at least up to the item on https://www.w3schools.com/bootstrap4/bootstrap_buttons.asp. The Tutorial will be useful for later reference to look up how you can change colors and use, for example, a progress bar.
To understand how you can integrate Bootstrap components into your agent, you need to read our Visual Support : A Guide. This is where we explain in more detail how to use Bootstrap’s features to create webpages you can use Bootstrap components for creating a webpage in this project.
Prolog
You will develop your recipe recommendation agent using MARBEL and SWI Prolog. The MARBEL agent implements a dialog management engine that you will use. You do not need to change this agent. You are, however, allowed to modify it if you like. The focus will be mostly on using Prolog to provide the agent with the knowledge it needs and to make it smarter by providing it with some logic related to its recipe recommendation task.
...