CS50 Harvard University – Programmering i Python.

Introduktion

Velkommen til mit blogindlæg! Her vil jeg dele min oplevelse med Harvard University’s CS50P kursus, som er en grundig introduktion til datalogi og programmering. Dette er ikke blot en introduktion til et programmeringssprog, men en introduktion til den intellektuelle virksomhed i datalogi og kunsten at programmere.

Dette kursus, undervist af David J. Malan, giver en bred og robust forståelse af datalogi og programmering. Det lærer os at tænke algoritmisk og løse programmeringsproblemer effektivt. Koncepter som abstraktion, algoritmer, datastrukturer, indkapsling, ressourcestyring, sikkerhed, softwareteknik og webudvikling er blot nogle af de nøgleområder, vi dykker ned i. Vi bliver bekendt med flere programmeringssprog, herunder C, Python, SQL og JavaScript, samt CSS og HTML.

En af de mest interessante aspekter af CS50P er, at det appellerer til en bred vifte af studerende – både majors og non-majors, med eller uden tidligere programmeringserfaring. Vi er en levende community af ligesindede elever på forskellige niveauer, alle engagerede i læring og udvikling.

Kurset kræver, at studerende løser et antal programmeringsopgaver og udvikler et slutprojekt. For mig, var dette slutprojekt ikke blot en test af de færdigheder, jeg havde opbygget i løbet af kurset, men også en chance for at dykke dybere ned i et bestemt område og anvende mine nye færdigheder på praktiske problemer.

I dette indlæg vil jeg dykke ned i de detaljer omkring mit slutprojekt, forklare dets formål og hvordan jeg implementerede det. Jeg vil også dele, hvad jeg har lært gennem denne oplevelse, og hvordan det har påvirket mit syn på programmering og datalogi. Så lad os komme i gang!

Projektets Oversigt

Mit slutprojekt for CS50P kurset ved Harvard University er et program ved navn iShop. iShop er udviklet til at løse et dagligdags problem, som jeg og mange andre ofte støder på – at lave en indkøbsliste og huske at tage den med sig i butikken.

Hvem har ikke stået i situationen, hvor man enten ikke kan finde en pen eller papir til at lave en indkøbsliste, eller hvor man har glemt indkøbslisten hjemme? Med iShop er disse problemer fortid.

iShop er et program, du kan tale til. Det skaber en indkøbsliste baseret på dine instruktioner og sender den til din telefon via e-mail, så du altid har den ved hånden.

De Tekniske Detaljer

På det tekniske plan er iShop en Python-applikation, der gør brug af forskellige teknologier og biblioteker. Det benytter et GUI (Graphical User Interface) til at vise indkøbslisten og give brugeren forskellige kontrolmuligheder. Her har vi mulighed for at tilføje elementer til indkøbslisten, sende indkøbslisten via e-mail, slette indkøbslisten, og stoppe programmet.

Programmet kontrollerer først, om der allerede er en indkøbsliste. Hvis der er det, bliver indkøbslisten indlæst i tekstfeltet på skærmen.

Når brugeren taler til programmet, omdannes denne tale til tekst ved hjælp af talegenkendelse. Denne tekst bliver så tilføjet til indkøbslisten. Når indkøbslisten er sendt, opdateres brugeren med en besked om, at indkøbslisten er blevet sendt. Ligeledes, når indkøbslisten slettes, får brugeren en besked om, at listen er blevet slettet.

Ved afslutning af programmet lukker GUI vinduet, og en farvel besked udtales.

Programmet er afhængigt af nogle filer, herunder “project.py”, “requirements.txt”, “password.py” og “ishop.png”. Disse filer er essentielle for programmets funktion.

I udviklingen af iShop har jeg fundet stor hjælp i følgende kilder, som har hjulpet mig med at forstå Tkinter og tekstfunktioner samt e-mail funktionen i Python:

  1. https://www.tutorialspoint.com/printing-a-list-to-a-tkinter-text-widget
  2. https://mailtrap.io/blog/python-send-email/

Du kan finde mere om mit projekt på mit GitHub-profil, eller se en videodemo af programmet.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Please reload

Please Wait