Det kom ett mail…

Det kom ett mail till Patwic som gjorde oss jätteglada och fick oss att rodna på samma gång. Vad säger man? Tack Anna och Per!

Vi tycker att Patwic erbjuder en helt unik möjlighet för ungdomar att tidigt utveckla sin kunskap i och sitt intresse för programmering. Vi har förstått att upplägget på Patwic är mycket väl genomtänkt och att det finns en tydlig målbild och vision från grundarna sida. Men vi ser inte Patwic som “bara” en programmeringskurs. Deltagare löser verklighetsbaserade problem och får en förståelse för programmeringens roll i helheten. De får insikt om metod och angreppssätt för problemlösning i ett bredare perspektiv. De lär sig att samarbete genom att lösa uppgifter som involverar flera i gruppen trots olika åldrar och kunskapsnivå. Det blir tydligt att programmering inte är någonting som man sitter själv med på sin kammare. Överhuvudtaget känns Patwic som ”på riktigt”.

För vår son betyder Patwic jättemycket. Han har fått chansen att utvecklas på ett område som skolan inte erbjuder. Vi har märkt att hans självförtroende stärkts både genom den kunskap han erövrar men också genom patwics fantastiska bemötande av deltagarna. De visar upp ett otroligt engagemang i och vilja att inspirera, stimulera och utveckla ungdomarna där alla ses som en tillgång. Genom koppling till universitet och arbetsliv får han också förståelse för vad vidare universitetsstudier och ett framtida arbete kan innebära. Detta ökar hans motivation och förmåga till att även prestera bra i skolan.

Anna och Per, föräldrar till Alfred

 

Fem frågor till Fartun Hussein

Hej Fartun, du har just blivit rekryterad som kommunikationschef för Patwic Labs, Vad är Patwic Labs?

Patwic Labs är ett team med uppdrag att sprida programmering. Vi jobbar från Patwic’s huvudkontor och vårt aktionsområde är till att börja med syd-Sverige. Patwic Labs är en dotterorganisation till Patwic som lever inom företaget, men vi jobbar rätt så självständigt med hur vi driver vår verksamhet.

Hur kom du in i Patwic Labs?

Jag är faktiskt med och startar upp hela verksamheten. Just nu jobbar vi med att planera events, tittar på vilka projekt vi vill köra, hur vi ska jobba med kommunikation. Det är massor med saker att ta i. Vårt viktigaste jobb är att utveckla och sprida Patwic. Vi har en egen budget och vi kan starta egna projekt för att testa prylar och ny teknik.  Det bästa av det vi gör återförs till Patwic i form av kursmaterial eller nya eventidéer. Under våren ska vi organisera ett par egna event där vi bjuder in ungdomar för att testa saker tillsammans.

Vilka är med i Patwic Labs?

Än så länge är vi tre personer men vi har redan identifierat ett par personer till som vi vill bjuda in. Vi får se hur stort teamet ska bli. Just nu leds verksamheten av Ida Levison. Hon går på St Petriskolan i Malmö och pluggar andra året på Natur. Ida är the boss och den som driver på. Vi har också Alexander Simko som går första året på Natur på Katte i Lund. Alexander är technical lead. Alexander är jätteduktig och han har redan jobbat med utvecklarna i Patwic i över ett år.

Vem är du?

fh

Jag heter Fartun, är 17 år och pluggar Natur, andra året på St Petri. Jag bor i Malmö och har intresserat mig för programmering sedan åttan. Tyvärr finns ingen programmeringsundervisning i skolan så jag när jag i slutet av nian hittade Patwic så hoppade jag in på en nybörjarkurs. Nu har jag programmerat i knappt ett och ett halvt år. Det är fortfarande svårt och utmanande men när jag tittar tillbaka så inser jag att jag har lärt mig jättemycket. Som komm-ansvarig på Patwic Labs så jobbar jag med budskap och kontakt via sociala medier.  jag vill forma hur vi jobbar med jämnåriga som vill koda med oss men också med media och sponsorer.

What’s next?

Just nu jobbar vi med att få igång en helt ny kurs redan efter påsklovet. Vi kommer att hålla den i Malmö på Patwic’s huvudkontor. Vi har redan börjat med att bjuda in folk och vi räknar med att platserna kommer att fyllas rätt snabbt.

 

 

 

 

 

Veckans läxa?

Som man frågar får man svar. Jonas, en driftig Patwic elev i Malmö fick en allt för vagt specificerad uppgift i läxa.

1) Studera koden
2) Testkör programmet
3) Gör en typisk Jonas Style-modifiering. Surprise me 🙂

Framförallt punkt tre öppnar den kreatives sinne. Läxrapporten dök upp igår, tre dagar innan utsatt datum.

Jag har analyserat koden och för någon anledning gjorde jag en ordskapare.
Jag gjorde ett program som gör 3 “ord” (Ord med nummer och stora/små bokstäver).
Den gör ungefär 100/per 10:e sekund.
Och en sökare för att se hur många “ord” med  3 bokstäver det finns i filen.
Med ordsökaren kan jag göra ett stop för programmet genom att se hur många ord den har skrivit eftersom den annars kommer fortsätta att gå.

37 ytterst intrikata rader för att returnera en sträng med tre godtyckliga tecken? Ber man om en personlig touch och sedan får tillbaka en Rube Goldberg maskin i kod så har man en bra dag som Patwic mentor. Tack Jonas!

def letter():
    """
    Creates a random letter between a-z and lowercase/upppercase.
    """
    RandomChar = random.choice(string.ascii_letters)
    return RandomChar

def number():
    """
    Creates a number between 1-9.
    """
    RandomNum = random.randint(1,9)
    return RandomNum

def symbol():
      """
      Makes a random int between 1,2.
      Turns letter(), number() into a variable.
      The variables are stored in a dictionary.
      Then the random int is used to randomize what symbol should return.
      """
      RandNum = random.randint(1,2)
      a = letter()
      b = number()
      dict = {1:a, 2:a}
      return dict[RandNum]

def word():
        """
        word takes symbol()'s return and makes it into a variable.
        The amount of variables the more letters in a "word" # Note this is "words" with numbers xD.
        Then it returns the symbols added together.
        """
        a = symbol()
        b = symbol()
        c = symbol()
        return a + b + c

Nytt material och back end teknologier…

Varje sommar så tar vi ett rejält grepp på allt vårt kursmaterial och våra pedagogiska verktyg för att ta vara på lärdomar och förslag från elever och mentorer. Självklart ligger fokus på att förbättra övningsmaterial och mentorsanvisningar. Bäst blir det när övningsmodulerna flyter på av sig själva och det är uppenbart för alla elever och mentorer vad som ska göras, varför det ska göras och hur man kan bygga vidare med sin nya kunskap.

Våra verktyg får sig också en översyn. Teamet har tagit fram en ny och rejält vässad version av Patwic PyBat som vi också kommer att exponera publikt. Bra då de som är nyfikna på Patwic får en chans att testa lite av det vi håller på med i våra akademier.

Sedan, då det mesta i Patwic är organiserat som autonoma komponenter som interagerar med varandra med hjälp av meddelanden så packar vi ihop våra tjänster som micro services och bygger continuous deployment flöden kring alla våra resurser. En tung investering men vinsterna ligger att vi på det viset ökar vi skalbarheten vilket möjliggör för oss att ta emot flera elever till en lägre kostnad per elev.

Det kanske låter lite torrt men det har en praktisk sida. Saken är den att nästan varje pass i en Patwic akademi är en extremt kreativ situation där någonstans mellan 10 och 20 personer kodar ihop, lär tillsammans och av varandra. Med rätt teknisk back end så blir det mycket lättare att ta vara på de bästa idéerna och föra ut dem till andra akademier och elever som nytt material med nya övningar. Det innebär att medan vi kör en termin på ett beprövat kursmaterial så erbjuder varje pass en möjlighet att göra saker bättre genom att låta eleverna omforma innehållet. Inte illa va?

Sommarhack Malmö 2015

Den 15:e till 17:e juni så kör vi Sommarhack Malmö 2015 hos Stickybit på Gustav Adolfs torg. Teamets kärna byggs upp av killar och tjejer, lite äldre och några yngre som alla har gjort riktigt bra ifrån sig på sina Patwic Akademier under skolåret 14/15.

