Index: backend/subjects/management/commands/elective.py
===================================================================
--- backend/subjects/management/commands/elective.py	(revision a392d56f172d130dcf2666a0dfa20b6fe9307b22)
+++ backend/subjects/management/commands/elective.py	(revision 93083d99b5c0b9b11d05313e98cff197f2f930e4)
@@ -6,5 +6,5 @@
 
 class Command(BaseCommand):
-    help = "Scrape elective subjects for all programs from FINKI page"
+    help = "Scrape elective subjects for all study tracks from FINKI page"
 
     def handle(self, *args, **options):
Index: frontend/src/components/StudentForm/StudentForm.tsx
===================================================================
--- frontend/src/components/StudentForm/StudentForm.tsx	(revision a392d56f172d130dcf2666a0dfa20b6fe9307b22)
+++ frontend/src/components/StudentForm/StudentForm.tsx	(revision 93083d99b5c0b9b11d05313e98cff197f2f930e4)
@@ -3,10 +3,10 @@
 	EVALUATIONS,
 	EVALUATIONS_MAP,
-	PROGRAMS,
 	STUDY_EFFORT,
+	STUDY_TRACKS,
 	YEARS,
 } from "../../constants/subjects";
 import { useAuth } from "../../hooks/useAuth";
-import { Programs, StudentData, Subject } from "../types";
+import { StudentData, StudyTrack, Subject } from "../types";
 import FieldButton from "./FieldButton";
 import SkeletonForm from "./SkeletonForm";
@@ -38,6 +38,6 @@
 	}>({});
 	const [index, setIndex] = useState(formData?.index || "");
