Dokumentation
I denne artikel vil der blive gennemgået forskellige ressourcer, hvor der kan findes dokumentation og vejledning til C#.
Information til undervisere
Jeg synes jo at ChatGPT, Github Co Pilot og andre sprogmodeller er guld værd for kursisterne, så jeg bruger noget tid på at være sikker på at de kan finde hjælp her - og især hvordan de gør rent praktisk. Prøv med at par eksempler som “Kan du ikke hjælpe med at skrive koden til en funktion som foretager en komplet validering et dansk cpr nummer”. Sørg for at de ved at ChatGPT skaber et (godt) udgangspunkt som kan indeholde fejl.
MSDN
MSDN (Microsoft Developer Network) er en af de vigtigste ressourcer for C# dokumentation. Her finder man omfattende dokumentation og vejledning fra Microsoft selv. MSDN indeholder detaljerede artikler, API-beskrivelser og eksempler på, hvordan man bruger C# og .NET Framework. MSDN kan findes på docs.microsoft.com.
Andre websteder
Udover MSDN er der andre websteder, som tilbyder dokumentation og vejledning i C#. Her er nogle af de mest populære:
- C# Corner - En stor samling af artikler, vejledninger, videoer og blogs om C# og relaterede teknologier.
- Stack Overflow - Et populært spørgsmål og svar forum for udviklere, hvor man kan finde svar på mange C#-relaterede spørgsmål og problemer.
- GitHub - Mange open-source projekter og kodeeksempler skrevet i C# kan findes på GitHub, hvilket kan være en nyttig ressource for at lære fra andres kode.
Nyhedsbreve
Jeg er en stor fan af nyhedsbreve og der er mange relateret til C# - jeg læser selv C# digest som er en udmærket ressource. Ellers er jeg som mange andre stor fan af Hacker Newsletter og The pragmatic Engineer Newsletter som dog ikke er C# relateret. Se i øvrigt også AI nyt fra HK (Jeppe Engel).
Der er også en del af finde at finde her.
Andre ressourcer
- C# in Depth - En bog af Jon Skeet, der dykker dybt ned i C# sprogfunktioner og deres anvendelse.
- Pluralsight - En online kursusplatform, der tilbyder en lang række C# kurser for udviklere på forskellige niveauer.
Ved at benytte disse ressourcer vil det være muligt at finde en bred vifte af dokumentation og vejledning i C#, som kan hjælpe med at forbedre ens færdigheder og forståelse af sproget.
Brug af ChatGPT
ChatGPT er en avanceret sprogmodel udviklet af OpenAI, der er trænet på et bredt udvalg af tekster og kan generere menneskelignende tekst baseret på brugerinput. Modellen er i stand til at besvare spørgsmål, give råd og forklare komplekse koncepter inden for en lang række områder, herunder programmering.
Når det kommer til at lære at programmere i C#, kan ChatGPT være en nyttig ressource for både begyndere og erfarne udviklere. Den kan hjælpe med at forklare grundlæggende koncepter og syntaks, foreslå løsninger på almindelige problemer, guide brugere gennem forskellige programmeringsopgaver og endda forklare avancerede emner som designmønstre og algoritmer. Selvom ChatGPT ikke kan erstatte en fuldstændig uddannelse i programmering, kan det være et værdifuldt supplement til andre lærematerialer og ressourcer.
Du kan finde ChatGPT her.
Info
GPT står for “Generative Pre-trained Transformer” og er en type avanceret sprogmodel udviklet af OpenAI. GPT er baseret på transformer-arkitekturen, som er en nyere dyb læringsteknik designet til at håndtere sekventielle data, såsom tekst, på en mere effektiv og skalerbar måde sammenlignet med tidligere metoder som rekurrente neurale netværk (RNN) og LSTM (Long Short-Term Memory).
GPT-modeller er “generative”, hvilket betyder, at de er i stand til at generere ny tekst baseret på deres træning og den indtastede kontekst. De er “pre-trained” på enorme mængder af tekstdata, hvilket giver dem en bred viden om sprog og forskellige emner.
GPT er kendt for sin evne til at generere menneskelignende tekst, der er kohærent, kontekstbevidst og ofte indsigtsfuld. Modellerne er blevet anvendt i en lang række anvendelser, såsom besvarelse af spørgsmål, tekstgenerering, oversættelse, tekstforståelse og summarisering, samt chatbots som ChatGPT, der kan føre samtaler og hjælpe brugere med forskellige opgaver.
Brug den rigtige prompt
Det er vigtigt at fortælle en sprogmodel så meget som muligt inden du stiller spørgsmål. Måske kan du bliver inspireret af følgende prompt som fortæller modellen at du er en studerende som skal lære C# og at du gerne vil have hjælp til at skrive kode. Du kan også fortælle modellen om din erfaring med programmering og hvilket sprog du kender i forvejen.
Prompt eksempel
Her er et eksempel på en prompt, som du kan bruge til at bede ChatGPT om hjælp til at skrive kode i C#, men husk at tilpasse den til dine egne behov (platform, sprog, erfaring, etc.):
Du skal opfatte dig selv som en erfaren C# instruktør, og mig som en studerende uden nogen tidligere erfaring med programmering. Det er vigtigt, at du forklarer grundlæggende koncepter i detaljer, men kun hvis jeg beder om det, da jeg er helt ny i programmering. Jeg bruger .NET 8 på en Windows-platform i en dansk kultur og arbejder i Visual Studio Code med C# extension installeret.
Du skal kun besvare spørgsmål, som jeg stiller, og ikke komme med lange beskrivelser eller yderligere information med mindre, jeg specifikt beder om det. Al kode skal skrives på dansk og indeholde danske kommentarer. Hold dine svar korte og præcise. Hvis du er i tvivl om, hvad jeg ønsker, skal du stille afklarende spørgsmål for at sikre, at vi er på samme side.
Med denne prompt kan du brugeChatGPT til:
- at forstå koncepter - eksempelvis
Kan du forklare mig hvad en variabel er
- at få hjælp til at skrive kode - eksempelvis
Kan du hjælpe mig med at skrive kode som erklærer en variabel der kan opbevare et heltal, og derefter tildeler værdien 42 til variablen. Herefter skal der benyttes forskellige operatorer til at ændre værdien af variablen.
- at forstå kode - eksempelvis
- at få hjælp til fejlfinding - eksempelvis:Kan du forklare mig hvad denne kode gør:
Jeg får en fejlmeddelelse, når jeg prøver at køre denne kode. Kan du hjælpe mig med at finde ud af, hvad der er galt?
Eller kort:
- hvordan kan jeg bedst skrive koden til…
- hvorfor virker min kode ikke?
- hvordan kan jeg gøre det bedre?
- hvad betyder denne fejl?
- hvordan kan jeg løse denne fejl?
- er en bedre måde at gøre det på?
- kan du forklare denne kode for mig?
Det hele handler om at lære hvordan du bedst kan kommunuikere med en sprogmodel - at skabe en prompt som giver dig det bedste svar.
Tip
Brug Shift+Enter for at indsætte et linjeskift i ChatGPT, så du kan skrive længere spørgsmål eller svar.
Brug af Copilot og andre AI produkter
Der findes en del forskellige AI produkter som extension til udviklingsmiljøer og det vil uden tvivl udvikle sig over tid. De fungerer på samme måde som ChatGPT men har viden om en konkret kodebase og er noget nemmere at benytte.
De mest kendte er
men der er mange flere.
AI og din kode
Det er vigtigt at huske at AI ikke er perfekt - den er typisk ret god men kan også levere noget dårlig kode. Derfor er det vigtigt at forstå hvad koden gør og hvorfor. AI kan hjælpe med at skrive kode hurtigere men vær kritisk og forstå hvad koden gør. Yderligere skal du huske på, at nogle produkter/abonnementer kan bruge den kode du skriver til at forbedre deres produkter. Det kan være en udfordring hvis du arbejder med følsomme data eller koder på et projekt som ikke må deles.