Vi kommer att köra flera kursmoment som handlar om avancerad Pythonprogrammering. Vi ska jobba med ny teknologi och bestämma vilka delar som ska införas i Patwic till säsongen 15/16. Under det gågna året har Patwic’s elever och mentorer nominerat ett antal förslag till nya kursmoment. Några av dem ska vi implementera och göra till nya övningar.

Vi kommer också att få besök, få en preview av Patwic 2.0 och jobba ihop med det tekniska teamet som ligger bakom Patwic plattformen. Eventet kommer att filmas av studenter från Malmö Högskola. Alla vi på Patwic längtar nervöst på att det ska dra igång.
Nu är det bara fem dagar kvar.

Elevrapport från en praktikvecka

Under vecka 16 har en åttondeklassare från Kunskapsskolan i Lund varit på praktik hos Patwic. I rapporten så står det om Stickybit, företaget som skapat Patwic. Den elake Fredrick som omnämns i rapporten är egentligen jättesnäll och en av Patwics grundare. Tack för din rapport Erik. Here we go.

Reflektion prao v.16 2015

Det har varit en lärorik prao-vecka på Stickybit. Jag har inte bara lärt mig hur det är att jobba på ett ställe som Stickybit, vilket är det huvudsakliga syftet med prao, utan jag har även lärt mig flera bra saker i Python.

Under veckan jobbade jag med ett fyra-i-rad spel där jag ville implementera en datorspelare. Jag har lyckats, men den kan förbättras 🙂

På måndagen fick jag en genomgång om list comprehensions, vilket jag då började använda i mitt program. Det är ett effektivt sätt att göra listor med i Python. Något som jag också använde är dictionarys. Fredrick har för en gångs skull inte varit elak och förklarat för mig exakt hur de fungerar och när man kan och inte kan använda de.

Jag har också lärt mig mycket om klasser, som förmodligen kommer att hjälpa mig i min eventuella karriär som programmerare. Fredrick och jag skrev om en stor del av mitt program (parprogrammering) och då skapade vi två klasser som gör koden kortare, finare och mer läsbar. Då lärde jag mig också att använda flera små funktioner istället för en enda stor funktion.

Någon kom med en idé om att man skulle kunna spara spel och spelarprofiler och då använde jag modulen “shelve”, något som jag aldrig hört talas om. Men det är enkelt att använda och det funkar bra i mitt spel.

Det enda som inte var jättebra denna vecka, enligt mig, var maten. Den innehöll alldeles för många grönsaker.

Lösa matteuppgifter med kod

Adrian, en niondeklassare som går på Kunskapsskolan i Lund satt på Läscentrum uppe på Lunds Tekniska Högskola och brottades med ett matteproblem. Med hjälp av sina programmeringskunskaper och genom att fråga en student tog han fram två intressanta lösningar. Patwic fick tag i hans labbrapport:

#                 – 
#     _         _| |_
#    |_|       |_ | _| 
#  
#    Ruta 1    Ruta 2   osv...
#

Frågan är: Hur många pinnar behövs i ruta 120?
----------------------------------------------

Med hjälp av tabell ser man snabbt att ökningen följer mönstret

        Pinnar   Ökning
________________________        
Ruta 1:    4        4
Ruta 2:   10        6
Ruta 3:   18        8
Ruta 4:   28       10

osv. Detta kan uttryckas som 2 * n + 2, där n är numret på rutan.
Pythonprogrammet nedan räknar och skriver ut antalet pinnar för varje ruta i intervallet 1 – 120.

summa = 0
max = 120
n = 1
while n <= max:
    summa += 2*n +2
    print("Fig " + str(n) + " har " + str(summa) + " pinnar.")
    n += 1

 

Frågan är då om det finns en formel som skulle kunna hjälpa oss att utföra beräkningen givet att vi känner till ökningen, utan att beräkna varje enskild ruta från 1 till 120. I boken matematisk analys i en variabel finns följande formel för summering av serier. där a = tillväxten dvs, 2 * n + 2.

Jag använde Pythontolken som miniräknare:

