Step 2: Courses Configuration
Course configuration is where you define your institution's academic offerings. This step sets up the course catalog that students will choose from and establishes the scheduling requirements for each course.
Understanding Course Types
The Individual Student Schedule Generator handles different types of courses to match real-world academic structures:

Course configuration interface with sample courses
Mandatory Courses
Definition: Courses that all students in a grade or program must take.
Examples:
- Core Mathematics for Grade 10
- English Literature for all seniors
- Required laboratory sciences
Scheduling Impact: The system ensures all students are enrolled and creates enough sections to accommodate everyone.
Elective Courses
Definition: Optional courses that students choose based on interest or specialization.
Examples:
- Foreign language options (Spanish, French, German)
- Arts courses (Music, Visual Arts, Drama)
- Advanced placement subjects
Scheduling Impact: Sections are created based on actual student demand, making efficient use of resources.
Prerequisite-Based Courses
Definition: Courses that require completion of other courses first.
Examples:
- Advanced Chemistry (requires Basic Chemistry)
- Calculus (requires Pre-Calculus)
- Advanced Literature (requires English Composition)
Scheduling Impact: The system considers student academic history when allowing enrollment.
Course Information Fields
Basic Course Details
Course Code: Unique identifier for each course (e.g., MATH-101, ENG-ADV, BIO-LAB)
- Keep codes short but descriptive
- Use consistent naming conventions across departments
- Avoid special characters that might cause system issues
Course Name: Full descriptive name as it appears on schedules and transcripts
- Use clear, professional language
- Include level indicators when appropriate (Basic, Advanced, AP, etc.)
- Keep names concise for better display in timetables
Scheduling Requirements
Periods Per Week: How many class periods this course needs weekly
- Consider the course's academic weight and content requirements
- Most courses require 3-5 periods per week
- Laboratory courses might need 6-8 periods including lab time
- Intensive courses could require daily sessions
Scheduling Tip: When setting periods per week, remember that the system will distribute these across your configured working days. A 5-period-per-week course might be scheduled as one period per day, or as some combination like 2-1-2 across Monday-Wednesday-Friday.
Advanced Course Properties
Maximum Class Size: Limit on students per section
- Consider room capacity constraints
- Account for pedagogical requirements (small seminar vs. large lecture)
- Factor in safety requirements (laboratory courses, physical education)
Room Type Requirements: Specify if the course needs special facilities
- Standard classroom (default)
- Laboratory (science courses)
- Computer lab (technology courses)
- Gymnasium (physical education)
- Art studio (creative courses)
- Library (research-based courses)
Course Categories and Organization
Departmental Grouping
Organize courses by academic department for easier management:
- Mathematics: Algebra, Geometry, Calculus, Statistics
- Sciences: Biology, Chemistry, Physics, Environmental Science
- Languages: English, Spanish, French, Creative Writing
- Arts: Visual Arts, Music, Drama, Digital Media
- Social Studies: History, Geography, Economics, Psychology
Grade Level Assignment
Specify which grades can enroll in each course:
- Grade 9: Introduction and foundation courses
- Grade 10-11: Intermediate and specialized courses
- Grade 12: Advanced and college-prep courses
- Multi-grade: Courses open to multiple grade levels
Importing Course Data
Manual Entry
For smaller course catalogs, add courses individually through the interface:
- Click "Add New Course"
- Fill in all required fields
- Set scheduling requirements
- Save and continue to the next course
Bulk Import
For larger institutions, import courses via CSV file:
Required CSV Columns:
- Course_Code
- Course_Name
- Periods_Per_Week
- Course_Type (Mandatory/Elective)
- Max_Class_Size
- Room_Type
- Grade_Levels
Sample CSV Format:
Course_Code,Course_Name,Periods_Per_Week,Course_Type,Max_Class_Size,Room_Type,Grade_Levels
MATH-101,Algebra I,5,Mandatory,25,Classroom,"9,10"
BIO-LAB,Biology Laboratory,4,Elective,15,Laboratory,"11,12"
ART-101,Visual Arts,3,Elective,20,Art Studio,"9,10,11,12"
Data Quality: Ensure your course data is complete and accurate before importing. Missing or incorrect information can affect the entire scheduling process and may require starting over.
Course Validation and Preview
Automatic Validation
The system checks for:
- Unique course codes with no duplicates
- Reasonable periods per week (typically 1-8 periods)
- Valid grade level assignments
- Consistent naming conventions
Course Preview
Review your course catalog before proceeding:
- Total number of courses by type
- Distribution across grade levels
- Periods per week summary
- Room type requirements overview
Next Steps
With your course catalog configured, you're ready to move to Student Configuration where you'll import student information and their course selections.
Quick Checklist:
- All courses have unique codes and clear names
- Periods per week are realistic for your schedule structure
- Course types (mandatory/elective) are correctly assigned
- Room and equipment requirements are specified
- Grade level assignments match your student population
- Course catalog has been reviewed and validated