Åpne prosjekter

Dette er en oversikt over ressurser jeg har laget som ligger åpent tilgjengelig på nett.

Mye er relatert til Kodeklubben Oslo. Kodeklubben Oslo er et gratis tilbud for barn og unge som vil lære programmering. Jeg har planlagt, gjennomført og veiledet kurs, samt skrevet oppgaver.

Hotload: Programmer Python live

Hotload (kildekode på Github, annonesering på ClojureVerse) lar deg utvikle Python fra inne i programmet ditt, heller enn utenifra. Utviklingsflyten er inspirert av REPL-dreven utvikling i Clojure.

Hotload handler om responstid. Jeg ønsker å drastisk senke innsatsen som kreves for se resultatet av ny kjørt kode. For de små prosjektene jeg har kjørt mot, er vi nå på ett tastatrykk (ctrl+s) og noen millisekunder for å laste inn ny kode. Hvorfor? Fordi da er alt det andre lettere og mer gøy.

Beregningsmekanikk

Masteroppgaven min handlet om hvordan materialer oppfører seg på liten skala, titulert “Finite element implementation of lower-order strain gradient plasticity in Abaqus”.

Når vi regner på hvordan konstruksjoner oppfører seg ved påføring av krefter, kan vi velge oss enkle modeller eller kompliserte modeller. Kriterier som påvirker valget er effekten av brudd, og hvor komplisert konstruksjonen i seg selv er. Enkle modeller er lette å forstå, kompliserte modeller har potensial til å predikere oppførsel mer nøyaktig.

  1. Newtons lover sier at en belastning må mobilisere en like stor reaksjonskraft.
  2. Elastisk teori gir at dersom vi dobler kraften, vil vi doble deformasjonen. Hvor stor deformasjonen er avhenger av stivheten i materialet.
  3. Plastisk teori tar hensyn til at det kan finnes en grense for hvor mye krefter en konstruksjon kan tåle. Dobler du kraften du bruker til å dytte på et tre, kan det hende at forskyvningen mer enn dobler seg.
  4. Gradientplastisk teori ser i tillegg på skalaeffekter. Dersom du påfører en svært høy last på et svært lite punkt, sier gradientplastisk teori at materialet skal oppføre seg stivere enn predikert av plastisk teori.

I masteroppgaven min utforsker jeg hvordan vi kan lage modeller som tar hensyn til gradientplastisk teori. Teksten er tilgjengelig på engelsk.

Elm

Jeg tok initiativ til Kodeklubb i Elm i 2017. Erfaringer og anbefaling til bruk er samlet i en kursplan. Oppgavene dekker 10 kurskvelder, der hver kurskveld varer i halvannen time.

Typisk materiell for å lære seg Elm på nett er for personer som allerede er utviklere. Opplegget på Elm-kurset måtte være mer tilgjengelig; tidligere erfaring med programmering var Scratch, og kanskje litt Python.

Kurs i Python-programmering

Introduksjonskurs i Python med Alexander Perry for lærere og kolleger. Materellet er åpent tilgjengelig.

ComputerCraft

ComputerCraft lar deg programmere dine egne objekter i Minecraft. Du får nye blokker du kan bruke, deriblant nettopp en Computer.

Jeg liker særlig tilnærmingen: Datamaskinen i ComputerCraft har sitt eget operativsystem. Operativsystemet kan du se kildekoden til. Du skriver programmer som kjører på operativsystemet, på samme måte som programmering til vanlig. Lærer man hvordan ComputerCraft henger sammen, kan man altså bruke dette direkte til å forstå datamaskiner!

Jeg har laget to oppgaver til kurs:


Har du en kommentar? Bare , og bruk pilen øverst til høyre til å lage en generell kommentar. For å kommentere på en spesifikk frase, marker teksten, og trykk "Annotate". Mer informasjon om kommentarsystemet er tilgjengelig på engelsk i artikkelen Commentary with Hypothesis.