Hello everyone.

My new project is released and I have to submit it till 07/01.
The exercise actually aims to practice us with the concept of STL, inheritance, program design according to OOP concepts (Polymorphism and Abstract),.

At the previous semester I took a JAVA-OOP course in which I was really bad. So I'm really anxious now about this exercise.

Background of the exercise:

We have to actually draw fractals using '#' and single white-space.

The program will run through a main function which receives a CSV file declaring the fractals we have to draw (The output has to be in reverse order). Each line in this declaration file is at the following form:
<Kind of fractal>, <Dimension of fractal>.
Kind of fractal (a number between 1 to 6 - each digit expresses another kind of fractal)
Dimension of fractal (a number between 1 to 4 - it actually expresses the "size" of the fractal).

Of course, we have to parse the file, print to STDERR if any line is defected/not in the right format/out of range/more than/less than two columns in line.

* We are encouraged to use only two libraries of boost: filesystem and tokenizer. Actually we didn't learn about boost at all...
* We must use C++ STL.


Guidelines:
- We have to include all the classes dealing with drawing the fractals inside exactly one cpp file and one header file.
- The program design must consider the following constraints:
Each class which is related to the creation of the fractals has to consist of the following members: the "output board" as a vector, the type of the objects inside the vector (T), the dimension of the vector (Implementation as a vector or vector of vectors - our decision). (What do they mean with a vector of vectors or a vector? Why does a dimension have to hold a type of vector at all?)
- Consider the following questions: Do you need to use concepts of encapsulation, polymorphism, abstraction? Are there any design patterns that we should use in this exercise?


The next part of the exercise description dives into the specific kinds of fractals, their output format:
They demonstrate the building process of each fractal - printing inductively using ASCII art.
I didn't understand their meaning with the induction etc... But I don't think I have to tackle it right now.

Can someone help me with that? How can I organize my work here? How do I think of the classes I have to construct, the required members, their relationship? I'm really afraid of this project.

Thanks in advance.