Programmering af chatbots og spil i Python: CODDY kursus og VMK MSU - kursus 58.800 rub. fra Coddy School of Programming for Children, træner 7 moduler (måneder)
Miscellanea / / December 04, 2023
Varighed: fra 7 moduler (måneder), fra 56 timer*.
Format: gruppetimer, offline og online (realtid).
Antal børn: fra 1 til 15.
fra 1050 rub./time i en online gruppe,
fra 1100 rub./time i en offline gruppe,
fra 1665 RUR/time individuelt online,
fra 2400 rub./time individuelt offline.
Python forbliver trygt i toppen af populære programmeringssprog. Det er ret simpelt og har en kortfattet syntaks - takket være denne funktion øges udviklingshastigheden markant. Python har et enormt bibliotek af moduler, gode kodegenbrugsmekanismer, et praktisk udviklingsmiljø og andre fordele.
I januar 2019 blev VMK MSU opkaldt efter M.V. Lomonosova og CODDY School har lanceret et fælles projekt for at studere det grundlæggende i Python for teenagere i alderen 13-16 år. Pilotkurset viste sig at være vellykket og vellykket. Nu har vi besluttet at forfine og forbedre programmet lidt og forlænge træningsperioden fra 4 til 7 måneder. Undervisningen vil vare 2 timer, og eleverne vil kunne bruge mere tid på at arbejde på projekter. Sammen med lærere vil vi skrive chatbots og også lave vores egne spil.
Fyrene vil lave projekter og forsvare dem foran juryen. Hver elev vil selvstændigt komme med og implementere ideen om deres arbejde - læreren godkender det kun. Juryen vil omfatte lærere fra CODDY-skolen, lærere fra Moscow State University Computer Science and Technology Complex og specialister fra førende it-virksomheder. Efter forsvaret vil de præsentere de unge programmører med certifikater fra Moscow State University Computer Science Committee - for fyrene vil dette være en af de første præstationer inden for at erhverve programmeringsevner.
Hoveddelen af kurset vil blive afsat til at lære Python-sproget som sådan. Vi har dog inkluderet andre emner, der er nyttige til fremtidigt arbejde:
· lektion om at skabe præsentationer;
· offentlige taleundervisning.
Vi vil også afholde flere timer om teambuilding. I disse lektioner vil børn studere følgende emner:
· grundlæggende viden om projektledelse og arbejdet med dem;
· teamwork;
· planlægning;
· evne til at vurdere risici.
Små programmører vil også deltage i et forretningsspil. Hvis barnet forsvarer arbejdet ikke alene, men sammen med sit hold, vil det modtage yderligere point.
Vores undervisere vurderer både den teoretiske forståelse af emnet og evnen til at anvende viden i praksis. Vi giver ikke karakterer – eleverne demonstrerer selv deres viden i undervisningen, når de tager prøver og når de forsvarer et projekt.
Ønsker dit barn at deltage i programmeringsverdenen i en venlig og støttende atmosfære? Kom til et fuldgyldigt kursus om Python fra CODDY og Moscow State University Computer Science Complex, hvor førende eksperter vil dele deres viden med børn!
Kursuslærer:
“Spilprogrammering i Python”, “Etisk hacker”, “Oprettelse af spil i Roblox Studio”, “Udvikling af chatbots i Python sammen med Moscow State University. M.V. Lomonosov", "Bots in Python", "Webapplikationer i Python i samarbejde med Computer Science and Technology Complex of Moscow State University. M.V. Lomonosov"
Uddannelse:
Moskva Polytekniske Universitet, retning "Informationssikkerhed"
Erfaring:
2 års erfaring som sikkerhedsingeniør hos APIBank. 1,5 år outsource webapplikationsudvikler i Python.
Interesser:
Programmering, Cybersikkerhed, White Hacking, DEV-ops engineering.
“Online privatliv er en umistelig menneskeret og et krav at opretholde
menneskelig værdighed og respekt."
Kursuslærer:
"Spilprogrammering i Python", "Etisk hacker", "Udvikling af chatbots i Python sammen med Computer Science and Computing Complex of Moscow State University. M.V. Lomonosov", "Python og maskinlæring", "Bots i Python", "Webapplikationer i Python i samarbejde med Moscow State University. M.V. Lomonosov"
Uddannelse:
Moscow State Technical University opkaldt efter. Bauman, speciale "Informationssikkerhed".
Erfaring:
Dygtige i programmeringssprogene Python, C\C++, Golang, Pascal. Har erfaring med udvikling af forskellige applikationer.
Interesser:
Han kan lide at programmere i Python til at løse en lang række problemer, og jo mere kompleks og interessant opgaven er, jo bedre. Han dyrker sport, elsker at fotografere og elsker at rejse. Jeg er overbevist om, at enhver person, der gør en indsats nok for at nå et mål, når det. Kan lide at hjælpe andre med at nå deres mål. Ung og opmærksom på mennesker, finder et fælles sprog med ethvert barn og hjælper dem med at afsløre deres bedste egenskaber under læring, hvilket gør læring behagelig og effektiv for alle.
"Programmering i det 21. århundrede er det andet alfabet, som enhver succesfuld person bør mestre, uanset hans interesseområde. Python er det perfekte første skridt til at lære programmering, med enkelhed og alsidighed, der gør læring let for børn dette sprog er ikke et obligatorisk studie, men et behageligt tidsfordriv, og de forstår, at programmering er ekstremt interessant og spændende behandle!"
Kursuslærer:
"Programmering af spil i Python", "Udvikling af chatbots i Python sammen med Computer Science and Technology Complex of Moscow State University. M.V. Lomonosov", "Harvard kursus CS50", "Web programmering", "Bots i Python", "Programmering i Python3"
Uddannelse:
MSTU im. N.E. Bauman, speciale "Radio-elektroniske systemer og komplekser".
Erfaring:
Hun har undervist børn i datalogi og eksakte videnskaber i mere end 3 år. Altid på jagt efter nye interessante projekter, som han studerer, forbedrer og hjælper sine elever med at gennemgå alle stadier af deres skabelse. Udvider konstant sine tekniske og pædagogiske færdigheder.
Interesser:
Oprettelse af elektroniske enheder, IT, økonomi, rejser, madlavning, sport.
"Viden er vejen til frihed og muligheder."
1. modul
Den første dag
Introduktion til Python og IDLE
− Introduktion til programmeringssproget Python
− Kendskab til udviklingsmiljøet
− Hvad er variabler?
− Brugerinput
Resultat af lektionen: eleven kan selvstændigt installere Python på sin computer og begynde at arbejde med sproget ved at skrive et program-spørgeskema i Python.
Anden dag
Betingede udsagn og første sløjfer
− Operationer med variable
− Betingede If-udsagn
− Mens loops og færdiggørelse af udvikling af minispil
Praktisk opgave: hjemme individuelt mini-projekt om forståelse af det studerede materiale
Resultat af lektionen: skrevet flere simple eksempelprogrammer som "Gæt tallet"
Dag tre
Fortsæt med at lære Python
− Til sløjfer
− range() funktion
− Datatyper og hvordan hukommelsen fungerer?
Resultat af lektionen: eleven har en grundlæggende forståelse af hukommelse, der er nødvendig for at vælge den korrekte datatype
Dag fire
Lister og ordbøger
− Lister og listegeneratorer
− Simpel listesortering
− Generer tilfældige ordbogsnøgler
Praktisk opgave: eleven får en teknisk opgave og programmerer lommeregneren ud fra en individuel teknisk specifikation.
Resultat af lektionen: eleverne bliver fortrolige med datastrukturer, uddyber og øver deres færdigheder i at bruge For-færdigheder.
2. modul
Den første dag
Udforskning af Python Standard Library
− Strengdatatypen diskuteres i detaljer
− Analyse af fejl i hjemmets projekt
− Hvordan man bruger dokumentationen på python.org korrekt
− Lær strengmetoder ved hjælp af dokumentation
Resultat af lektionen: eleven er klar til yderligere selvstændig udvikling af "standard" python efter behov
Anden dag
Funktioner og multi-fil programmer
− Forstå en funktion og skabe dine egne funktioner
− Hvad er et modul, og hvorfor er der behov for multi-fil programmer?
− Nogle oplysninger om dekoratører
Praktisk opgave: forbedre dine programmer med dine egne funktioner i separate filer
Resultat af lektionen: eleven forstår, hvorfor det kan være nyttigt at dele en stor opgave op i flere små, og hvordan dette kan optimere koden
Dag tre
Begyndelsen af objektorienteret programmering
− Grundlæggende begreber for OOP
− Klasser, metoder og attributter
− Klassemetoder og felter. Hvad er en konstruktør?
Resultat af lektionen: eleven lærer det grundlæggende i objektorienteret programmering, hvilket er vigtigt for yderligere forståelse af bots
Dag fire
Fortsæt med at lære OOP
− Arv i Python
− Brug af dekoratører ved at bruge eksemplet med chatbots
− Indkapsling og arvetyper
Praktisk opgave: Hver elev får til opgave at udvikle deres egen klasse, og påtage sig den forældreklasse, som læreren har oprettet.
Resultat af lektionen: den studerende studerede i detaljer de grundlæggende postulater af OOP og studerede eksempler på implementeringen af denne teknik
3. modul
Den første dag
Oprettelse af den første bot til VKontakte
− Installation og konfiguration af de nødvendige biblioteker
− Oprettelse af et bot-token og læring af udvalgte VK-biblioteksmetoder
− Udvikling af en chatbot, der reagerer på simple kommandoer
Resultat af lektionen: en fungerende bot på det sociale netværk VK, der kan reagere på simple kommandoer
Anden dag
Forbedring af bottens funktionalitet
− At gennemtænke flere kommandoer og flere svar
− Uafhængig implementering af hver elev
− At lære at sende klistermærker
Praktisk opgave: lav en lille interaktiv bot i henhold til tekniske specifikationer
Resultat af lektionen: rettet VK Api-metoderne til afsendelse af tekstbeskeder og besluttede den videre udvikling af bot-funktionaliteten
Dag tre
Generering af botanmodninger
− Vi gennemtænker en dialog iværksat af bots
− Boten husker inputdata fra brugeren
− Brug af tidligere skrevne programmer til at forbedre botens anvendelighed
Resultat af lektionen: hver elev begynder at tilføje flere og flere nyttige funktioner til deres bot
Dag fire
Beskedmodtagelsescyklus
− Udvikling af miniberegner ved hjælp af dialog med brugeren
− At gøre dialogen mere levende
− Undersøgt og anvendt undtagelseshåndteringsmekanisme
Praktisk opgave: hver elev får sin egen opgave med at udvide bottens funktionalitet
Resultat af lektionen: Vi fik en platform til at lave en bot med den nødvendige funktionalitet. Flere eksempler på samtale-bots blev vist og diskuteret.
4. modul
Den første dag
Bruger sessioner
− Kort udflugt i databasen
− Forskellige chatbot-statusser
− Brug af databasen og nulstilling af status
Resultat af lektionen: chatbotten har nu flere statusser for hver fase af arbejdet. Botten kan genstartes og genbruges
Anden dag
Interagere med mediefiler
− Detaljeret analyse af meddelelsestypen
− Selvstændigt udvalg af indhold fra VK
− Implementering af afsendelse af lydfiler og billeder
Praktisk opgave: tilføje en botanmodning for at sende en tilfældig lydoptagelse og et tilfældigt billede på kommando
Resultat af lektionen: rettet VK Api-metoderne til afsendelse af tekstbeskeder og besluttede den videre udvikling af bot-funktionaliteten
Dag tre
Fortsæt med at arbejde med mediefiler
− Opret en ny database med foretrukne mediefiler
− At lære at sortere musikforespørgsler efter genre
− Hvilke andre mediefiler kan vi sende?
Resultat af lektionen: Efter denne lektion kan botten acceptere anmodninger om musik i forskellige genrer og sende det som en lydoptagelse
Dag fire
Teambuilding session
− Vi deler gruppen op i teams, fordeler roller
− Rollefordeling, koordinering af projektideer
− Metoder til implementering af ideer, etablering af ekstracurrikulære forbindelser
Praktisk opgave: i fællesskab forberede sig på at forsvare ideen til næste lektion, lave en plan for gennemførelsen af projektet
Resultat af lektionen: gruppen er opdelt i hold af flere personer, hver gruppe begynder at udvikle en prototype til projektboten
5. modul
Den første dag
Versionsstyringssystem
− Introduktion til Git og indlæring af grundlæggende kommandoer
− Registrering og upload af projektet til Github
− Klient-server model
Resultat af lektionen: vigtige kommandoer til versionskontrolsystemet blev undersøgt
Praktisk opgave: oprette en ny filial og forpligte hele projektet der
Anden dag
Arbejder med tredjeparts biblioteker
− Lær openweathermap API at kende
− At lære at udtrække den nødvendige information fra serversvaret
− Vi er ved at skrive grundlaget for en bot, der giver vejrinformation
Praktisk opgave: lav en lille interaktiv bot i henhold til tekniske specifikationer
Resultat af lektionen: Vi begyndte at studere et tredjepartsbibliotek til at vise vejret. Vi studerede de nødvendige metoder og lærte botten at sende vejrinformation
Dag tre
Introduktion til kunstig intelligens
− Hvad er AI og introduktion til DialogFlow
− At studere API'en og forbinde DialogFlow til botten
− At lære at arbejde med DialogFlow
Resultat af lektionen: stiftede bekendtskab med begrebet kunstig intelligens og undersøgte de interessante funktioner i DialogFlow
Dag fire
DialogFlow og bot design
− Vi fortsætter med at studere og implementere DialogFlow
− Vi kombinerer al funktionalitet i én bot
− Vi tænker på designet og nye tastaturer
Praktisk opgave: gør din bot til det bedst egnede design efter at have modtaget råd fra læreren
Resultat af lektionen: Forskellige designmuligheder og tastaturer er blevet analyseret
6. modul
Den første dag
Botstøtte i samtale
− Vi arbejder videre med designet af botten
− Hvilken funktionalitet kan en bot bringe til en samtale?
− Vi undersøger den nødvendige dokumentation. Tilføjelse af en chatbot til en samtale
Praktisk opgave: komme med og beskrive trinene til at udvikle en bot i en samtale
Resultat af lektionen: yderligere funktionalitet af chatbot blev undersøgt, som vi nu kan tilføje til samtaler med brugeren.
Anden dag
Brugerinteraktion via bot
− Bearbejdning af ideer og deres implementering
− Vi ringer til botten med en replika/billede gennem en appel
− Tester dem som forberedelse til upload af botten til Heroku
Praktisk opgave: læse materialer om to metoder til at forbinde en bot med en server
Resultat af lektionen: botten svarer nu på brugernes svar både fra samtalen og i selve chatbotten
Dag tre
Installation af en bot på en server
− Uploader den opdaterede version til GitHub
− Installer og lær Heroku tæt at kende
− Implementer botten på serveren
Resultat af lektionen: Nu fungerer botten uden at køre scripts fra computeren, 24/7
Dag fire
Offentlig tale lektion
− Hvordan præsenterer du dit projekt korrekt?
− Taletræning
− Hvilke talestrukturer bør absolut undgås under præsentationer?
Praktisk opgave: en taler fra hvert hold skal forberede en tale for at præsentere deres projekt
Resultat af lektionen: arbejdet med den endelige præsentation begynder. Med hver gruppe blev projektets styrker og svagheder udarbejdet, og der blev udarbejdet abstracts til præsentation.
7. modul
Den første dag
Arbejder med dine egne projekter
− Et par ord om parsing af websider
− anmodningsmodul
− Parsing af HTML-sider ved hjælp af eksemplet med overvågning af rabatter
Praktisk opgave: øvelse i at analysere information med en given internetside af læreren
Resultat af lektionen: Vi arbejder videre med vores egne projekter. Valgfrit er funktionaliteten til at analysere rabatter fra udvalgte websteder blevet tilføjet
Anden dag
Arbejder med dine egne projekter
− Download tredjeparts mediefiler
− Arbejde med fotografier og databaser
− Vi fortsætter med at træne i hjemmesideparsing
Resultat af lektionen: Nu kan botten arbejde med filer uden for VK.
Dag tre
Installation af en bot på en server
− URL-anmodninger
− At lære at lave en anmodning på YouTube
− Behandling af anmodningen og besvarelse af brugeren
Resultat af lektionen: ud over at arbejde på deres egne projekter, lærte hver elev, hvordan man får videoer fra YouTube til en chatbot
Dag fire
Lektion om at lave præsentationer
− Lavede dias og besluttede hovedpunkterne
− Vi lærte og lavede passende og flotte dias-animationer
− Forberedte en tale og besluttede, hvilke funktioner i botten der skulle lægges særlig vægt på
Resultat af lektionen: arbejdet med projektet er afsluttet, præsentationerne er klar, bots er losset