Appearance
Modelo: Curso, Sección y Clase (referencia Blackboard / Google Classroom)
Este documento define la lógica del dominio académico de la intranet y cómo se relacionan curso, sección y clase, tomando como referencia Blackboard y Google Classroom.
1. Cómo lo manejan Blackboard y Google Classroom
Blackboard (típico en universidades)
| Concepto en Blackboard | Qué es | En nuestra intranet |
|---|---|---|
| Course | La materia / oferta académica (ej. "Álgebra I - 2025"). Tiene contenido, programa, criterios. | Course (tabla courses): la materia con nivel y grado (ej. Matemáticas 1° Secundaria). |
| Section | Un grupo concreto de ese curso: "Sección 001", "Sección 002". Mismo curso, distinto horario/grupo de alumnos/profesor. | Section (tabla sections): el grupo/aula (ej. 1° Secundaria A, 1° Secundaria B). |
| Course + Section | La “clase” que asistes: el curso en una sección específica, con un instructor y una lista de alumnos. | Class (tabla classes): una materia (course) en una sección, con un profesor. Ej. Matemáticas en 1° Sec A. |
En Blackboard: un curso tiene varias secciones. Cada sección es un grupo; el contenido del curso puede compartirse o cada sección tener su propia copia. En nuestra intranet es equivalente: un mismo curso (materia) se “dicta” en varias secciones; cada combinación curso+sección+profesor es una clase.
Google Classroom
| Concepto en Classroom | Qué es | En nuestra intranet |
|---|---|---|
| Class | Una “clase” = una materia para un grupo de alumnos, con un profesor. Ej. "Matemáticas 5°A". | Equivale a nuestra Class (curso en una sección con un profesor). En Classroom no se separa explícitamente “sección” y “curso”; nosotros sí. |
| Contenido (tareas, materiales) | Está asociado a esa Class. | En nosotros: tasks, class_files, class_announcements están asociados a Class (no al curso global). |
En resumen: en Classroom cada “Class” es ya la materia para un grupo. En nuestra intranet ese “grupo” es la Section y la materia es el Course; la Class es “este curso en esta sección con este profesor”.
2. Definición en esta intranet (reformulada)
2.1 Curso (Course)
- Qué es: La materia / asignatura con nivel y grado. Ej. “Matemáticas 1° Secundaria”, “Comunicación 5° Primaria”, “Jardín 5 años”.
- No tiene alumnos ni profesores directamente. Es la definición del “qué se enseña” y “para qué grado/nivel”.
- Un curso no “tiene” secciones en la base de datos; se relaciona con las secciones a través de las clases (ver abajo).
2.2 Sección (Section)
- Qué es: El grupo / aula de alumnos. Ej. “1° Secundaria A”, “1° Secundaria B”, “Jardín 5 años A”.
- Identificada por: año académico + nivel (INICIAL/PRIMARIA/SECUNDARIA) + grado ("1°", "5 años") + nombre de sección ("A", "B", "C").
- Un alumno se matricula en una sección (tabla
section_enrollments). Esa sección tiene muchas clases (una por materia). El alumno asiste a todas esas clases.
2.3 Clase (Class / SchoolClass)
- Qué es: Un curso dictado en una sección, con un profesor (y opcionalmente horario).
- Es la “clase” a la que asistes: “Matemáticas 1° Sec A” = Course (Matemáticas 1° Sec) + Section (1° Sec A) + Teacher.
- Sí: un curso “tiene” secciones en el sentido de que se ofrece en varias secciones. Cada oferta es una Class:
- Matemáticas 1° Sec → en Sección A → Class (Mate 1° Sec A, prof. X).
- Matemáticas 1° Sec → en Sección B → Class (Mate 1° Sec B, prof. Y).
- Tareas, archivos y anuncios son por clase (por esa combinación curso+sección), no por “curso” global.
3. Relaciones (resumen)
Course (materia)
└── no tiene alumnos ni secciones directamente
Section (grupo/aula, ej. 1° Sec A)
├── tiene muchas Classes (una por materia: Mate, Comunicación, etc.)
└── tiene alumnos vía section_enrollments (matrícula por sección)
Class = Section + Course + Teacher
├── pertenece a UNA Section
├── pertenece a UN Course
├── tiene UN Teacher
└── tiene: tasks, class_files, class_announcements, grades, attendance (por esta clase)¿Un curso tiene secciones?
Sí, en el sentido de que el mismo curso se dicta en varias secciones. Eso se modela con varias Classes: mismacourse_id, distintosection_id(y puede distintoteacher_id).¿Una sección tiene cursos?
Sí: una sección tiene varias Classes, y cada Class tiene un Course. Así la sección “tiene” todas las materias (Matemáticas, Comunicación, etc.) cada una como una Class.
4. Diagrama entidad-relación (Mermaid)
mermaid
erDiagram
COURSE ||--o{ CLASS : "se dicta en"
SECTION ||--o{ CLASS : "tiene"
USER ||--o{ CLASS : "enseña"
CLASS ||--o{ TASK : "tiene"
CLASS ||--o{ GRADE : "tiene"
CLASS ||--o{ ATTENDANCE : "tiene"
CLASS ||--o{ CLASS_FILE : "tiene"
CLASS ||--o{ CLASS_ANNOUNCEMENT : "tiene"
SECTION ||--o{ SECTION_ENROLLMENT : "matrícula"
USER ||--o{ SECTION_ENROLLMENT : "inscrito en"
TASK ||--o{ TASK_SUBMISSION : "entrega"
USER ||--o{ TASK_SUBMISSION : "entrega"
COURSE {
long id PK
string name
string education_level
string grade_level
}
SECTION {
long id PK
int academic_year
string education_level
string grade_label
string name
}
CLASS {
long id PK
long section_id FK
long course_id FK
long teacher_id FK
}
USER {
long id PK
string role
}
SECTION_ENROLLMENT {
long id PK
long section_id FK
long student_id FK
}
TASK {
long id PK
long class_id FK
}
TASK_SUBMISSION {
long id PK
long task_id FK
long student_id FK
}Cómo leer el diagrama
- Course se relaciona con Class: un curso “se dicta en” varias clases (una por sección).
- Section “tiene” muchas Class: en cada sección hay una clase por materia.
- Class es el cruce: Section + Course + Teacher. De ahí cuelgan tasks, grades, attendance, etc.
- Los alumnos (User con rol estudiante) se vinculan a la sección vía SectionEnrollment; no se matricula por clase.
Flujo “Un curso tiene secciones”
mermaid
flowchart LR
subgraph Curso["Course (materia)"]
C[Matemáticas 1° Sec]
end
subgraph Secciones["Secciones (grupos)"]
SA[1° Sec A]
SB[1° Sec B]
end
subgraph Clases["Class = curso en sección"]
C1[Mate 1° Sec A]
C2[Mate 1° Sec B]
end
C --> C1
C --> C2
SA --> C1
SB --> C2El mismo Course (Matemáticas 1° Sec) aparece en la Section A y en la Section B como dos Classes distintas (mismo curso, distinta sección y puede distinto profesor).
5. Tablas en la base de datos (referencia rápida)
| Tabla | Rol |
|---|---|
| courses | Materia + nivel + grado (ej. Matemáticas 1° Sec). |
| sections | Grupo/aula (ej. 1° Sec A, 1° Sec B). |
| classes | Curso en una sección con un profesor (section_id, course_id, teacher_id). |
| section_enrollments | Matrícula: alumno en una sección (asiste a todas las clases de esa sección). |
| tasks | Tarea de una clase (no del curso global). Mate 1°A y Mate 1°B tienen tareas distintas. |
| task_submissions | Entrega de un alumno en una tarea. |
| grades | Nota por alumno, clase y tipo de evaluación. |
| attendance | Asistencia por alumno, clase y fecha. |
| class_files | Archivo asociado a una clase. |
| class_announcements | Anuncio de una clase. |
6. Ejemplo concreto
- Courses: Matemáticas 1° Secundaria, Comunicación 1° Secundaria.
- Sections: 1° Secundaria A (2025), 1° Secundaria B (2025).
- Classes:
- Class 1: Section 1° Sec A + Course Matemáticas 1° Sec + Prof. García.
- Class 2: Section 1° Sec A + Course Comunicación 1° Sec + Prof. López.
- Class 3: Section 1° Sec B + Course Matemáticas 1° Sec + Prof. Ruiz.
- Class 4: Section 1° Sec B + Course Comunicación 1° Sec + Prof. López.
- Alumno Juan inscrito en 1° Sec A → ve y asiste a Class 1 y Class 2 (todas las materias de su sección).
- Tareas: las crea el profesor por clase. La tarea de Class 1 (Mate 1°A) no es la misma que la de Class 3 (Mate 1°B).
7. Confirmación final
- Curso (Course) = materia + nivel + grado. No tiene secciones como columna; “tiene secciones” porque existen varias Classes con ese
course_idy distintossection_id. - Sección (Section) = grupo/aula (A, B, C). Tiene muchas Classes (una por materia) y alumnos vía section_enrollments.
- Clase (Class) = curso en una sección con un profesor. Es la unidad a la que se asocian tareas, archivos, anuncios, notas y asistencia.
Esto es coherente con Blackboard (curso con secciones; la “clase” que ves es curso+sección) y con Google Classroom (donde cada “Class” equivale a nuestra Class = curso en un grupo con un profesor).