STUD.PROSA.DK
PROSIT APR 09 D E
I T
I dette nummer Side 2 Dikutal.dk fejrede etårs fødselsdag Indtryk fra CeBIT 2009 Side 3 Overbygningsuddannelse til Datamatiker Er første piratskib sunket? Tre nye it-uddannelser
-
S T U D E R E N D E S
FAG B L A D
Udenlandske studerende fylder rammerne på datamatikerstudierne læs side 4-5
Side 4-5 Kineserne giver datamatikerholdene kunstigt åndedræt Danmark giver mig et niveau mere Side 6 og 7 Hvad er en compiler? Kaffeprinteren
Afsender PROSA Overgade 54 5000 Odense C
B
Side 8 Bliv medlem af a-kassen før du studere videre! Sudoku
Hvad er en compiler? Står dit navn her? Ellers meld dig ind i PROSA - medlemsskab er gratis under studiet.
side 6
PROSIT - IT-STUDERENDES FAGBLAD APR 09 SIDE 2
Dikutal.dk fejrede etårs fødselsdag Tuborgs gyldne damer, hvidvin, chips og gulerødder blev indtaget, da dikutal.dk holdt etårs fødselsdag fredag den 6. marts. 50 mennesker var mødt op i kantinen i Universitetsparken til en festlig begivenhed, der bød på flotte taler, gyldne besøg og fest. AF FILIP LAURITZEN, FILIPLAURITZEN@GMAIL.COM ”Det har været et dårligt år,” indledte formand for dikutal.dk Dirk Hasselbalch sin tale. Et citat, der heldigvis er mere en tradition end virkelighed, og et citat, som i denne tale stod i skærende kontrast til dikutal.dk’s første leveår. ”Med godt hundrede besøgende om dagen har dikutal.dk haft et fantastisk år. Siden vi selv startede hjemmesiden, er den blevet brugt
flittigt til debat, blogindlæg og formidling af nyheder,” kunne Dirk Hasselbalch stolt fortælle de fremmødte.
De gyldne mænd tog over Det var ikke kun de gyldne damer eller de snittede gulerødder, der lokkede de studerende til fest. En halv time måtte de gyldne damer se sig
afløst af tre gyldne it-mænd, der gav deres perspektiv af it-branchen. Gylden it-mand nummer et var Kaare Danielsen, administrerende direktør i Jobindex A/S og tidligere datalogistuderende på KU: ”Der er i høj grad brug for dataloger,” sagde Kaare Danielsen og gav et udpluk af sin karriere, fra han selv blev færdiguddannet i 1980’erne. En karriere, der blandt andet har budt på udviklingen af et indtjenende skak-program og ideen og dannelsen af jobindex.dk. Gylden it-mand nummer to var studieleder Martin Zachariasen, der roste dikutal.dk og de studerendes initiativ: ”Dikutal.dk er et godt eksempel på de studerendes kreativitet og skaber et godt studiemiljø. Dikutal.dk beviser, at Facebook ikke er tilstrækkeligt,” konkluderede han.
Dataloger er et sjældent folkefærd
Det er fra venstre: Dirk Hasselbalch (Formand), Jørgen Bardenfleth (Direktør For Microsoft Dk), Martin Zachariasen (Studieleder), Kaare Danielsen (Direktør For Jobindex.dk)
Gylden it-mand nummer tre var Jørgen Bardenfleth, administrerende direktør i Microsoft Danmark, der gjorde de studerende opmærksomme på deres ansvar: ”Vi lever i en verden, hvor ressourcerne på et tidspunkt slipper op, og hvor det er nødvendigt, at vi har folk til at opfinde nye metoder og programmer til at løse disse problemer,” fortalte han om vigtigheden af dataloger og sluttede: ”Det kan godt være, at en uddannelse, der slutter med -log, ikke lyder så sexet i nogens øre, men I er et alt for sjældent folkefærd.” Formand for dikutal.dk Dirk Hasselbalch
”Så er der fest,” og de studerende reagerede ved igen at lade de gyldne damer få ordet.
sluttede talestrømmen med ordene: ”Så er der fest,” og de studerende reagerede ved igen at lade de gyldne damer få ordet.
Fremtidens dikutal.dk Dikutal.dk har overgået alle forventninger, men alligevel har formand Dirk Hasselbalch ikke tænkt sig at hvile på laurbærrene: ”Det handler om at udvikle hjemmesiden med flere partnere, så vi kan få en endnu sundere økonomi - og derved midlerne til at reklamere for vores uddannelse.” DIKU, datalogistudiet på Københavns Universitet, er fortsat hjemmesidens målgruppe, og også her har formanden en kæphest: ”Ledelsen kunne godt være bedre til at kommunikere med de studerende, og det kunne den for eksempel gøre via vores hjemmeside,” appellerede Dirk Hasselbalch til studiets ledelse og vendte fornøjeligt tilbage til fødselsdagsfesten og de gyldne damer. Foto: Jesper Kiel, PROSA
CeBIT 2009
Indtryk fra CeBIT 2009 PROSIT har talt med et par datamatikerstuderende fra Skive om deres indtryk fra PROSAs årlige tur til CeBIT i Hannover 7. marts
Morten Andersen: - Det som nok gjorde det største indtryk på os, var at komme i kontakt med andre studerende fra andre uddannelser og høre, hvordan deres oplevelser som studerende er. Vi fandt faktisk ud af ,at vi slet ikke var så forskellige endda. Udover det var det ganske interessant at gå rundt på messen. Konkret betød det, at vi mødte mange forskellige mennesker, der var super dygtige til det de laver, og det var rigtig fint, at de tog sig god tid til at tale med os.
Søren Odderhede: - Rent fagligt gik vi fra messen med en slags fornemmelse som kan beskrives således: ” Yes! IT- verdenen
er nu slet ikke så tosset, og der er rigtig mange som os, der synes at det er en forunderlig verden og at det åbner for en masse spændende muligheder. På den måde er det fint, at vi kan se at vores daglige arbejde på IT-akademiet giver mange muligheder, og at vi ikke nødvendigvis vil blive kastet ud i rutineprægede jobs. Jeg vil også nævne at messen er gigantisk stor, og det tager godt nok lang tid, hvis man skal se det hele.
PROSIT – it-studerendes fagblad apr ´09 Udgiver: PROSA/STUD, Overgade 54, 5000 Odense C Telefon.: 6617 9211 e-mail: prosit@prosa.dk Ansvarshavende: Christian Fischer Redaktionssekretær: Jesper Kiel Layout: Palle Skramsø, PROSA Forsiden: Filip Lauritzen Oplag: 5.000. Tryk: Skive Folkeblad Deadline: 12/5 ´09
PROSIT - IT-STUDERENDES FAGBLAD APR 09 SIDE 3
Overbygningsuddannelse til Datamatiker Undervisningsministeren har netop godkendt et udbud af to nye overbygninger til Datamatikeren. De varer begge 1½ år og løfter dermed datamatikeren til bachelor-niveau. AF MICHAEL TØTTRUP Til september starter to nye uddannelser, henholdsvis professionsbachelor i softwareudvikling og professionsbachelor i webudvikling. De er begge på 1½ år, og adgangskravet er en afsluttet datamatikeruddannelse. Begge uddannelser er godkendt til at starte på erhvervsakademierne i Lyngby, Esbjerg, Aalborg, Århus, Odense og Vejle.
Baggrund I 2006 afleverede en arbejdsgruppe nedsat af Undervisningsministeriet sine anbefalinger til fremtidens ituddannelser. Arbejdsgruppen var nedsat blandt andet på baggrund af et initiativ fra PROSA, der længe havde argumenteret for, at der var brug for at skabe større sammenhæng i it-uddannelserne. I PROSA havde man længe kigget på, om udbuddet af uddannelser matchede den forventede efterspørgsel fra it-erhvervet. En væsentlig anbefaling fra arbejdsgruppen var, at Datamatikeren skulle løftes til bachelorniveau. Dette
af to grunde: 1. For at sikre en større faglig dybde i uddannelsen. 2. For at sikre, at der vil være en nem og uhindret adgang til at læse videre på en kandidatoverbygning. Siden anbefalingerne blev afleveret i december 2006, har regeringen gennemført en række uddannelsesreformer. Man har blandt andet sørget for, at nye uddannelser skal igennem en akkrediteringsproces. Virkeliggørelsen af anbefalingerne har derfor trukket noget længere ud, end det oprindeligt var ønsket, men nu lykkedes det endelig. Foreløbig er to overbygninger godkendt, en i softwareudvikling og en i webudvikling.
Professionsbachelor i softwareudvikling Er en overbygningsuddannelse til datamatikeruddannede og har et omfang på 90 ECTS-point. Heraf er de 30 ECTS-point praktik og afsluttende bachelorprojekt. Uddannelsen sigter på at give kompetencer til at deltage i udviklingen
af back-end-applikationer i store datatunge distribuerede it-systemer ved anvendelse af udbredte metoder og teknologier.
Professionsbachelor i webudvikling Er en overbygningsuddannelse til datamatikeruddannede og har et omfang på 90 ECTS-point. Heraf er de 30 ECTS-point praktik og afsluttende bachelorprojekt. Uddannelsen sigter på at give kompetencer til at analysere, planlægge og udvikle applikationer rettet mod webben. Den studerende skal kunne vælge et relevant objektorienteret programmeringssprog og relevant databasesystem samt kunne udforme hensigtsmæssige grænseflader tilpasset relevante målgrupper, herunder kunne udnytte www’s designmæssige og æstetiske muligheder.
Fremtiden Det er glædeligt, at denne mulighed er kommet nu, da det længe
har været et stort behov at få løftet datamatikerniveauet. I den aktuelle beskæftigelsessituation, hvor branchen midlertidigt er gået lidt ned i gear i forhold til de sidste par år, er det samtidig alle tiders mulighed for de kommende datamatikere. PROSA anbefaler, at alle, der har muligheden, evnerne og lysten, læser videre og løfter sin datamatikeruddannelse til en professionsbachelor. Det vil skubbe det tidspunkt, hvor man skal ud at søge job, med 1½ år, hvilket på nuværende tidspunkt kan være fornuftigt i forhold til jobmarkedet. Om blot 1½ år kan den beskæftigelsesmæssige situation i it-erhvervet se helt anderledes ud igen. Det betyder, at du som dimittend kommer ud med en række kvalifikationer, der matcher den efterspørgsel, som it-erhvervet på nuværende tidspunkt har relativt svært ved at dække, nemlig de meget dybe kerneit-kompetencer kombineret med forretningsforståelse.
Er første piratskib sunket? Piratbugten Pirate Bay har været under angreb det sidste halve års tid. Kanonerne har været stillet mod de danske internetudbydere, som nu efter længere tids beskydning har tabt krigen. En krig, som piraterne og antipiraterne begge mener at have vundet. AF FILIP LAURITZEN, FILIPLAURITZEN@GMAIL.COM Hvem har vundet, og hvem har tabt? Dette spørgsmål står tilbage, efter Østre Landsret 28. november 2008 vedtog, at internetudbyderen Tele2 skulle spærre for adgangen til den svenske torrent-side Pirate Bay. En beslutning, der sendte piraterne i galgen, med IFPI, pladeselskabernes organisation, som den glade tilskuer. I stedet for flere henrettelser har andre store internetudbydere efterfølgende spærret for Pirate Bay, fortæller advokatfuldmægtig fra IFPI Maria Fredenslund: ”Vi har rettet henvendelse til de største internetudbydere, og de fleste af dem har nu spærret for tilgangen til Pirate Bay.” Men om dette nødvendigvis er en sejr, stilles der i dag spørgsmålstegn ved. Troels Møller, talsmand for Piratgruppen.org, mener ikke, at denne spærring får nogen større betydning: ”Det er fuldstændigt absurd at forsøge at censurere internettet. Heldigvis har denne type spærring ingen effekt overhovedet og kan let undgås,” siger Troels Møller, der mener, at et censureret internet er et direkte
brud på menneskerettigheder.
Skyder efter båden i stedet for piraten Hos IFPI har sagen mod Tele2 været den eneste løsning i kampen mod pirateri. En nødvendig løsning, som de helst var foruden: ”Vores primære formål er ikke at modarbejde de danske teleselskaber ved at få dem til at spærre tilgangen til hjemmesider. Men hvis vi ringede til Peter Sunde, stifteren af Pirate Bay, og bad ham om at lukke sin site, ville han bede os om at hoppe i åen,” siger Maria Fredenslund, som pointerer, at IFPI´s formål netop er at få lukket de store torrent-sider ned - ved at gå efter båden (stifteren) og ikke piraten (forbrugeren). En opgave, som Troels Møller finder urealistisk, og han siger: ”Hvis IFPI endelig skulle få lukket Pirate Bay ned, ville der i løbet af kort tid komme fem nye tilsvarende hjemmesider, så IFPI kæmper imod tidsånden.”
Begge parter jubler Tilbage til spørgsmålet om vindere og tabere står nu begge parter tilbage med armene i vejret.
IFPI, fordi de har vundet Tele2sagen, kæmpet for pladebranchens overlevelse og sendt et signal til den danske internetforbruger. Piratgruppen, fordi det ifølge gruppen selv ikke vil vise sig at have den store effekt - uanset udfaldet.
En løsning, som endnu ikke er fundet ”Vi har ikke de gyldne løsninger, da vi er en reaktionsgruppe til antipirateri. Men en løsning kunne være, at man sparede mellemmanden
væk,” udtaler Troels Møller fra piratgruppen. Indtil den løsning bliver mere gennemtænkt, vil krigen fortsætte. Den 1. april åbner en ny lov i Sverige for at rettighedshaverne nemmere kan spore hvilke internetbrugere, der downloader film og musik. Som modsvar til dette har Pirate Bay lanceret programmet Ipredator, der med vpn-teknik giver brugerne mulighed for at surfe anonymt. Tjenesten kommer dog til at koste 40 kr. måneden.
Tre nye it-uddannelser Foruden professionsbacheloren i softwareudvikling og webudvikling, er der tre nye uddannelser, der nu kan optages i PROSA. Det drejer sig om bachelor i digitale medier og design, bachelor i kommunikation og it samt kandidat i eScience. Bachelor i digitale medier og design Effektiv digital kommunikation kræver et godt design, og et omdrejningspunkt i uddannelsen er interaktionsdesign. Interaktionsdesign handler kort fortalt om at skabe kvalitet og gode oplevelser i brugen af digitale produkter. Arbejdet med interaktionsdesign handler i praksis om at designe brugerflader til digitale teknologier og tjenester, så brugerne får mest muligt ud af dem. Et eksempel er det nye design på Facebook, som skal gøre tjenesten endnu lettere at bruge. Det kunne også være et design af applikationer og brugerflader til mobiltelefoner, der vil gøre det lettere for eksempelvis ældre at bruge mobilteknologi i deres hverdag. Interaktionsdesign handler også om at kunne planlægge digitale kommunikationsstrategier. Uddannelsen udbydes af IT-Universitetet i København. Bachelor i kommunikation og it Bacheloruddannelsen i it og kommunikation baseres på brugen af digitale informations- og kommunikationsteknologier inden for menneskelig kommunikation, samarbejde og innovation. Uddannelsen besidder medievidenskabelige og datalogiske tilgange. På den ene side giver uddannelsen systematisk viden om computeres opbygning, virkemåde og sociale anvendelser. På den anden side opøver uddannelsen færdigheder i at analysere de kommunikationsprocesser og problemer, der er forbundet med brugen af it i arbejds- og hverdagslivet. Formålet er at udvikle den studerendes kompetencer til at formidle og forbedre samarbejdet mellem forskellige faggrupper på forskellige niveauer af en organisation samt i andre sociale kontekster. Studiet giver desuden praktiske færdigheder i programmering, systemudvikling og design og i empiriske undersøgelser af kommunikation og mediebrug. Uddannelsen udbydes af Københavns Universitet. Kandidat i eScience Kandidatuddannelsen i eScience handler om videnskabelig research, der er afhængig af brugen af computere og analyse af store og komplekse datamængder som for eksempel vejrforudsigelser, proteinstrukturer, astrofysik med videre. Den studerende vil skulle lære at bruge avancerede matematiske modeller til at simulere og visualisere store datasæt. Adgangskravet er en naturvidenskabelig bachelor bestående af matematiske og datalogiske kurser. Uddannelsen foregår på engelsk og udbydes af Københavns Universitet.
PROSIT - IT-STUDERENDES FAGBLAD APR 09 SIDE 4
Kineserne giver datamatikerholdene kunstigt åndedræt Asiater og østeuropæere velfarter til Danmark for at betale sig til en datamatikeruddannelse. Skolerne ser ingen anden udvej end at tage dem ind, selvom kineserne sjældent klarer sig igennem uddannelsen.
Foto: iStockphoto.com
Klarer de at gennemføre uddannelsen, er der stadig lang vej til de danske arbejdspladser, fortæller Nils Bak fra Udlændingeservice: ”Vi kan kun sige, at det massive flertal af dem, der får arbejdstilladelse på it-området, er indere, og det massive flertal af disse har taget deres uddannelse i Indien. Det er en lidt omvendt måde at konstatere, at der ikke er frygtelig mange på itområdet, der har taget uddannelsen her i Danmark.”
Håber på flere danske ansøgninger
Mange af dem arbejder i stedet for at gå i skole, de kører med aviser og får ikke lavet deres lektier, siger Liselotte Kaus fra det internationale kontor.
AF FILIP LAURITZEN, FILIPLAURITZEN@GMAIL.COM Ansøgningerne til datamatikeruddannelsen er faldet voldsomt de seneste år. Flere skoler får ikke nok ansøgninger til at starte et dansk hold, og i stedet må de henvise de danske ansøgere til engelsksprogede hold eller skoler i den anden ende af landet. Og vælger du den engelsksprogede løsning, vil du opleve, at din sidekammerat højst sandsynligt er fra Asien eller Østeuropa. En rundrigning til tre danske skoler viser, at der findes engelsksprogede hold, som stort set udelukkende består af asiater og østeuropæere.
Ikke nok ansøgninger Skoler, der må ty til denne løsning, er blandt andet BEC Design i København, Roskilde Handelsskole og erhvervsakademiet Selandia i Slagelse. Mens man hos BEC Design ikke ønsker at udtale sig, er uddannelsesvejleder Jørgen Kleis fra Selandia ikke nervøs for at diskutere den stigende tendens: ”Vi har ikke nok danske ansøgere til at køre et rent dansk hold og tilbyder derfor vores ansøgere at læse
på det engelsksprogede hold eller starte på Roskilde Handelsskole,” siger Jørgen Kleis. Men hos Roskilde Handelsskole er der ikke meget hjælp at hente, hvis man ønskede at starte i februar dette år. Også her havde man for få danske ansøgere og klarede kun at starte et engelsksproget hold ved hjælp af de udenlandske ansøgninger. BEC Design, Roskilde Handelsskole og Selandia har på alle deres nyeste engelsksprogede hold cirka 30 elever i hver klasse, med mellem nul og otte danske elever. Set i det perspektiv ville et engelsksproget hold næsten være umuligt uden de udenlandske studerende.
Kineserne kan ikke gennemføre At være kinesisk studerende på et engelsksproget datamatikerhold er ikke nødvendigvis lig med en bestået eksamen. Både under uddannelsen og på arbejdspladserne synes forskellen mellem Danmark og Kina enorm. Disse forskelle mærker de på Erhvervsakademi Vest i Esbjerg,
hvor de modsat mange andre skoler startede et engelsksproget hold efter sommerferien med kun to kinesere, to indere og en pakistaner. På nuværende tidspunkt har de to kinesere meddelt, at de ikke gennemfører uddannelsen. Uddannelseskoordinator AnneMette Tønnesen fra datamatikeruddannelsen i Esbjerg bemærker, at de ofte oplever problemer med de kinesiske studerende: ”Vi har dårlig erfaring med kineserne. Vores undervisningsmetoder er for svære, og hvis vi ikke er over dem og siger, at de skal lave deres ting, så gør de det ikke. Vi har i alt haft fem kinesere på uddannelsen, og ingen har endnu gennemført,” siger Anne-Mette Tønnesen. På Erhvervsakademiet Vest har man en international afdeling, hvor man forholder sig skeptisk til de kinesiske ansøgere: ”De kinesiske studerende gennemfører sjældent datamatikeruddannelsen, og det billede, du ser her, er det samme på de andre uddannelser i Danmark,” fortæller Liselotte Kaus fra den internationale afdeling. Hvorfor de ikke gennemfører ud-
dannelsen, kan skyldes mange ting, mener hun: ”Mange af dem arbejder i stedet for at gå i skole, de kører med aviser og får ikke lavet deres lektier. Asiatiske studerende kan tjene 110.000 skattefrit om året, og det gør det mere attraktivt for dem at arbejde end at læse lektier,” siger Liselotte Kaus fra det internationale kontor. Jonas Rasmussen, studerende ved erhvervsøkonomi og kinesisk på CBS, mener, at forklaringen også kan ligge i den kinesiske arbejds- og uddannelsessektor: ”I Kina stiller man ikke spørgsmål til strukturen eller forholder sig kritisk til undervisningen. I Kina bliver de studerende samlebåndsproduceret, og det gør det svært for dem at indordne sig under den danske struktur i skolen og på arbejdspladserne,” fortæller Jonas Rasmussen fra CBS.
Kineserne ses heller ikke på de danske arbejdspladser De kinesiske ansøgere og studerende drømmer sjældent kun om en uddannelse i Danmark. De fleste drømmer også om et job og et liv i Danmark.
Tendensen er tydelig, lige meget hvor man vender blikket hen. Skolerne har problemer med de kinesiske studerende, og de fleste kinesiske studerende gennemfører ikke eksamenerne. På uddannelsesstederne Roskilde Handelsskole og Selandia håber man på, at bøtten snart vender, og balancen mellem danskere og udlændinge bliver udlignet. Lene Just, studievejleder på Roskilde Handelsskole, forsøger at pointere nogle af de positive fordele ved at gå på et multikulturelt datamatikerhold: ”Det er en ekstra gevinst at få trænet sine sprogkompetencer, plus man får nye kammerater fra andre steder af verden,” siger hun om den engelsksprogede datamatikeruddannelse. Også hos Selandia håber man at se flere ansøgninger i fremtiden: ”Vi er nede i en bakkedal for tiden, som vi har været, siden fagforeningerne truede med, at der ikke fandtes job til folk. Men faktum er, at de danske studerende i dag får arbejde, inden de er færdige på uddannelsen, så vi håber selvfølgelig at se flere ansøgninger i fremtiden,” siger Jørgen Kleis, uddannelsesvejleder på datamatikeruddannelsen i Slagelse.
FAKTABOKS: Pris pr. år ifølge skolernes hjemmeside: – Selandia i Slagelse: 78.000 kroner (inklusive materialer) – Esbjerg Erhvervsakademi Vest: 73.500 kroner – Roskilde Handelsskole: 65.000 (2007) kroner – BEC Design: 80.000 kroner – En asiatisk studerende kan tjene 110.000 kroner skattefrit om året under sit ophold.
PROSIT - IT-STUDERENDES FAGBLAD APR 09 SIDE 5
Danmark giver mig et niveau mere AF FILIP LAURITZEN, FILIPLAURITZEN@GMAIL.COM I august sidste år rejste Wenda Jia (Jackie) med sin kinesiske kone til Danmark. En rejse på 7.500 kilometer fra den nordlige provins Heilongjiang til den vestlige provinsby Esbjerg. Fra en provins på størrelse med Danmark til en by på størrelse med en rismark i Kina. Her startede de begge på Erhvervsakademiet Vest, Jackie på datamatikerholdet og hans kone på marketingsholdet. I dag har han ligesom mange tidligere kinesiske elever valgt at stoppe på datamatikerholdet og skal i stedet starte på marketingsuddannelsen efter sommerferien. PROSIT mødte Jackie til en snak om studiet i Danmark, fortiden og fremtidsdrømmene.
Regn, regn og atter regn Danmark er berygtet for mange ting i Kina. Den lille havfrue, kongehuset og pølsevogne. Men siden Jackie og hans kone landede i Danmark en sensommeraften i august, har det største indtryk været regnen. ”Det regner hele tiden,” griner Jackie, da vi møder ham efter undervisningen en onsdag formiddag. Jackie er 28 år gammel, gift og en af mange kinesere, der valfarter
til Danmark i håb om en uddannelse, bedre levevilkår og en sikker fremtid. 15 års skolegang i Kina inklusive en bachelor i kinesisk gav ham en sekretærstilling i Kina. En uddannelse i Danmark - tror og håber han - kan bringe ham videre i systemet.
En uddannelse i Danmark giver respekt For mange kinesere fremstår Danmark som landet, der flyder med mælk og honning. Studerendes paradis og vejen til succes. For Jackie er denne illusion ingen undtagelse: ”Hvis jeg bare kan afslutte et kursus her i Danmark, er det meget lettere for mig at få arbejde i Kina,” fortæller Jackie. Et tilsvarende datamatikerkursus findes i Kina, men vil man forrest i køen, skal uddannelsen tages i USA, Canada, Storbritannien eller for eksempel Danmark. At det lige blev Danmark for Jackie og hans kone, skyldes flere ting: ”Den første grund er, at kvaliteten af en uddannelse i Danmark er meget højere end i Kina. Den anden grund er, at vi ikke havde råd til at studere i USA, Canada eller Storbritannien, hvor uddannelsen er dyrere og ni-
veauet endnu højere,” siger Jackie, som i dag er faldet til i Danmark med danske venner og et rengøringsjob i en restaurant.
Arbejdet gør uddannelsen svær at gennemføre Da vi møder Jackie, har han få dage inden besluttet sig for at stoppe på datamatikerholdet, da han ikke føler, han kan gennemføre det. ”Tempoet er for højt, der er for mange svære ord, og jeg kan ikke klare at være med på det praktiske,” erkender han. Kombinationen af arbejde og avanceret engelsk har sat ham af sporet, og Jackie vil i stedet gøre et forsøg på marketingsholdet efter sommerferien. Jackie indrømmer, at hvis han udelukkende havde koncentreret sig om skolen og ikke arbejdet så meget, ville han sandsynligvis kunne gennemføre. Men med et uddannelsesbeløb på 60.000 kroner årligt plus udgifter til lejlighed og mad bliver Jackie nødt til at arbejde ved siden af studiet. ”Hvis jeg skal være helt ærlig, så har jeg ikke gjort mit bedste for at klare kurset. Jeg er nødt til at tjene penge, så jeg kan betale for både min
Jeg tror sagtens, at jeg ville kunne klare uddannelsen, hvis jeg ikke behøvede at tænke på at tjene penge hele tiden. Foto: Filip Lauritzen
egen og min kones uddannelse,” siger Jackie, der både skal forsørge sig selv og sin kone under deres ophold i Danmark. Havde de været uden de udgifter, havde tingene set en del lysere ud, mener han: ”Jeg tror sagtens, at jeg ville kunne klare uddannelsen, hvis jeg ikke behøvede at tænke på at tjene penge hele tiden.”
I Kina stiller vi ikke spørgsmål På trods af vanskeligheder med studiet er Jackie glad og optimistisk.
Det danske undervisningssystem nyder han i fulde drag. Systemet er en verden til forskel fra det, han er vant til i Kina: ”I Kina kan man ikke stille spørgsmål i timerne. Lokalerne er fyldte, og lærerne har ikke tid til at svare på spørgsmål. Her i Danmark er alt mere praktisk, og man arbejder ofte i grupper, og det kan jeg godt lide,” siger Jackie. Også kammeraterne i klassen taler Jackie om med rosende ord: ”Mine klassekammerater er så søde og hjælpsomme, og danskerne er meget venlige og rare,” siger Jackie, der ville ønske, at han kunne blive i Danmark efter sin uddannelse.
Drømmen om jobbet i Danmark
Drømmen er at blive i Danmark, finde et arbejde og stifte familie. Men hvordan det skal lade sig gøre, ved han endnu ikke. Foto: Filip Lauritzen
Om to et halvt år er Jackie færdig med sin uddannelse. På det tidspunkt har han et halvt år til at søge arbejdsopholdstilladelse, men får han ikke det, må han vende tilbage til Kina. Drømmen er at blive i Danmark, finde et arbejde og stifte familie. Men hvordan det skal lade sig gøre, ved han endnu ikke. ”Min kone og jeg har planer for fremtiden, men de er meget usikre. Vi kunne godt tænke os at arbejde i Danmark, men det bliver svært at finde noget,” siger Jackie. Skulle de rejse tilbage til Kina, håber Jackie at kunne blive lærer og undervise i kinesisk, som hans bachelor måske kan hjælpe ham til. Men kampen om jobbene er hård i Kina, og han håber derfor, at et dansk eksamensbevis kan bringe ham frem i jobkøen. ”I Kina er der alt for mange uddannede, der behøver job, og kun de bedste får et. Men måske vores ophold her i Danmark kan hjælpe os i fremtiden, nobody knows,” slutter Jackie.
PROSIT - IT-STUDERENDES FAGBLAD APR 09 SIDE 6
Hvad er en compiler? AF TOBIAS BAUNBÆK, DATALOGISTUDERENDE
Indledning
Typelinking
I løbet af sidste semester deltog jeg i kurset Oversættelse på Datalogisk Institut på Aarhus Universitet, hvor vi skulle bygge en compiler til en lille del af Java. Kurset er kendt for at være lidt af en dræber, men jeg kom da helskindet igennem. For at følge op på, hvad jeg har lært, og fordi det måske kunne interessere andre, vil jeg i denne artikel fortælle om, hvad en compiler er. For at forstå artiklen skal man helst kunne programmere eller i hvert fald kunne læse lidt kode. Det er ikke meningen, at man bagefter skal kunne gå i gang med at bygge sin egen compiler, men mere at give en forståelse af en compiler. Nogle steder er artiklen lettere forsimplet, og detaljer er udeladt for ikke at gøre den alt for avanceret.
En stor del af en compilers opgave er at se, om det kode, den får, er korrekt i forhold til sprogets specifikationer. Sværhedsgraden af denne opgave afhænger af sproget, som compileren er skrevet til. Typelinking og typechecking handler i høj grad om det. I typelinking-fasen finder vi alle navne på variabler i koden, finder ud af, hvilken type de tilhører, og laver et link hen til der, hvor denne type bliver deklareret første gang.
Kort om compilere Vores computere er dårlige til at forstå, og for at få dem til at lave noget bliver vi nødt til at give dem små simple en-linjes kommandoer, som vi kalder for maskinkode (jævnfør artiklen i sidste nummer af Prosit om, hvordan man kan lave sit eget operativsystem). Når vi til gengæld skriver kode, som flere af os gør dagligt, gør vi det i et helt andet abstraktionsniveau. Vi har klasser, løkker, blokke og andre sjove ting, som vi slet ikke kan udtrykke i maskinkode. En compiler er så et program, som kommer ind og hjælper os med at oversætte fra et sprog som C++ til et andet sprog, hvilket kunne være maskinkode. Der er mange variationer af denne process, men pointen er, at du i den ene hånd holder noget kode, som vi mennesker har let ved at forstå, og i den anden hånd har noget, som en computer kan forstå. Det vigtigste i denne proces er at få forståelsen, eller semantikken, med hele vejen. Vi kan tage en simpel metode, skrevet i Java: public void foo(String baz) { Bar a = new Bar(); a.printStuff(baz); } Den kan forstås af de fleste programmører uden problemer. Men selv denne simple metode benytter sig af komplekse ting. Vi har et metodekald, som tager en parameter, et nyt objekt, a, af typen Bar, og til sidst kalder vi en metode på dette objekt. Allesammen eksempler på noget, som man ikke kan med maskinkode. Derfor er det vigtigste for en compiler at sørge for, at det, som computeren rent faktisk udfører, også var det, vi havde tiltænkt den. Compilere er oftest bygget op i faser. I første fase læser man kildekoden, i de efterfølgende gør man mere komplekse ting, og til sidst spytter vi noget ud i et andet sprog, som enten en anden compiler eller computeren forstår.
Denne proces kan være temmelig besværlig, da der kan være kryptiske regler for, hvad et navn peger på. I vores eksempel har vi navnet a, som bliver deklareret i metoden selv. Men hvad nu, hvis vi ikke havde deklareret en a i denne metode? Hvor skal vi så lede efter a? I Java kan a f.eks. være en felt-variabel eller en klasse, som hedder a. Forskellige sprog har forskellige regler, men ens for dem alle er, at de er entydigt bestemte om, hvad der skal ske. I de tilfælde, hvor der er flere compilere til et sprog, er det også vigtigt, at de alle følger samme regler. Derfor er specifikationen til Java også meget lang og indeholder lange forklaringer, så der ikke kan være tvivl for andre compiler-programmører om, hvordan en Java-compiler skal opføre sig, ligegyldigt om det er Sun eller Microsoft, der laver den.
Indlæsning af kildekoden
Typechecking
Den kode, som programmøren har skrevet, ligger gerne i filer, som indeholder almindelig tekst. Vi vil ikke arbejde med almindelig tekst, så derfor læser vi det ind og omformer det til et abstract syntax tree(AST).
Efter at alle typerne er linket til deres deklaration, kan compileren nu begynde at tjekke, om udtryk i progammet er rigtigt.
Træet er blot en repræsentation af kildekoden og er derfor blot det samme kode som før, men nu på en måde, så det er nemmere for vores compiler at arbejde med. Der er mange måde at lave træet på, men det er mindre vigtigt, og der findes også værktøjer, som kan gøre dette automatisk for compileren. Det, som er vigtigt i den første fase, er blot, at vi bagefter har en nemmere måde at arbejde med koden på. I denne fase kan vi også fortælle, hvis der er nogle oplagt grammatiske fejl i koden. Tag dette eksempel: public foo() { ... } Programmøren glemte at skrive en returværdi som f.eks void. Den fejl fanger compileren allerede nu og behøver derfor ikke fortsætte, men kan stoppe kompileringen og melde en fejl til programmøren.
Ved alle metodekald skal vi se, om de typer, som metoden forventer, også er dem, som bliver sendt med. I eksemplet har vi bl.a. et metodekald, printStuff, hvor vi giver den en streng med. Det er så compilerens opgave at se på, om printStuff-metoden i Bar-klassen rent faktisk også accepterer dette. Dette følger også nogle regler, som kan være komplicerede. I Java skal man huske på at se, om Bar-klassen har metoden printStuff, hvilket også inkluderer at tjekke de klasser, som Bar-klassen eventuelt nedarver fra.
Allocation Efter at compileren er færdig med sit arbejde og skriver bytecode ud, så har variabler ikke længere navne, men i stedet en registeradresse. Compileren kan naivt gå igennem alle variabler og tildele dem deres egen værdi. Programmet ville så benytte alt for meget plads, og da vi jo er uddannede mennesker, skal vi selvfølgelig optimere på alt, hvad vi kan. Derfor analyserer compileren koden for at tildele dem variabler på den mest pladsbesparende
Bootstrapping Lad os sige, at vi er ved at skrive en compiler til vores eget sprog, Foo. Hvilket sprog skal vi skrive den i? Vi kan jo bare tage et sprog, som allerede eksisterer, og så ellers gå i gang. Men når vi nu er ved at lave Foo, kan vi jo lige så godt benytte Foo selv til at skrive det i. Problemet er blot, at der ikke findes en compiler til Foo (det er jo den, vi er ved at skrive). Her implementerer vi så en compiler i sproget X, som kun kan læse en lille del af vores Foo-sprog, som vi kan kalde Foo1. Nu har vi altså et program, som kan oversætte fra Foo1 til maskinkode. I Foo1 implementerer vi nu en compiler, som kan gå fra Foo2 til maskinkode. Denne process bliver vi nu ved med at udføre, indtil vi ender op med at have en compiler, som kan læse hele vores Foo-sprog. Det vigtige i denne måde er, at vi benytter vores eget sprog hele vejen, efter det første skridt. Som en lille bonusdetalje kan nævnes, at den næste version af Java bliver skrevet i den forrige version. Det vil altså sige, at hvis du har kildekoden til Java 1.7, skal du compile dette med Java 1.6-compileren. Det kan læses på openjdk, at det dernæst anbefales at kompilere kildekoden til Java 1.7 med din Java 1.7-compiler. Jeg lader det være en øvelse til læseren at forstå, hvad det smarte i dette kan være.
PROSIT - IT-STUDERENDES FAGBLAD APR 09 SIDE 7
måde. Nogle variabler bliver aldrig brugt, og derfor er der ingen grund til at benytte plads i registeret til disse. Andre variabler bliver kun brugt kort og er derfor ikke i brug længere, og det er her, der virkelig er noget at spare. Processen kaldes for live variable analysis. For hver deklaration af en ny variabel finder compileren ud af, hvilke andre variabler der er i “live” på dette punkt, når programmet eksekveres. Hvis en variabel ikke er i live, mens en anden er, kan de dele samme registerplads.
Code generation and optimization Endelig bliver det sjovt! Compileren har nu arbejdet gennem en masse faser, men der kommer stadigvæk ikke noget output. I denne fase gør vi noget ved det og outputter enten til et andet sprog eller maskinkode. Compileren bevæger sig gennem træet og outputter den korrekte maskinkode. Det, som compileren outputter, er ikke nødvendigvis den mest optimale kode, man kan forestille sig. Derfor optimerer compileren også selv på den maskinkode, som den genererer. Nogle kommandoer i koden kan man analysere sig frem til, at det aldrig vil blive eksekveret, og derfor er der ingen grund til, at de skal fylde plads i den endelige fil, som bliver genereret. Der er mange andre optimeringer, man kan lave, hvor nogle, som den netop beskrevede, er ganske oplagte, og andre er meget avancerede. Det var, hvad en compiler er, i lidt grove træk. Men der er mange compilere og mange måder, man kan optimere, så de fleste compilere har langt flere faser, end vi har gennemgået her. De “gode” compilere sørger også for at optimere hele tiden, så den kode, de får genereret, er så hurtig og/eller så lille som mulig. Compilere er for mange et interessant studie, men også forholdsvist svært. Grunden er, at det er så komplekst, og det kræver viden inden for mange områder, før man kan skrue en god compiler sammen. Hvis du skulle have lyst til at vide mere om compilere og opbygningen af en, er der selvfølgelig masser at læse om det på nettet. Det er interessant læsestof. Bare det at browse lidt rundt på Wikipedia og læse er spændende, også selvom man måske ikke vil implementere sin egen compiler. Hvis du endelig skulle have lyst til at lege med, vil jeg anbefale at bygge oven på en anden compiler, som er beskrevet i boksen.
SEMINAR
18. - 19. april
OVERVÅGNING
Mød bl.a. tidligere PET-chef
Kapelvej 44, 2200 Kbh N
http://www.daimi.au.dk/dOvs/ http://en.wikipedia.org/wiki/Live_variable_analysis
Ole Stig Andersen
http://en.wikipedia.org/wiki/Bootstrapping_(compilers)
andre temaer:
http://openjdk.java.net/groups/compiler/README.html#bootstrap http://www.brics.dk/Xact http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html
FEST MOD
Mølle Allé 25, 2500 Valby
Referencer
Online mobilisering Udenlandske it-arbejdsforhold Råd til din it-karriere PROSA år 2030
Mad, transport, deltagelse og overnatning betaler PROSA. Først til mølle...
FULDT PROGRAM OG TILMELDING PÅ arr:
18. april kl. 21-04
Band:
Press Play On Tape oplev også:
Pindulet (live) DJ Istabmyhead DJ Fork Surgery Oppe om Natten (visuals)
Garanteret plads til fest for seminar-deltagere.
prosa.dk/kursus
mail: cge@prosa.dk
Månedens gadget: Compilere benytter andre compilere Nogle gange er der flere compilere i spil. Vi kan forestille os, at vi vil lave en konstruktion til Java, som javac (Suns Java-compiler) ikke kender. Her er et eksempel på Xact, som tilføjer en XML-type til Java: XML x = [[ <html> <head><title>TitleText</title></head> <body bgcolor=blue><[h:Flow BODY]></body> </html> ]];
Kaffeprinteren Din printer skriger på blæk, men det eneste, du har i huset, er lidt kaffegrums fra den sidste kop. Kombiner disse to ting, og du har den seneste nye miljøopfindelse: Printeren RITI, som printer med kaffegrums. AF FILIP LAURITZEN
Xact garanterer, at dit program kun outputter korrekt XML. Når vi tager noget kode og kører det gennem Xacts compiler, sker der det, at den selv laver vores kode om til noget korrekt Java-kode, som javac kan forstå. Og derefter laver javac det om til korrekt java bytecode. Dette er oplagt praktisk, da vi nu slipper for at skulle lave en hel compiler og i stedet kan koncentrere os om en mindre del af det. Ofte behøver man ikke engang en hel compiler ovenpå, men måske blot en makro, som laver det om. Hvis man har lyst til at bygge oven på Java, kan jeg anbefale at se på, hvordan man laver plugin til Eclipse. Der er der mulighed for at hooke sig ind på deres AST.
Kan du forestille dig en printer, som kører uden strøm og blæk? Hvis ikke, så tjek den koreanske designer Joen Hwan Jus nyeste værk, printeren RITI. En printer, der ved hjælp af lidt kaffegrums, vand og håndtræk kan printe. Det lyder måske for godt til at være sandt, og det er det næsten også. For indtil videre er dette blot et design og langtfra et endeligt produkt.
Printeren, der har deltaget i en top-50-konkurrence på greenergadgets.com, blev nummer ti med 771 stemmer. På hjemmesiden kan du se alle de grønne miljøvenlige gadgets, man har kunnet stemme på. På selv samme side kan du også læse folks kommentarer og spørgsmål såsom: Hvordan virker den? Hvordan er kvaliteten? Hvordan sættes den til computeren, og hvad koster den?
Alle sammen spørgsmål, vi må vente med at få opklaret, da designet foreløbig er en konceptmodel for fremtidens kaffeprintere. Indtil da kan du begynde at gemme dit kaffegrums og træne højre arm til den dag, hvor kaffeprinteren kommer på markedet. Har du opdaget en ny smart gadget eller et nyt fænomen, som Prosit bør undersøge, så skriv til: filiplauritzen@gmail.com
PROSIT - IT-STUDERENDES FAGBLAD APR 09 SIDE 8
Bliv medlem af a-kassen før du studere videre! For de fleste studerende er valget nemt, hvis man ikke tidligere har arbejdet og været medlem af en a-kasse, så kan man først melde sig ind i PROSAs a-kasse, når man bliver færdig med sin uddannelse. Men hvad så hvis man planlægger at studere videre, fx på den nye overbygningsuddannelse til datamatikerstudiet som starter til september ? AF JESPER KIEL KOORDINATOR FOR
PROSA/STUD
Regneeksempel PROSIT har spurgt Karin Barlas som til dagligt arbejder med at vejlede de studerende om PROSAs a-kasse: Hvad er dit råd til nyuddannede, som vil læse videre - skal de blive medlem af PROSAs a-kasse, når de afslutter deres første studie? - Hvis man fravælger at blive optaget som fx. nyuddannet datamatiker, så vil man kunne optages, når bacheloruddannelsen er afsluttet. Her gælder samme regler som efter datamatikeruddannelsen: man skal melde sig ind inden 14 dage efter afslutningsdatoen. Men man skal huske, at det kun er i forbindelse med afslutning af en uddannelse, man kan melde sig ind i PROSAs a-kasse. Starter man på en ny uddannelse, skal man gøre den færdig for at blive optaget - man kan ikke komme ind i a-kassen, hvis man dropper ud af sin bacheloruddannelse. Så man skal være utrolig sikker i sin sag for ikke at melde sig i a-kassen allerede efter sit første studie. Kan det betale sig? - Det er ikke bare et godt sikkerhedsnet at melde sig i a-kasse allerede efter sit første studie, det er i de fleste tilfælde også en god forretning. Er der ikke en bagside af medaljen? - Det er klart at for at få dagpenge, så skal man stå til rådighed
Regneeksempel for en datamatiker som slutter 30. april 2009, men som vil starte på overbygningsuddannelsen 1. september og som kommer ud i ledighed efter endt datamatikerstudie: Perioden fra 1.maj til 1. september Udgifter: Kontingent til PROSA a-kasse i 4 måneder a 503 kr. : 2.012 kr.* Indtægt: Dagpenge på dimittendsats i 66 dage (juni-juli-august) 39.270 kr.* * før fradrag og skat med forbehold for satserne kan ændres i kraft at lovgivning m.v.
Når man starter på sit nye studie kan man bibeholde sit a-kasse-medlemskab mens man studerer og det kan også være en god forretning, hvis man ikke har job den første måned efter endt studie. Den første måned er normalt en karensperiode uden dagpenge, men hvis man bibeholder sit medlemskab har man overstået karensperioden. Regneeksempel for en studerende på Professionsbachelor i Softwareudvikling som beholder sit a-kasse-medlemskab under studiet og som er ledig i den første måned efter endt studie!
Vind 2 biografbilletter Vinder af lodtrækningen mellem de rigtige svar for PROSIT-sudoku i PROSIT februar 09 er: Adrian Stiles Andersen, Datamatiker BEC Design. Man sender løsningen ved at maile bogstavrækkefølgen i de gule felter til prosit@prosa.dk Alle medlemmer af PROSA/STUD kan deltage og der trækkes lod om to biografbilletter til en vinder. Svaret skal sendes senest: 11. maj 2009 og vil blive offentliggjort i næste nummer af PROSIT. Sodoku’en er lånt fra www.menneske.no
Udgifter: Kontingent til PROSA a-kasse i 16 måneder a 401 kr. : 6.416 kr.* Indtægt: Dagpenge på dimittendsats den første måned (21 hverdage) 12.495 kr.* * før fradrag og skat med forbehold for satserne kan ændres i kraft at lovgivning m.v.
for arbejdsmarkedet, så man kan ikke tage af sted på ferie i 4 måneder indtil det nye studie starter i september. Er man så heldig at have arbejde i de fire måneder mellem de to studier så får man selvfølgelig ikke dagpenge i perioden,
men så optjener man til gengæld ret til den maximale dagpengesats når man slutter sit andet studie, og dermed får man omkring 2600 kr. ekstra i dagpenge om måneden, hvis man bliver ledig slutter Karin Barlas.
Karin Barlas vejleder de it-studerende om a-kassen