Commit 33982b20 authored by Alexis Lebis's avatar Alexis Lebis

Create backbone of the csdvp pb

parent a8d10f6e
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/home/alexis/.local/share/paradiseo/eo",
"/home/alexis/.local/share/paradiseo/eo/src"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
\ No newline at end of file
#ifndef DEF_COMPETENCY
#define DEF_COMPETNECY
#include <string>
#include <magnitude.h>
/**
* Represents the notion of a competency (a.k.a. "non operationalisable" skill).
*
* A compentecy C always exists, at any moment, with a magnitude (or mastery) m in [0;1].
* @author alexis.lebis
* @version 1
*/
class Competency
{
private:
Magnitude m;
std::string name;
int id;
//STATIC
static int COMPETENCY_COUNTER;
public:
Competency();
};
#endif
\ No newline at end of file
#ifndef DEF_COURSE
#define DEF_COURSE
#include <vector>
#include <competency.h>
/**
* Represents a course in an academic structure.
*
* Based on a non exhaustive WiP standard from APACHES project. It includes several element of a french course teached in universities.
* This representation is subject to change.
*
* @param diffusionWeight The weight each {@link teached} competencies are transfered to the student (presumably from a teacher).
* @author alexis.lebis
* @version 1
*/
class Course
{
private:
// Competencies related
std::vector<Competency> prerequisites;
std::vector<Competency> teached;
std::vector<double> diffusionWeight;
// Other
int ects;
std::vector<int> temporalAvailability;
// Static
static int COURSE_COUNTER;
public:
Course();
};
#endif
\ No newline at end of file
#ifndef DEF_MAGNITUDE
#define DEF_MAGNITUDE
/** Magnitude represents the mastery of a competency.
*
* It should be used in accordance with a scale
*/
class Magnitude
{
private:
double value = 0;
public:
Magnitude();
//GETTER
const double value();
//SETTER
bool set(double v);
};
#endif
\ No newline at end of file
#ifndef DEF_PROBLEM
#define DEF_PROBLEM
// USE THIS FILE TO MODELISE THE PB, i.e. how many courses are available, etc.
#endif DEF_PROBLEM
\ No newline at end of file
#ifndef DEF_PROFESSION
#define DEF_PROFESSION
#include <vector>
#include <competency.h>
/**
* A profession is a job sought by a student.
*
* It has a set a prerequisted competencies for the student to perform it correctly.
*/
class Profession
{
private:
std::vector<Competency> prerequisites;
// Static
static int S_professionCounter;
public:
Profession();
};
#endif
\ No newline at end of file
#ifndef DEF_MAPI
#define DEF_MAPI
#include <scale.h>
class MAPIScale : public Scale
{
private:
public:
};
#endif DEF_MAPI
\ No newline at end of file
#ifndef DEF_SCALE
#define DEF_SCALE
#include <scaleValue.h>
/** Represent a competency scale used by academic to assert competency level of a student.
*
* Use a scale to discretize the magnitude
*/
class Scale
{
private:
public:
void getRange(ScaleValue &, double & inf, double & max);
};
#endif DEF_SCALE
\ No newline at end of file
#ifndef DEF_SCALE_VALUE
#define DEF_SCALE_VALUE
#include <string>
/**
* Represent a range of competency magnitude for a scale
*/
class ScaleValue
{
private:
std::string name;
public:
ScaleValue();
};
#endif DEF_SCALE_VALUE
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment