At blive en programmør er en kumulativ proces, der opbygger dine færdigheder dag efter dag og år efter år, og programmeringen kan være sjovt og givende (mentalt, åndeligt og økonomisk). Denne vejledning lover ikke at give en magisk nem måde at blive en programmør, og bestilling af trinene er ikke hellig, men du får en generel oversigt over, hvordan du bliver programmerer i et af de moderne programmeringsfelter.
Trin
1.
Tag et introduktionskursus i en (eller dem alle) af følgende discipliner:- Logik
- Diskret matematik
- Programmeringssprog (deltage i de forskellige programmeringsparadigmer, der starter fra sekventiel / proceduremæssig til objektorienteret, efter funktionel og logisk programmering. Foretrukne Ruby / Python / Pascal for begyndere og efter en god forståelse gå dybere ind i C ++ / C # / Java)
Ekspert Tip
Gene Linetsky, MS
Startup Grundlægger & Engineering DirectionsGee Linetsky er en opstart grundlægger og software ingeniør i San Francisco Bay-området. Han har arbejdet i Tech Industry i over 30 år og er i øjeblikket direktør for Engineering hos Poynt, et teknologivirksomhed, der bygger Smart Point-of Sale Terminals for Virksomheder.
Gene Linetsky, MS
Startup Grundlægger & Engineering Director
Har ikke lyst til at tjene en kodende grad. Mens du tager kurser på et programmeringssprog, kan være nyttigt, Gene Linetsky, en Software Engineer og Startup Grundlægger, siger: "Det er faktisk diskutabelt, om en grad gør ondt eller hjælper. I stedet skal du tænke på programmering som lærlingeuddannelse - det handler for det meste om at lære af dine fejl."

2. Lær database koncepter som tabeller, synspunkter / forespørgsler og procedurer. Du kan bruge enhver simpel databasepakke til at gøre dette, f.eks.:
MS AccessDB VFOX PROParadoksMySQL er en god database at lære, fordi det er gratis, almindeligt anvendt, og databaser er almindeligt adgang til SQL-forespørgsler
3. Bestem hvilken type programmerer du vil være. Programmører falder generelt under en af følgende kategorier:
WebprogrammererDesktop Application ProgrammererOperativ system (OS) orienteret programmør (bundet til et enkelt operativsystem eller et sæt operativsystemer)Platform-Uafhængig programmørDistribuerede applikationer programmererBibliotek / Platform / Framework / Core ProgrammererSystemprogrammererKernel programmererDriver ProgrammererCompiler ProgrammererProgrammeringsforsker
4. Lær teknologier og programmeringssprog relateret til dit programmeringsfelt. De følgende afsnit nedbryder opgaverne for forskellige typer programmering.
Metode 1 af 6:
Webprogrammering
1.
Ved, hvilken webprogrammering indebærer.Webapplikationer er softwarekomponenter designet til at arbejde på toppen af internetarkitekturen. Det betyder, at applikationerne er tilgængelige via en webbrowser-software som Firefox eller Internet Explorer. At blive bygget oven på internettet arkitektur kræver ikke nødvendigvis en aktiv forbindelse til internettet. Det betyder, at webapplikationer er bygget oven på standard webteknologier som:
- Http
- Ftp
- POP3
- SMTP
- TCP
- IP protokoller
- Html
- XML
- Coldfusion
- ASP
- JSP
- Php
- ASP.NET

2
Gennemse Mange forskellige websteder for at lære om, hvordan de normalt ser ud. (Højreklik, og klik derefter på Vis kilde eller tryk på F12.) Se efter mangfoldighed i webstedets type / indhold, ikke mængden af besøgte websteder. Generelt skal du besøge mindst en af hver af de følgende typer af hjemmesider:
Corporate Tilstedeværelsessteder (Commercial Corporations, ikke-for-profit Corporate / Organizations, Offentlige Organisationer)Webindekseringsmotorer (søgemaskiner, meta Søg websteder, specialiserede søgemaskiner, mapper)Data Mining SitesPersonlige webstederInformations / Encyclopedic Sider (Wikis, Datablade, Tekniske Specifikationer og Manualer Liste over mapper, blogs og tidsskrifter, nyheder og nyhedsbureauer Sites, Gule sider osv.)Sociale websteder (Sociale Portaler, Bookmarking Sites, Note-Take Sites)Samarbejdspladser (dette omfatter andre kategorier nævnt ovenfor, såsom wikis og blogs)
3. Lær mindst en brainstorming Teknik / metode og en software, der bruges til at gennemføre denne metode. For eksempel: Brainstorming Diagrams og MS Visio.

4. Få kendskab til Website Structuring.Dette skaber konceptuelle webdiagrammer, site-maps og navigationsstrukturer.

5. Tag et crash kursus på grafikdesign. Prøv at lære mindst en grafikredigering / manipulation softwarepakke (valgfrit, men stærkt anbefalet)

6. Lær det grundlæggende i internetinfrastrukturen. Dette inkluderer at få en grundlæggende ide om:
Base Web Services protokoller (HTTP, FTP, SMTP og POP3 eller IMAP4)Webserver Software (helst en til platformen, du vil arbejde for det meste)Web browsing software.E-mail-serveren og klient software
7. Lær HTML- og CSS-sprogene. Du vil måske også gerne have "Hvad du ser er, hvad du får (WYSIWYG)" Softwarepakke til redigering af HTML.

8. Lær XML- og XML-relaterede teknologier, såsom XSL og XPATH (valgfri, men anbefales).

9. Opret enkle statiske websteder, indtil du er bekendt med og komfortabelt rundt Html.

10.
Lær et klient-side scripting sprog. De fleste brugere lærer jаvascript. Nogle lærer
Vbscript, Men dette er ikke kompatibelt med de fleste browsere.

11. Bekendtgør dig med det klient-side scripting sprog, du lærte. Prøv at nå dit potentiale kun ved hjælp af det pågældende sprog. Kun gå til næste trin, efter at du i det mindste er fortrolig med dit klient-side scripting sprog.

12. Lær mindst ét server-side programmeringssprog. Hvis du vælger at begrænse dig selv til en serversoftware, skal du lære et af programmeringssproget, der understøttes af den pågældende software. Hvis ikke, skal du lære mindst et programmeringssprog på hver serversoftware.

13
Opret et pilotprojekt For dig selv efter at du er færdig med at lære Server-Side programmeringssproget.

14
Metode 2 af 6:
Desktop Application Programmering
1.
Ved hvad du kommer ind i med desktop applikationsprogrammering.De fleste desktop programmører skriver kode for forretningsløsninger, så at få en ide om virksomheder, deres organisatoriske og økonomiske struktur vil være en stor
Time-Saver.

2.
Lær om de forskellige computerhardwarearkitekturer. Et indledende niveau kursus i
digitale kredsløb design og en anden i
computer arkitektur er nyttigt - men nogle ser det som at være avanceret til et udgangspunkt, så læsning af to eller tre vejledningsartikler (f.eks
denne og
denne) kan være tilstrækkeligt. Så kan du gå tilbage til dette trin senere, efter at du har lært dit første programmeringssprog.

3. Lær et indgangsniveau (Kids `) programmeringssprog. Vær ikke genert for at lære et sådant sprog, bare fordi du er ældre end at blive kaldt en "barn". Et eksempel på disse programmeringssprog kan være ridse. Disse programmeringssprog kan lette smerten i at lære dit første programmeringssprog enormt. Dette trin er dog valgfrit. Det kan også gøres inden det foregående trin.


5. Tag et introduktionskursus i en af de proceduremæssige programmeringssprog. Uanset hvilket sprog du vælger senere for at være dit sprog, vil det kræve proceduremæssig programmering på et eller andet niveau. Procedural programmering rapporteres også af de fleste programmører for at være den nemmeste at bruge som udgangspunkt for at få ideen om programmering generelt.

6. Lær mindst en avanceret modelleringsteknik som UML eller ORM.

7. Start med at skrive nogle små konsoller eller konsollignende applikationer.Du kan gøre brug af fælles små øvelser i programmeringssprog bøger. For dette skal du vælge et værktøj til at skrive programmer på det programmeringssprog, du skriver i.

8. Tag et mere avanceret kursus i dit valgte programmeringssprog. Sørg for, at du forstår følgende koncepter godt, og at du kan anvende dem med relativ lethed, før du går videre:
Indtastning og udgivelse af oplysninger til brugere af et program.Den logiske flow og udførelsesstrømmen af programmer på proceduremæssige sprog.Erklærer, tildele og sammenligne variabler.Forgreningsprogrammeringskonstruktioner som f.eks..derefter..ellers og vælg / skifte..sag.Looping konstruktioner som mens..gøre, gør..mens / indtil for..Næste.Din programmeringssprogsyntax til oprettelse og opkaldsprocedurer og funktioner.Datatyper og manipulation af dem.Brugerdefinerede datatyper (Records / Structs / Units) og deres brug.Hvis dit sprog understøtter Overbelastningsfunktioner, forstå det.Hukommelsen Adgangsmetoder på dit sprogs sprog (pointers, kigger osv.)Hvis dit sprog understøtter Operatører overbelastning, forstå det.Hvis dit sprog understøtter delegerede / funktionspotere, forstår det.
9. Anvend de avancerede teknikker, du har lært.

10. Tag et introduktionskursus i mindst en mere programmeringssprog I et andet programmeringsparadigme. Det anbefales at lære et programmeringssprog i hvert paradigm, og de fleste avancerede programmører gør, men du normalt starter med en, arbejder i et stykke tid, der anvender din viden og praktiserer det, så lær den anden senere, efter at du allerede har haft en reel -Life erfaring i programmering.Prøv et af følgende sprogområder:
Logisk programmering paradigm.Funktionelt programmeringsparadigm.Objektorienteret paradigme.
11. Prøv at sammenligne de to programmerende sprog, du lærte hidtil. Evaluere styrker og svagheder i hver enkelt. Normalt er dette gjort af:
Tager simple prøver af dit tidlige arbejde i det første programmeringssprog og genskriv det ved hjælp af det andet programmeringssprog.Oprettelse af et nyt projekt og prøv at implementere det ved hjælp af begge sprog. Nogle gange, afhængigt af dit valg af projekt og sprog, kan du muligvis ikke kunne gennemføre projektet på et af sprogene!Skrivning af en snydark eller sammendragsbordsammenligninger mellem lignende konstruktioner på de to sprog og funktioner unikke for hvert af sprogene.Prøv at finde måder at efterligne funktioner, der er unikt for et af de to sprog ved hjælp af det andet sprog.
12. Lære visuel Programmeringskoncepter ved hjælp af et af de sprog, du lærte. Næsten alle programmeringssprog har versioner / biblioteker, der understøtter visuel programmering og andre, der understøtter konsol eller konsollignende programmering. Dette kan opnås ved at:
Få en introduktion til begivenhedsdrevet programmering. Mest visuelle programmering er afhængig af nogle niveauer på begivenheder og hændelseshåndtering (ved hjælp af det programmeringssprog, du vælger).Prøv så meget desktop software som du kan og forstå, hvad softwaren gør. De fleste softwareudviklingsselskaber tilbyder beta-testversioner af deres produkter, som du kan bruge til at teste softwaren. Hold dig ajour med brugergrænsefladen.Læs nogle artikler eller tutorials på grafiske brugergrænseflader.
13. Begynd at anvende din viden om små softwareprojekter, du designer. Prøv at anvende din programmeringskompetence på problemer, du står over for i dit daglige liv. For eksempel skriv programmer, der omdøber filer i masse, sammenligner tekstfiler visuelt, kopierer navnene på filer i en mappe til hukommelse / tekstfil, og ting som sådan. Hold det enkelt først.

14. Opret en virtuel Graduation Project. Fuldføre dette til enden, anvende teknikkerne til visuel programmering, du lærte hidtil.

15. Forøg din forståelse af den visuelle ramme / bibliotek / pakke, du lærte før ved at tage avancerede kurser, idet du betaler ekstra opmærksomhed på detaljer og lærer flere tips og tricks til din ramme fra online ressourcer.

16. Søg efter andre pakker / biblioteker af visuelle elementer til dine programmeringssprog og lær dem.

17. Tag et kursus i grafik (ikke grafisk design). Det vil være meget nyttigt for programmører, der ønsker at skrive tiltalende brugergrænsefladeelementer.

18.
Overvej at blive en spilprogrammerer (valgfrit).Spil Programmering overvejes i de fleste dele, desktop programmering. Hvis du har til hensigt at blive en spilprogrammerer, skal du lære mere om spilprogrammering, efter at du er færdig med disse trin. En grafikkursus er et must for spilprogrammører, og det andet sprog, der vælges i de foregående trin, skal være et logisk / funktionelt programmeringssprog (helst prolog eller lisp).
Metode 3 af 6:
Distribuerede applikationer programmering
1.
Tackle distribuerede applikationer programmering. Distribueret applikation Programmering anses af mange for at være en af de sværeste at lære og kræver forskellig viden i computer- og kommunikationsteknologier.

2. Tag en hastighed introduktion til telefoni systemer og deres hardware. Dette trin er valgfrit. Det er dog meget nyttigt at forstå netværks topologier.

3. Bekendtgør dig selv med netværkshardwarearkitekturer og enheder som nav, kontakter og routere.

4.
Tag et kursus i netværksprotokoller og essentials. Du har brug for en god forståelse af
Open Systems Interconnection (OSI) model, Ethernet, IP, TCP,
UDP og http før du begynder at programmeres distribuerede applikationer.

5. Lær XML-sproget og kendisfør dig selv med det.

6. Start med at lære et shell scripting sprog. For Windows-baseret programmering, ville det være ethvert script, der fungerer sammen med Windows Scripting Host. Til Linux-baserede programmering vil bash scripts og perl være tilstrækkelig. jаvascript anbefales stærkt til dette i begge platforme af følgende grunde:
Den understøttes af næsten enhver script-vært i ethvert operativsystem (Windows Scripting Host understøtter jаvascript som standard, de fleste Linux distributioner har en pakke til jаvascript Scripting Console Support).Det anses for at være lettere at lære af mange udviklere.Det har en algolafledt syntaks, der gør dig bekendt med meget mere andre programmeringssprog, når du skal vælge et andet programmeringssprog (C, C++, C #, Java og j # alle har algol afledt syntaks).Ved at lære jаvascript, gør du dig bekendt med klient-side scripting af websider, som er en bonus side-effekt!
7. Anvend kun proceduremæssig programmering ved hjælp af dit valg af script sprog i første omgang. Senere kan du bruge mere avancerede programmeringsteknikker og paradigmer i henhold til dit scripting sprog og hvad det understøtter. Alle scripting sprog har nogle proceduremæssige programmeringsaspekter på et eller andet niveau.

8. Brug det script sprog, du lærte at skrive scripts, der udfører kommunikation mellem maskiner. Lær, hvad der er nødvendigt for at gøre det. Enkel kommunikation vil være tilstrækkelig.

9.
Lav en overførsel til et desktop scripting / programmeringssprog. Fortrinsvis er en, der er et multi-paradigm-sprog, såsom
Python. Tag en simpel introduktion til det andet sprog. Java betragtes af de fleste programmører for at være det valgte sprog af mange grunde. Imidlertid er C # vinder momentum hurtigt i dette felt. Java og C # foretrækkes af følgende grunde:
De er objektorienterede programmeringssprog, der beskytter programmører i store hold fra implementeringsoplysninger, da de begge understøtter komponenter (enheder af kode, forud kompileret, der udfører en bestemt opgave og kan bruges i andre programmer).De støtter begivenhedsdrevet programmering, samt OO og proceduremæssig programmering på et eller andet niveau.Rammen, som sproget er bygget på, fordeles af naturen (i tilfælde af Java).Tilgængeligheden af mange færdige pakker, der beskæftiger sig med netværk, Både som open source kode og rammer indbyggede pakker - det gør det lettere for programmører at bygge på andres arbejde.
10
Koncentrere Mere om sprogfunktionerne på sproget, især dem, der understøtter netværk. Betal mindre opmærksomhed på bruger-interface-elementer som udgang, vinduesdesign og teknikker og brugergrænsefladeelementer.

11. Tag et kursus på distribuerede applikationer Design og arkitekturer. Dette kan gøres ved hjælp af bøger, online tutorials eller akademiske kurser. Men forståelse af arkitekturen af distribuerede applikationer og dens koncepter er nødvendig.

12. Lær om bygning af servicerede komponenter og Tjenester Brug af dit programmeringssprog for valg.

13. Lær en eller flere af følgende teknologier. Det anbefales, at du mindst får en introduktion til dem alle. De fleste distribuerede applikationsprogrammører stopper ikke på et eller to programmeringssprog, men lærer mindst et programmeringssprog på hvert operativsystem. Det vil sige, hvis du vil have din ansøgning til at være "distribueret", du bør give en version af det i det mindste for hvert større operativsystem.
Fælles objekt Request mæglerarkitektur (CORBA)Enkel objektadgangsprotokol (SÆBE)Asynkron jаvascript og XML (Ajax)Distribueret komponent objekt model (DCOM).Netto fjernbetjeningXML Web ServicesMetode 4 af 6:
Bibliotek / Platform / Framework / Core Programmering
1. Ved, hvilken kerneprogrammering er.Kerneprogrammører er blot avancerede programmører, der har foretaget overførslen fra programmeringsapplikationer til programmeringskodeenheder, der skal bruges af andre programmører.

2. Lær et programmeringssprog, der understøtter opbygning af genanvendelige komponenter / pakker, hvis du ikke allerede har gjort det allerede.

3. Tag et avanceret kursus i UML og ORM. De fleste biblioteksudviklere bruger en eller begge af dem.

4. Tage et kursus i software Engineering.

5. Lær mindst modulære, komponentbaserede, objektorienterede og begivenhedsdrevne programmeringsteknikker og koncepter. Jo flere programmeringsparadigmer og sprog du dækker, jo mere succesfuldt bliver du som et bibliotek / pakkeprogrammerer.

6. Lær mere om de forskellige operativsystemer og programmeringsrammer understøttet af disse operativsystemer.

7. Fokuser din læringsindsats på platform-uafhængige rammer, programmeringssprog og teknologier.

8.
Hvis programmeringssprogene du har lært hidtil have ANSI/
Iso/
IEE/
W3C Standardversioner, Master standarderne. Prøv at bruge standardkode, når det er muligt.

9. Prøv at efterligne enkle, allerede etablerede biblioteker, især open-source-dem. Dette er nyttigt i den tidlige fase af at blive et bibliotek / pakkeprogrammerer. Start med enkle pakker som enheder konvertering og mellemliggende videnskabelige beregninger pakker. Hvis du er en universitetsstuderende, skal du bruge dine ikke-programmeringskurser ved at forsøge at gennemføre deres ligninger og videnskabelige kerne som biblioteker.

10. Søg efter og prøv open-source-pakker i dit programmets område. Første Download Binaries / Executables af pakken. Prøv at bruge det og finde sine stærke og svage punkter. Når du har gjort det, skal du downloade kilden og forsøge at finde ud af, hvordan det var gjort. Prøv at genskabe disse biblioteker eller dele af dem. Først skal du gøre det, når du har set koden og senere, før du ser koden. Ved senere faser, prøv at forbedre disse biblioteker.

11. Lær de forskellige tilgange, der bruges til at distribuere og implementere komponenter til programmører.
Normalt har Bibliotek / Pakkeprogrammerer tendens til at tænke rekursivt og / eller iterativt af alle problemer, de er præsenteret med. Prøv at tænke på hvert problem som en samling af mindre problemer (en sekvens af enklere opgaver) eller som en gentagen proces med at reducere problemets omfang til mindre scopes og derefter piling af disse scopes på hinanden.Bibliotek / Pakkeprogrammører har tendens til at generalisere. Det vil sige, når de præsenteres med et simpelt specifikt problem, tænker de normalt på et mere generelt problem og forsøger at løse det generelle problem, som automatisk løser den mindre.Metode 5 af 6:
Systemprogrammering
1. Forstå, hvilken systemprogrammering indebærer.Systemprogrammerer beskæftiger sig med Videnskaben af programmering ikke de specifikke implementeringer af det. Bind ikke dig selv til en bestemt platform.

2. Følg de første tre trin til desktop applikationer programmører.

3. Tag et indledende kursus i lineær algebra.

4. Tage et kursus i Calculus.

5. Tag et kursus i logik og / eller diskret matematik.

6. Introducer dig selv til forskellige blotte operativsystemer. Dette kan gøres ved:
Få en ide om, hvordan operativsystemer er installeret.Lære hvordan Installer forskellige operativsystemer på en pc (valgfri, men anbefales).Installation af mere end et operativsystem. Installer ikke nogen hjælpepakker på systemerne - Brug i stedet de bare funktioner, der leveres af operativsystemerne.
7. Tag et kursus (eller alternativt, læs bøger) på computerhardwarearkitektur.

8. Udvikle en forståelse af de forskellige computerhardwareplatforme.

9. Få en indledende bekendtgørelse med Monteringssprog af hardwareplatformen / operativsystemet valg. Du vil senere lære samlingen af andre platforme / systemer.

10. Lær ANSI C og C ++ - Sprogene sammen med begreberne Procedural Programmering.

11.
Forstå og praksis c / c ++ standard biblioteker på platformen for valg.Vær særlig opmærksom på Standard Template Library (
STL) og måske aktivt skabelonbibliotek (
ATL).

12. Søg online ressourcer, bøger og kurser for at få en forståelse af C-smagen af din specifikke platform.

13. Øvelse Oprettelse af avanceret kode med C og C++.

14. Lær mere Avanceret Montering.

15. Tag et kursus i operativsystem design.

16. Find og læs dokumentationer af din specifikke valgplatform.Dette vil være lettere, hvis du vælger et UNIX-baseret operativsystem. Forstå systemet, du vil arbejde med senere meget godt.

17. Øv din erhvervede viden. Først oprette små systemværktøjer. Det er normalt nyttigt at:
Forsøger at genskabe små værktøjer, der allerede er der på dit system.Forsøger at portellerier, der er tilgængelige i andre operativsystemer til din.
18. Lær sprog i den mest nyttige ordre.Dette er det eneste sted, hvor det første programmeringssprog betyder noget. Lære ansi c først, ikke c ++, ikke c #, ikke java og ikke d. Så lær C++.
Begrænsning af det første sprog til C og C alene skyldes, at systemprogrammeringen kræver, at programmøren er bekendt med følgende begreber:Real og fuld kompilering af kildekode.Low-Level Object Output Files.Forbinder binaries.Lavniveau maskinsprog / monteringsprogrammering. C-sproget siges at være en forklædt / lettere at lære samling af nogle. Det understøtter også at indsætte monteringssprogkode i kode, når du vil, og den er kun proceduremæssig (som montering).Metode 6 af 6:
Programmering Science
1. Ved, hvad en programmeringsforsker gør.Programmeringsforskere er meget avancerede programmører, som i stedet for at arbejde på at udvikle applikationer, arbejde på at udvikle computing teknologier som kryptering, programmeringssprog og data mining algoritmer. Dette niveau opnås sjældent uden akademisk undersøgelse og dedikation.

2. Akkumuler den videnskabelige viden svarende til en fireårig grad i datalogi. Dette kan ske enten ved at:
Tager en faktisk akademisk grad (hvilket er det der normalt sker).At få kursernes skitserer i en sådan grad fra et af de moderne universiteter og tage kurser enten ved selvstudium eller som separate kurser. Dette kunne opnås teoretisk, men den anbefalede sti er den første.
3. Bestem et specialfelt. Jo mere specifik, jo bedre. Dette afhænger af dine præferencer. Men her er en liste over nogle af de vigtigste emner i computerprogrammeringsvidenskab:
Algorithm design (søgning, sortering, kryptering, dekryptering og fejldetektering i kommunikation er nogle eksempler)Programmeringssprog / Kompilator Design / OptimeringKunstige efterretningsfelter (mønstergenkendelse, talegenkendelse, naturlig sprogbehandling, neurale netværk)RoboticsVidenskabelig programmeringSuper computingComputer Aided Design / Modeling (CAD / CAM)Virtual realityComputergrafik (computergrafik er normalt forkert forvirret med grafisk design eller grafisk brugergrænseflade design. Computergrafik er området for at studere, hvordan man repræsenterer og manipulerer grafik i computersystemer.)
4. Overvej at få en højere akademisk grad.Du ønsker måske at forfølge en kandidatgrad eller en doktorgrad.

5. Lær teknologier og programmeringssprog relateret til dit programmeringsfelt.
Tips
Uanset hvilken type programmering du vil prøve eller hvilket niveau du vil være på, overveje at tage klasser i skole eller dit lokale college college. Vær ikke skræmt af termer som f.eks "Computer videnskab." Enhver klasse du kan komme ind uden forudsætninger bør fokusere på at undervise i princippet om programmering, men tjek med instruktøren eller en rådgiver på forhånd for at sikre, at det er det, du leder efter, som klasser som "IT-færdigheder" kan fokusere mere på at blive bekendt med Office-applikationer og lignende.