>>> # p = (n - m + 1) * ((a * m + a * n) / 2)
>>> n = 120
>>> # p = (120 - 1 + 1) * ((242 + 4) / 2)
>>> p = (120 - 1 + 1) * ((242 + 4) / 2)
>>> p
14760.0

Om jag istället för ruta 120 vill veta hur många pinnar det blir i ruta 5001 så ser det ut såhär:

p = (5001 - 1 + 1) * (((5001 * 2 + 2) + 4) / 2)
>>> p
25025004.0

Men det funkar lika bra med ruta 4 som jag redan har ritat på papper:

p = (4 - 1 + 1) * (((4 * 2 + 2) + 4) / 2)
>>> p
28.0

Ta daaa!

20 nya kodare

Igår var det dags för att locka nya elever till nästa kurs på Kunskapsskolan i Lund som också startar nu på en gång. Intresset var högt redan under inledande presentation och frågestund och ännu roligare blev det när vi flyttade oss till varsin dator.

Det var inte helt lätt att starta upp 20 ivriga nya kodare på en och samma gång men eleverna kämpade på och de fick hjälp av mentorer och andra elever som varit med sedan i våras. Det kommer att vara fullt hus  under hösten och det är så det ska vara.

Tack till Sebastian, Emelie, Niklas och Alexander som alla jobbade häcken av sig för att backa upp nästa generation av Patwic kodare.

…och om man lämnar sin dator i TRE minuter. Tack Åskbollen.client_—_Python_—_59×24_och_client_py_—_fredrick

Hacka Python för att rädda republiken!

Vi är mycket stolta över att berätta om vår första code story. Ett nytt Patwic koncept där man måste skriva kod för att kunna spela spelet och man måste spela spelet för att veta vilken kod man ska skriva. Premiär på STPLN under Höstlovet!

Let the games begin!

Handlingen utspelar sig 63 f Kr, i Rom, världens mest vidunderliga stad. Den antika republiken styrs av en grupp senatorer från de rika adelsfamiljerna. Berömda politiker som Caesar, Cicero och Cato drabbar samman i den romerska senaten och slåss om makten. Under ytan utvecklas en konspiration ledd av okända men mäktiga medborgare för att störta republiken och ta makten för egen del. Allt det här hände för tusentals år sedan.

För att kunna lösa det här måste du först ta några grundläggande steg i Python, ett av världens mest använda programmeringspråk. Python är ett språk som lätt att lära, och flera tusen år senare kommer man använda det på företag som Google, Dropbox och Spotify.

Vid sidan av programmering kommer vi undersöka protokoll, dvs hur medddelanden på Internet uppbyggda. Vi tittar på hur en chat-klient är skriven, och modifierar den för att skicka och ta emot meddelanden beskrivna i vårt protokoll.

Så här ska vi jobba för att lyckas med vårt projekt.

Dag 1

Data i form av Text och Siffror. Vi lär oss arbeta med variabler och funktioner i kod och interpretator.

Målet är att vi ska lära om Python statements för att lösa en serie problem med kod i Patwic’s PyBat.

Dag 2

Nu ger vi oss in i objekten och datastrukturernas värld. Vi studerar strängar och listor. Vi bekantar oss med Boolesk logik för att styra flödet i våra program.

Målet är att vi ska lära oss att styra flöden för att skapa programlogik. Vi tacklar en ny serie utmaningar i Patwic’s Pybat.

Dag 3

Nu är det dags att skriva ett helt program. Vi ska ta fram metoder för att generera information och koda upp metoder för att filtrera fram intressant innehåll. Vi kopplar in information som vårt program har nytta av.

Målet är att vi ska utveckla metoder för att lösa sammansatta problem. Vi skriver kod som hjälper oss att skapa korrekta anagram. Praktiskt då man vill fuska i alfapet och wordfeud.

Dag 4

Nu gäller det. Vi ska spela en Code Story för att Rädda republiken!

För att kunna spela spelet så måste man skriva kod. För att veta vilken kod man ska skriva så måste man spela spelet.
Code to play, play to code.

Vinnarna i spelet kommer att hyllas i tusen och tusen år!