Initial commit: SMF2290 studie-app for eksamen vår 2026
Komplett pensumstudie-app med: - 120 flashcards, 49 quiz-spørsmål, 16 eksamenstrener-oppgaver - Sammendrag av alle 12 forelesninger - tl;dr-side for siste-minutts pugging - Søk gjennom hele pensumet - Dark/light mode, mobile-vennlig Cross-platform launchere (Start.sh + Start.bat) med auto-detect og auto-install av HTTP-server. PowerShell-fallback for Windows. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
161
app/js/data.js
Normal file
161
app/js/data.js
Normal file
@@ -0,0 +1,161 @@
|
||||
// =====================================================
|
||||
// Data — uker, temaer, og metadata
|
||||
// =====================================================
|
||||
|
||||
const COURSE = {
|
||||
code: 'SMF2290',
|
||||
name: 'Etikk, bærekraft og samfunnsansvar',
|
||||
semester: 'Vår 2026',
|
||||
lecturer: 'Martina Ortová',
|
||||
exam: {
|
||||
date: '2026-06-01',
|
||||
time: '09:00',
|
||||
duration_hours: 4,
|
||||
platform: 'Inspera Assessment',
|
||||
location: 'Campus Gjøvik',
|
||||
aids: 'Kode E'
|
||||
}
|
||||
};
|
||||
|
||||
const WEEKS = [
|
||||
{ id: 2, title: 'Introduksjon', theme: 'baerekraft', file: 'uke02-03-04.md', section: '#uke-2--introduksjon' },
|
||||
{ id: 3, title: 'Etikk 1', theme: 'etikk', file: 'uke02-03-04.md', section: '#uke-3--etikk-1-diskusjons-uke' },
|
||||
{ id: 4, title: 'Etikk 2', theme: 'etikk', file: 'uke02-03-04.md', section: '#uke-4--etikk-2' },
|
||||
{ id: 5, title: 'Etikk 3', theme: 'etikk', file: 'uke05-06.md', section: '#uke-5--etikk-3' },
|
||||
{ id: 6, title: 'Institusjon & Stakeholder', theme: 'samfunn', file: 'uke05-06.md', section: '#uke-6--institusjon-og-stakeholder' },
|
||||
{ id: 7, title: 'Stakeholder & Historisk linje', theme: 'samfunn', file: 'uke07-08.md', section: '#uke-7--stakeholder-historisk-linje-og-fn' },
|
||||
{ id: 8, title: 'Carroll, CSR & CSV', theme: 'samfunn', file: 'uke07-08.md', section: '#uke-8--carrolls-pyramide-csr-vs-csv-og-eksternaliteter-kap-8' },
|
||||
{ id: 10, title: 'Sosial pilar', theme: 'samfunn', file: 'uke10-11.md', section: '#uke-10--den-sosiale-delen-av-csr' },
|
||||
{ id: 11, title: 'Sirkulær økonomi & ESG', theme: 'baerekraft', file: 'uke10-11.md', section: '#uke-11--planetens-talegrenser-sirkulær-økonomi-og-esg-investeringer' },
|
||||
{ id: 12, title: 'Verktøykasse', theme: 'verktoy', file: 'uke12-16.md', section: '#uke-12--verktøykasse-for-etikk-samfunnsansvar-og-bærekraft' },
|
||||
{ id: 16, title: 'Implementering', theme: 'verktoy', file: 'uke12-16.md', section: '#uke-16--implementering' },
|
||||
{ id: 17, title: 'Eksamen & oppsummering', theme: 'all', file: 'uke17-eksamen.md', section: '' }
|
||||
];
|
||||
|
||||
const THEMES = {
|
||||
etikk: {
|
||||
id: 'etikk',
|
||||
label: 'Etikk',
|
||||
title: 'Etikk',
|
||||
eyebrow: 'Oppgave I',
|
||||
color: 'var(--theme-etikk)',
|
||||
weeks: [3, 4, 5],
|
||||
intro: 'Etikk er systematisk refleksjon over hva som er rett og galt i omgang mellom mennesker — et fag du lærer gjennom studier og trening i å anvende prinsipper og begreper.',
|
||||
keyConcepts: [
|
||||
{ term: 'Moral vs Etikk', def: 'Moral = personlige/felles oppfatninger av rett og galt, læres i samhandling. Etikk = systematisk refleksjon over moral, læres som fag.' },
|
||||
{ term: 'Normativ etikk', def: 'Hva man bør gjøre — søker normer og prinsipper. Inkluderer konsekvensetikk, pliktetikk og dydsetikk.' },
|
||||
{ term: 'Deskriptiv etikk', def: 'Hva folk faktisk mener er rett og galt — beskrivelse av moralpraksis.' },
|
||||
{ term: 'Etisk dilemma', def: 'Situasjon hvor du må velge mellom alternativer som alle har gode etiske argumenter for seg — ingen er åpenbart riktige.' },
|
||||
{ term: 'De 6 etiske prinsipper', def: 'Likhet, Autonomi, Velgjørenhet, Ikke-skade, Rettferdighet, Føre-var.' },
|
||||
{ term: 'Konsekvensetikk (Mill)', def: 'Handlinger bedømmes ut fra konsekvensene. Utilitarisme: mest mulig lykke for flest mulig.' },
|
||||
{ term: 'Pliktetikk (Kant)', def: 'Handlinger bedømmes ut fra plikt og prinsipp, ikke konsekvenser. Det kategoriske imperativ.' },
|
||||
{ term: 'Dydsetikk (Aristoteles)', def: 'Fokus på karakter og dyder. Hva slags person ønsker du å være? Den gylne middelvei.' },
|
||||
{ term: 'Diskursetikk', def: 'Etikk gjennom dialog og argumentasjon mellom likeverdige parter — Habermas.' },
|
||||
{ term: 'Kvalnes Navigasjonshjul', def: '6-perspektiv-verktøy for etisk beslutning: Juss, Identitet, Etikk, Økonomi, Omdømme, Moral.' }
|
||||
]
|
||||
},
|
||||
baerekraft: {
|
||||
id: 'baerekraft',
|
||||
label: 'Bærekraft',
|
||||
title: 'Bærekraft',
|
||||
eyebrow: 'Oppgave II',
|
||||
color: 'var(--theme-baerekraft)',
|
||||
weeks: [2, 11, 16],
|
||||
intro: 'Bærekraftig utvikling er utvikling som imøtekommer dagens behov uten å ødelegge mulighetene for at kommende generasjoner skal få dekket sine behov (Brundtland 1987).',
|
||||
keyConcepts: [
|
||||
{ term: 'Brundtland-definisjonen (1987)', def: '«Utvikling som tilfredsstiller dagens behov uten å ødelegge fremtidige generasjoners muligheter for å tilfredsstille sine behov.»' },
|
||||
{ term: 'Triple Bottom Line (Elkington 1994)', def: 'People, Planet, Profit — bedrifter skal måles på sosiale, miljømessige og økonomiske resultater samtidig.' },
|
||||
{ term: 'De tre pilarene', def: 'Sosial (mennesker), Miljø (planet), Økonomi (profit). Snitt = bærekraft.' },
|
||||
{ term: 'Svak vs Sterk bærekraft', def: 'Svak: natur kan erstattes av kapital. Sterk: naturkapital er kritisk og kan ikke erstattes.' },
|
||||
{ term: 'Planetens tålegrenser', def: 'Stockholm Resilience Centre 2009 — 9 grenser som regulerer planetens stabilitet. Flere er allerede overskredet.' },
|
||||
{ term: 'Sirkulær økonomi', def: 'Lukket loop: råmaterialer → bærekraftig design → produksjon → distribusjon → bruk/gjenbruk → innsamling → resirkulering.' },
|
||||
{ term: '10R-rammeverket (Kirchher)', def: 'Refuse, Rethink, Reduce, Reuse, Repair, Refurbish, Remanufacture, Repurpose, Recycle, Recover.' },
|
||||
{ term: 'Smultringmodellen (Raworth 2017)', def: 'Sosialt fundament (innside) og økologisk tak (utside). Trygt og rettferdig rom mellom dem.' },
|
||||
{ term: 'FN 17 bærekraftsmål (SDG)', def: 'Vedtatt 2015. 169 delmål. Felles globalt rammeverk for utvikling fram til 2030.' },
|
||||
{ term: 'Motvekst (Degrowth)', def: 'Bevegelse som utfordrer uendelig økonomisk vekst. 4 pilarer: ressursbevissthet, rettferdighet, lokalisering, livskvalitet.' }
|
||||
]
|
||||
},
|
||||
samfunn: {
|
||||
id: 'samfunn',
|
||||
label: 'Samfunnsansvar',
|
||||
title: 'Samfunnsansvar',
|
||||
eyebrow: 'Oppgave III',
|
||||
color: 'var(--theme-samfunn)',
|
||||
weeks: [6, 7, 8, 10],
|
||||
intro: 'CSR — Corporate Social Responsibility — er det ansvaret selskaper påtar seg for miljø, samfunn og mennesker som påvirkes av virksomheten, utover det som er lovpålagt.',
|
||||
keyConcepts: [
|
||||
{ term: 'CSR (Corporate Social Responsibility)', def: 'Ansvar selskaper påtar seg for miljø, samfunn og mennesker — utover det lovpålagte.' },
|
||||
{ term: 'CSV (Creating Shared Value)', def: 'Porter & Kramer 2006. Integrert i strategi — kobler samfunnsforbedring til økonomisk verdiskaping.' },
|
||||
{ term: 'CSR vs CSV', def: 'CSR drives ofte eksternt og er "ved siden av" kjernevirksomheten. CSV er strategi som skaper felles verdi.' },
|
||||
{ term: 'Carrolls pyramide (1991)', def: '4 nivåer nedenfra: Økonomisk (vær lønnsom), Juridisk (adlyd loven), Etisk (vær etisk), Filantropisk (vær god bedriftsborger).' },
|
||||
{ term: 'Friedman (1970)', def: '"The social responsibility of business is to increase its profits." Bedriftens eneste ansvar er å maksimere aksjonærverdi innenfor lovens rammer.' },
|
||||
{ term: 'Stakeholder-teori (Freeman 1984)', def: 'God ledelse balanserer hensynet til alle som påvirkes av eller påvirker virksomheten — ikke bare aksjonærer.' },
|
||||
{ term: 'Mitchells modell (1997)', def: '3 attributter: Makt, Legitimitet, Hastverk. Gir 7 typer interessenter (avgjørende = alle 3).' },
|
||||
{ term: 'Institusjonell teori', def: 'Forklarer hvorfor organisasjoner blir like — press fra lover, normer og kulturelle koder.' },
|
||||
{ term: 'Isomorfisme', def: 'Prosessen der organisasjoner blir mer like hverandre over tid pga press fra institusjonene.' },
|
||||
{ term: 'Eksternaliteter', def: 'Kostnader eller fordeler som påvirker tredjeparter — uten å fanges av markedstransaksjonene. Kan være positive eller negative.' },
|
||||
{ term: 'Sosial søyle (intern/ekstern)', def: 'Intern: obligatorisk sosialpolitikk + avtalt + frivillig (CSR). Ekstern: filantropi, Cause Related Marketing.' }
|
||||
]
|
||||
},
|
||||
verktoy: {
|
||||
id: 'verktoy',
|
||||
label: 'Verktøy & implementering',
|
||||
title: 'Verktøy',
|
||||
eyebrow: 'Oppgave IV · Case',
|
||||
color: 'var(--theme-verktoy)',
|
||||
weeks: [12, 16],
|
||||
intro: 'For å gå fra teori til praksis trenger bedrifter konkrete verktøy: kodekser, standarder, rapportering, og en strukturert implementeringsprosess fra planlegging til oppfølging.',
|
||||
keyConcepts: [
|
||||
{ term: 'Obligatoriske vs frivillige verktøy', def: 'Obligatorisk: lover, regulering, rapporteringskrav (CSRD, Åpenhetsloven). Frivillig: ISO, GRI, miljømerker.' },
|
||||
{ term: 'Code of Conduct', def: 'Etisk kodeks — interne retningslinjer for atferd. Eksempel: Telenors Code of Conduct.' },
|
||||
{ term: 'ISO 26000', def: 'Internasjonal standard for samfunnsansvar. Veiledende, ikke sertifiserbar.' },
|
||||
{ term: 'ISO 14001 / 9001', def: '14001: miljøledelse. 9001: kvalitetsledelse. Begge er sertifiserbare.' },
|
||||
{ term: 'GRI (Global Reporting Initiative)', def: 'Globalt rammeverk for bærekraftsrapportering. Standardiserer hva og hvordan man rapporterer.' },
|
||||
{ term: 'CSRD', def: 'EUs Corporate Sustainability Reporting Directive. Krav om bærekraftsrapportering fra 2024/2025/2026 avhengig av størrelse.' },
|
||||
{ term: 'Dobbel vesentlighet', def: 'CSRD-prinsipp: rapporter både hvordan virksomheten påvirker omgivelsene (impact) og hvordan bærekraft påvirker virksomheten (financial).' },
|
||||
{ term: 'Green Deal', def: 'EUs strategi for å gjøre Europa klimanøytralt innen 2050. Bred politikkpakke som CSRD og taksonomien er del av.' },
|
||||
{ term: 'EUs taksonomi', def: 'Klassifiseringssystem for hvilke økonomiske aktiviteter som er miljømessig bærekraftige.' },
|
||||
{ term: 'Åpenhetsloven (2022)', def: 'Norsk lov: virksomheter må gjennomføre aktsomhetsvurderinger og rapportere om menneskerettigheter og arbeidsforhold.' },
|
||||
{ term: '5 implementeringssteg', def: 'Planlegging → Interessentdialog → Rapportering → Verifikasjon → Oppfølging.' },
|
||||
{ term: 'SRI (Social Responsible Investments)', def: 'Investeringsstrategi som integrerer etiske, miljømessige og sosiale betraktninger. Mål: avkastning + samfunnsansvar.' }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
// Mapping from theme to color name
|
||||
const THEME_COLORS = {
|
||||
etikk: { color: '#D89AA2', soft: '#4A2027', bg: '#2A1A1D' },
|
||||
baerekraft: { color: '#9CC089', soft: '#2D4029', bg: '#1A2419' },
|
||||
samfunn: { color: '#E6B777', soft: '#5A3D17', bg: '#2A2014' },
|
||||
verktoy: { color: '#A2BDD9', soft: '#1F3149', bg: '#161E2A' },
|
||||
all: { color: '#E07B5F', soft: '#5A2317', bg: '#2A1A14' }
|
||||
};
|
||||
|
||||
function themeOf(weekId) {
|
||||
const w = WEEKS.find(x => x.id === weekId);
|
||||
return w ? w.theme : 'all';
|
||||
}
|
||||
|
||||
function getTheme(id) {
|
||||
return THEMES[id];
|
||||
}
|
||||
|
||||
// Countdown
|
||||
function daysToExam() {
|
||||
const exam = new Date('2026-06-01T09:00:00');
|
||||
const now = new Date();
|
||||
const diffMs = exam - now;
|
||||
if (diffMs <= 0) return { days: 0, hours: 0, label: 'I dag!' };
|
||||
const days = Math.floor(diffMs / (1000 * 60 * 60 * 24));
|
||||
const hours = Math.floor((diffMs / (1000 * 60 * 60)) % 24);
|
||||
return { days, hours, label: days === 0 ? `${hours}t` : days === 1 ? '1 dag' : `${days} dager` };
|
||||
}
|
||||
|
||||
window.SMF = window.SMF || {};
|
||||
SMF.COURSE = COURSE;
|
||||
SMF.WEEKS = WEEKS;
|
||||
SMF.THEMES = THEMES;
|
||||
SMF.THEME_COLORS = THEME_COLORS;
|
||||
SMF.themeOf = themeOf;
|
||||
SMF.getTheme = getTheme;
|
||||
SMF.daysToExam = daysToExam;
|
||||
Reference in New Issue
Block a user