-	const [studyTrack, setStudyTrack] = useState<Programs | "">(
-		(formData?.study_track as Programs) || ""
+	const [studyTrack, setStudyTrack] = useState<StudyTrack | "">(
+		(formData?.study_track as StudyTrack) || ""
 	);
 	const [year, setYear] = useState(formData?.current_year || 1);
@@ -95,5 +95,5 @@
 		if (formData) {
 			setIndex(formData.index || "");
-			setStudyTrack((formData.study_track as Programs) || "");
+			setStudyTrack((formData.study_track as StudyTrack) || "");
 			setYear(formData.current_year || 1);
 			setStudyEffort(formData.study_effort || "");
@@ -346,5 +346,5 @@
 						value={studyTrack}
 						onChange={(e) => {
-							const newTrack = e.target.value as Programs;
+							const newTrack = e.target.value as StudyTrack;
 							const filteredPassedSubjectsPerSemester = Object.fromEntries(
 								Object.entries(passedSubjectsPerSemester).map(
@@ -368,5 +368,5 @@
 					>
 						<option value="">Одбери смер</option>
-						{PROGRAMS.map((track) => (
+						{STUDY_TRACKS.map((track) => (
 							<option key={track} value={track}>
 								{track}
Index: frontend/src/components/StudentForm/utils.ts
===================================================================
--- frontend/src/components/StudentForm/utils.ts	(revision a392d56f172d130dcf2666a0dfa20b6fe9307b22)
+++ frontend/src/components/StudentForm/utils.ts	(revision 93083d99b5c0b9b11d05313e98cff197f2f930e4)
@@ -1,4 +1,4 @@
 import { Dispatch, SetStateAction } from "react";
-import { Programs, Subject, SubjectID } from "../types";
+import { StudyTrack, Subject, SubjectID } from "../types";
 
 // NOTE: there is not a single match for the letter 'ѕ' (ѕ како ѕвонче) in the entire db, so both dz and dj are mapped to 'џ'
@@ -72,5 +72,5 @@
 }: {
 	index: string;
-	studyTrack: Programs | "";
+	studyTrack: StudyTrack | "";
 	year: number;
 	studyEffort: number | string;
Index: frontend/src/components/SubjectCatalog/FilterSidebar.tsx
===================================================================
--- frontend/src/components/SubjectCatalog/FilterSidebar.tsx	(revision a392d56f172d130dcf2666a0dfa20b6fe9307b22)
+++ frontend/src/components/SubjectCatalog/FilterSidebar.tsx	(revision 93083d99b5c0b9b11d05313e98cff197f2f930e4)
@@ -1,4 +1,4 @@
 import { useState } from "react";
-import { PROGRAMS } from "../../constants/subjects";
+import { STUDY_TRACKS } from "../../constants/subjects";
 import { Filters } from "../types";
 import { resetFilters } from "./utils";
@@ -176,28 +176,28 @@
 					<h3 className="font-medium mb-2">Задолжителен за:</h3>
 					<div className="grid grid-cols-3 gap-2">
-						{PROGRAMS.map((program) => {
-							const programName = program.replace(/\d+$/, "");
-							return (
-								<div key={program} className="flex items-center space-x-2">
+						{STUDY_TRACKS.map((track) => {
+							const studyTrack = track.replace(/\d+$/, "");
+							return (
+								<div key={track} className="flex items-center space-x-2">
 									<input
 										type="checkbox"
 										name="level"
-										id={program}
-										onChange={() =>
-											setFilters((prev) => ({
-												...prev,
-												mandatoryFor: prev.mandatoryFor.includes(program)
-													? prev.mandatoryFor.filter((item) => item !== program)
-													: [...prev.mandatoryFor, program],
-											}))
-										}
-										checked={filters.mandatoryFor.includes(program)}
-										className="h-4 w-4 rounded border-gray-300 text-blue-600"
-									/>
-									<label
-										htmlFor={`s${program}`}
+										id={track}
+										onChange={() =>
+											setFilters((prev) => ({
+												...prev,
+												mandatoryFor: prev.mandatoryFor.includes(track)
+													? prev.mandatoryFor.filter((item) => item !== track)
+													: [...prev.mandatoryFor, track],
+											}))
+										}
+										checked={filters.mandatoryFor.includes(track)}
+										className="h-4 w-4 rounded border-gray-300 text-blue-600"
+									/>
+									<label
+										htmlFor={`s${track}`}
 										className="text-sm text-gray-700"
 									>
-										{programName}
+										{studyTrack}
 									</label>
 								</div>
@@ -210,28 +210,28 @@
 					<h3 className="font-medium mb-2">Изборен за:</h3>
 					<div className="grid grid-cols-3 gap-2">
-						{PROGRAMS.map((program) => {
-							const programName = program.replace(/\d+$/, "");
-							return (
-								<div key={program} className="flex items-center space-x-2">
+						{STUDY_TRACKS.map((track) => {
+							const studyTrack = track.replace(/\d+$/, "");
+							return (
+								<div key={track} className="flex items-center space-x-2">
 									<input
 										type="checkbox"
 										name="level"
-										id={program}
-										onChange={() =>
-											setFilters((prev) => ({
-												...prev,
-												electiveFor: prev.electiveFor.includes(program)
-													? prev.electiveFor.filter((item) => item !== program)
-													: [...prev.electiveFor, program],
-											}))
-										}
-										checked={filters.electiveFor.includes(program)}
-										className="h-4 w-4 rounded border-gray-300 text-blue-600"
-									/>
-									<label
-										htmlFor={`s${program}`}
+										id={track}
+										onChange={() =>
+											setFilters((prev) => ({
+												...prev,
+												electiveFor: prev.electiveFor.includes(track)
+													? prev.electiveFor.filter((item) => item !== track)
+													: [...prev.electiveFor, track],
+											}))
+										}
+										checked={filters.electiveFor.includes(track)}
+										className="h-4 w-4 rounded border-gray-300 text-blue-600"
+									/>
+									<label
+										htmlFor={`s${track}`}
 										className="text-sm text-gray-700"
 									>
-										{programName}
+										{studyTrack}
 									</label>
 								</div>
Index: frontend/src/components/SubjectCatalog/utils.ts
===================================================================
--- frontend/src/components/SubjectCatalog/utils.ts	(revision a392d56f172d130dcf2666a0dfa20b6fe9307b22)
+++ frontend/src/components/SubjectCatalog/utils.ts	(revision 93083d99b5c0b9b11d05313e98cff197f2f930e4)
@@ -1,4 +1,4 @@
 import { LatinToCyrillic } from "../StudentForm/utils";
-import { Filters, Programs, Subject } from "../types";
+import { Filters, StudyTrack, Subject } from "../types";
 
 interface filteredSubjectsParams {
@@ -12,6 +12,6 @@
 		level: number[];
 		activated: "activated" | "not_activated" | "";
-		mandatoryFor: Programs[];
-		electiveFor: Programs[];
+		mandatoryFor: StudyTrack[];
+		electiveFor: StudyTrack[];
 		professors: string[];
 		assistants: string[];
Index: frontend/src/components/types.ts
===================================================================
--- frontend/src/components/types.ts	(revision a392d56f172d130dcf2666a0dfa20b6fe9307b22)
+++ frontend/src/components/types.ts	(revision 93083d99b5c0b9b11d05313e98cff197f2f930e4)
@@ -1,3 +1,3 @@
-import { PROGRAMS } from "../constants/subjects";
+import { STUDY_TRACKS } from "../constants/subjects";
 
 export interface Subject {
@@ -14,5 +14,5 @@
 	// id: number;
 	index: string;
-	study_track: Programs;
+	study_track: StudyTrack;
 	current_year: number;
 	// passed_subjects: Subject[];
@@ -38,8 +38,8 @@
 	participants: number[];
 	mandatory: boolean;
-	mandatory_for: Programs[];
+	mandatory_for: StudyTrack[];
 	semester: number;
 	season: string;
-	elective_for: Programs[];
+	elective_for: StudyTrack[];
 	professors: string[];
 	assistants: string[];
@@ -55,6 +55,6 @@
 	level: number[];
 	activated: "activated" | "not_activated" | "";
-	mandatoryFor: Programs[];
-	electiveFor: Programs[];
+	mandatoryFor: StudyTrack[];
+	electiveFor: StudyTrack[];
 	professors: string[];
 	assistants: string[];
@@ -63,3 +63,3 @@
 };
 
-export type Programs = (typeof PROGRAMS)[number];
+export type StudyTrack = (typeof STUDY_TRACKS)[number];
Index: frontend/src/constants/subjects.ts
===================================================================
--- frontend/src/constants/subjects.ts	(revision a392d56f172d130dcf2666a0dfa20b6fe9307b22)
+++ frontend/src/constants/subjects.ts	(revision 93083d99b5c0b9b11d05313e98cff197f2f930e4)
@@ -1,3 +1,3 @@
-export const PROGRAMS = [
+export const STUDY_TRACKS = [
 	"SIIS23",
 	"IMB23",
