File size: 1,556 Bytes
6bc3db2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class Curriculum:
    def __init__(self, topic, chapters=None):
        self.topic = topic
        self.chapters = chapters if chapters else []  # List of Chapter objects

    def add_chapter(self, chapter):
        self.chapters.append(chapter)

    def print_curriculum(self):
        print(f"\nCurriculum for: {self.topic}\n" + "="*40)
        for i, chapter in enumerate(self.chapters, 1):
            print(f"\nChapter {i}: {chapter.name}")
            print("-" * (10 + len(chapter.name)))
            for j, module in enumerate(chapter.modules, 1):
                print(f"  {i}.{j} {module.name}")
                if hasattr(module, 'learning_objective') and module.learning_objective:
                    print(f"      Learning Objective: {module.learning_objective}")

    def __repr__(self):
        return f"Curriculum(topic={self.topic}, chapters={self.chapters})"

class Chapter:
    def __init__(self, name, modules=None):
        self.name = name
        self.modules = modules if modules else []  # List of Module objects

    def add_module(self, module):
        self.modules.append(module)

    def __repr__(self):
        return f"Chapter(name={self.name}, modules={self.modules})"

class Module:
    def __init__(self, name, learning_objective=None, content=None):
        self.name = name
        self.learning_objective = learning_objective
        self.content = content

    def __repr__(self):
        return f"Module(name={self.name}, learning_objective={self.learning_objective})"