
När jag 2015 tillträdde min tjänst som biträdande professor vid en elektroteknisk högskola, med en förstaårskurs som hette "Introduktion till programmering" och gavs i C, hade jag aldrig föreställt mig att jag skulle skriva en lärobok för den. Litteraturens rikedom och kvalitet för det (vid den tiden) 40 år gamla programmeringsspråket verkade tillräcklig. Men i slutet av mitt första år bad studenterna mig att göra just det, både personligen och genom en anonym enkät.
Jag ville naturligtvis undersöka vad som var fel med den rekommenderade litteraturen, så vi hade en session där jag bad studenterna att peka ut exakt vad de tyckte saknades.
{{}}
Trots att EE-skolan har ett tydligt krav på åtminstone viss programmeringskunskap, och trots att grundläggande programmering i Bosnien och Hercegovina är en obligatorisk del av läroplanen för barn i åldern 10-16 år, hävdade de flesta av mina studenter att denna utbildning var värdelös för dem och bad att få behandlas som ett "oskrivet blad", dvs. att få börja om från början.
Här är problemet med C att det vanligtvis betraktas som ett lågnivåspråk för yrkesverksamma, så de flesta läroböcker förutsätter åtminstone en viss grad av programmeringskunskap i något annat språk. Studenter har påpekat att rekommenderade läroböcker var ogenomträngliga för dem eftersom de i sina allra första stycken använde termer och begrepp som de var tvungna att googla.
Man kan ifrågasätta det kloka i att ge en introduktionskurs i programmering i C. Det är faktiskt ingen hemlighet att just den här EE-skolan använder första året som ett sätt att sålla bort de mindre begåvade; nästan alla kurser innehåller något ämne som anses vara "hard-core". Men det bör också noteras att det första året är gemensamt för alla avdelningar, inklusive t.ex. automationskontroll, elektronik, kraftteknik etc. Efter att Bolognareformerna minskade den första examensnivån till bara 3 år, begärde dessa avdelningar att studenterna skulle lära sig C under det första året.
De rekommenderade läroböckerna var fulla av faktafel. Jag blev chockad när jag upptäckte att en del av de saker som jag gärna lyfter fram som "nybörjarmisstag" i mina föreläsningar faktiskt presenterades som det korrekta sättet i en del av läroböckerna. En del efterforskningar övertygade mig om att det är en svår uppgift att skriva en lärobok om C (och särskilt C++) som både är faktamässigt korrekt och lätt att förstå för nybörjare, och att många författare har misslyckats spektakulärt.
Vissa av böckerna hade helt enkelt en mycket svårläst prosa. Som en av studenterna påpekade fick hon rullande migrän av att läsa den rekommenderade läroboken. Det verkar som om många författare till läroböcker i programmering ser sitt verk mer som en referens än som något som bör läsas från pärm till pärm. De tror att de gör läsarna en tjänst genom att hålla texten kort och kärnfull, "ingenjörsmässigt", men detta ogillades tydligen av nästan alla studenter.
Efter att ha upptäckt dessa problem ställdes jag inför följande krav på den officiella kursboken:
Min forskning hittade inga läroböcker eller offentligt tillgängliga skriftliga texter som skulle täcka dessa grundläggande punkter. Det verkar som om alla böcker som fokuserar på nybörjare tenderar att ha faktafel och utelämna aspekter av C som var en del av läroplanen. Under åren som TA på samma kurs samlade jag in en mängd skriftligt material och exempel, medan mina förstaårsföreläsningar fungerade som en byggnadsställning för att organisera allt detta material. Att skriva boken visade sig vara lättare än jag trodde, min medförfattare tog över två av de svåraste kapitlen, och boken blev klar 2018.
En kommentar som jag ofta får höra är att "dagens ungdomar inte läser". Efter att i nästan två decennier ha arbetat med studenter i åldern 18-21 år ger varje uttalande som inleds med "dagens ungdomar..." mig en känsla som de brukar beskriva som "cringe". Jag har snarare märkt att alla människor har olika sätt att studera och lära sig saker. Även om finlitteraturen kanske står inför en kris, finns det när det gäller studier verkligen en stor grupp unga människor som föredrar att lära sig från böcker.
Det verkar som om det finns flera olika inlärningsstilar, och följaktligen olika medier som ger bästa effekt för eleverna.
Efter att ha färdigställt läroboken blev mitt mål att erbjuda undervisningsmaterial som stöder alla ovanstående inlärningsstilar, genom att överföra boken till olika medier. Min idé om en lärobok för 2000-talet är att den inte bara är en pocketbok - den är en ingång till ett resurscenter online där olika medier för undervisning finns. Det här är en enorm uppgift som säkert aldrig kommer att bli riktigt färdig. Jag har ändå påbörjat den som en del av min lärartjänst och integrerar långsamt (i mån av tid) olika delar av mitt arbete på en webbplats som nås via en unik kod som finns tryckt på insidan av bokens omslag.
För närvarande, när du köper boken får du:
Det är just nu visualiseringarna som saknas mest. Det finns visserligen några visualiseringar i form av bildspel, men det är förstås inte idealiskt. En annan stor uppgift är att översätta allt till English. Jag hoppas snart kunna avsluta detta arbete och presentera hela multimediaupplevelsen för den English-talande publiken.
Att skriva den här läroboken ingick aldrig i den ursprungliga planen - den växte fram av nödvändighet, nyfikenhet och, framför allt, en önskan att hjälpa eleverna att lyckas. Det som började som ett svar på deras problem blev en djupt personlig och givande resa. Under processen lärde jag mig att även ett moget språk som C fortfarande behöver nya, tillgängliga resurser som är skräddarsydda för moderna elever. Ännu viktigare var att jag själv fick se hur lyhörd och engagerad en lärgrupp kan vara när den får verktyg som talar deras språk. Att skapa nytt innehåll handlar inte bara om att fylla luckor i befintlig litteratur; det handlar om att bidra till ett levande ekosystem av delad kunskap. Därför hoppas jag att den här boken ska fungera som en resurs, men också som ett exempel på att utbildning blomstrar när vi åtar oss att lyssna, anpassa oss och bygga tillsammans.