YashJD's picture
Initial Commit
e107ee4
from datetime import datetime, timedelta
SAMPLE_COURSES = [
{
'course_id': 'CS101',
'title': 'Introduction to Computer Science',
'description': 'This course covers the basics of computer science and programming.',
'instructor': 'Dr. John Doe',
'duration': '10 weeks'
},
{
'course_id': 'CS102',
'title': 'Data Structures and Algorithms',
'description': 'This course introduces data structures and algorithms for efficient data processing.',
'instructor': 'Dr. Jane Smith',
'duration': '12 weeks'
},
{
'course_id': 'CS103',
'title': 'Advanced Python Programming',
'description': 'This course covers advanced topics in Python programming, including file handling and exception management.',
'instructor': 'Dr. Emily Johnson',
'duration': '8 weeks'
}
]
SAMPLE_SESSIONS = [
{
'id': 1,
'course_id': 'CS101',
'title': 'Introduction to Programming Fundamentals',
'date': datetime.now() - timedelta(days=7),
'status': 'completed',
'pre_class': {
'resources': [
{'type': 'pdf', 'title': 'Introduction to Python Basics', 'url': '/assets/python_basics.pdf'},
{'type': 'video', 'title': 'Programming Fundamentals', 'duration': '15:00'},
{'type': 'reading', 'title': 'Chapter 1: Getting Started', 'pages': '1-15'}
],
'completion_required': True
},
'in_class': {
'topics': ['Variables', 'Data Types', 'Basic Operations'],
'quiz': {
'title': 'Python Basics Quiz',
'questions': 5,
'duration': 15
},
'polls': [
{'question': 'How comfortable are you with Python syntax?', 'options': ['Very', 'Somewhat', 'Not at all']}
]
},
'post_class': {
'assignments': [
{
'id': 1,
'title': 'Basic Python Programs',
'due_date': datetime.now() + timedelta(days=2),
'status': 'pending'
}
]
}
},
{
'id': 2,
'course_id': 'CS101',
'title': 'Control Flow and Functions',
'date': datetime.now() - timedelta(days=3),
'status': 'completed',
'pre_class': {
'resources': [
{'type': 'pdf', 'title': 'Control Flow in Python', 'url': '/assets/control_flow.pdf'},
{'type': 'video', 'title': 'Functions and Methods', 'duration': '20:00'}
],
'completion_required': True
},
'in_class': {
'topics': ['If-else statements', 'Loops', 'Function definitions'],
'quiz': {
'title': 'Control Flow Quiz',
'questions': 8,
'duration': 20
},
'polls': [
{'question': 'Which loop type do you find more intuitive?', 'options': ['For loops', 'While loops', 'Both']}
]
},
'post_class': {
'assignments': [
{
'id': 2,
'title': 'Function Implementation Exercise',
'due_date': datetime.now() + timedelta(days=4),
'status': 'pending'
}
]
}
},
{
'id': 3,
'course_id': 'CS102',
'title': 'Data Structures',
'date': datetime.now(),
'status': 'in_progress',
'pre_class': {
'resources': [
{'type': 'pdf', 'title': 'Python Data Structures', 'url': '/assets/data_structures.pdf'},
{'type': 'video', 'title': 'Lists and Dictionaries', 'duration': '25:00'}
],
'completion_required': True
},
'in_class': {
'topics': ['Lists', 'Tuples', 'Dictionaries', 'Sets'],
'quiz': {
'title': 'Data Structures Quiz',
'questions': 10,
'duration': 25
},
'polls': [
{'question': 'Which data structure do you use most often?', 'options': ['Lists', 'Dictionaries', 'Sets', 'Tuples']}
]
},
'post_class': {
'assignments': [
{
'id': 3,
'title': 'Data Structure Implementation',
'due_date': datetime.now() + timedelta(days=7),
'status': 'not_started'
}
]
}
},
{
'id': 4,
'course_id': 'CS101',
'title': 'Object-Oriented Programming',
'date': datetime.now() + timedelta(days=4),
'status': 'upcoming',
'pre_class': {
'resources': [
{'type': 'pdf', 'title': 'OOP Concepts', 'url': '/assets/oop_concepts.pdf'},
{'type': 'video', 'title': 'Classes and Objects', 'duration': '30:00'}
],
'completion_required': True
},
'in_class': {
'topics': ['Classes', 'Objects', 'Inheritance', 'Polymorphism'],
'quiz': {
'title': 'OOP Concepts Quiz',
'questions': 12,
'duration': 30
},
'polls': [
{'question': 'Have you used OOP before?', 'options': ['Yes', 'No', 'Not sure'], 'responses': {'For loops': 12, 'While loops': 8, 'Both': 10}}
]
},
'post_class': {
'assignments': [
{
'id': 4,
'title': 'Class Implementation Project',
'due_date': datetime.now() + timedelta(days=11),
'status': 'not_started'
}
]
}
},
{
'id': 5,
'course_id': 'CS103',
'title': 'File Handling and Exception Management',
'date': datetime.now() + timedelta(days=7),
'status': 'upcoming',
'pre_class': {
'resources': [
{'type': 'pdf', 'title': 'File Operations in Python', 'url': '/assets/file_ops.pdf'},
{'type': 'video', 'title': 'Exception Handling', 'duration': '20:00'}
],
'completion_required': True
},
'in_class': {
'topics': ['File Operations', 'Exception Handling', 'Context Managers'],
'quiz': {
'title': 'File Operations Quiz',
'questions': 8,
'duration': 20
},
'polls': [
{'question': 'How often do you handle exceptions in your code?',
'options': ['Always', 'Sometimes', 'Rarely', 'Never'],
'responses': {'Very': 10, 'Somewhat': 15, 'Not at all': 5}
}
]
},
'post_class': {
'assignments': [
{
'id': 5,
'title': 'File Processing Application',
'due_date': datetime.now() + timedelta(days=14),
'status': 'not_started'
}
]
}
}
]
# Chatbot message history
SAMPLE_CHAT_HISTORY = {
1: [
{'user': 'student1', 'message': 'What is the difference between list and tuple?', 'timestamp': datetime.now()},
{'user': 'chatbot', 'message': 'Lists are mutable (can be modified) while tuples are immutable (cannot be modified after creation).', 'timestamp': datetime.now()}
]
}
# Student progress data
SAMPLE_STUDENT_PROGRESS = {
'user1': {
1: {'pre_class': 50, 'in_class': 80, 'post_class': 90},
2: {'pre_class': 100, 'in_class': 75, 'post_class': 85},
3: {'pre_class': 50, 'in_class': 0, 'post_class': 0},
4: {'pre_class': 0, 'in_class': 0, 'post_class': 0},
5: {'pre_class': 0, 'in_class': 0, 'post_class': 0}
}
}