Giter Site home page Giter Site logo

pythonlabbet's Introduction

Pythonlabbet

English description

Pythonlabbet is a platform for teaching Python programming. Users can write code, run it in the browser and check if the result of a task/problem is correct. Other features are quizes, ask for help and a teacher part where teachers can create classes and follow the progress of their students.

It is written in Laravel, with some javascript and Skulpt is used for running Python code.

Feel free to fork this repo if you want to translate it for any other language.

Check it out at pythonlabbet.se

Om Pythonlabbet

Pythonlabbet är skrivet i Laravel med en del javascript och använder Skulpt för att tolka Pythonkod. Koden körs i användarens webbläsare vilket gör det mycket responsivt. Det finns ett par kurser med runt 10 avsnitt var. Varje avsnitt består av att antal uppgifter som användaren måste klara av för att få en grön bock. Det finns också ett antal fristående problem.

En lärardel kan användas av lärare för att skapa klasser, se elevernas kod och följa deras framsteg. Elever kan också trycka på "Begär hjälp" varpå lärare blir notifierade i webbläsaren och kan sedan kommentera elevens kod.

Se pythonlabbet.se

Om open source

Att Pythonlabbet är open source innebär att all kod som berör sajten finns tillgänglig för alla och alla kan föreslå förändringar. Det betyder inte att datan är tillgänglig för alla, den är endast tillgänglig för mig som driver pythonlabbet.se.

Bidra till Pythonlabbet

Det finns många sätt att hjälpa till att förbättra Pythonlabbet! Från enkla saker som att fixa stavfel, lite svårare som att göra nya problem och nya kurser till svåra som att förbättra själva systemet.

Ett utmärkt sätt för till exempel programmeringslärare att lära sig om hur open source fungerar!

Gör din första PR

En PR öppnas för att göra ändring i koden. Börja med att göra din första PR (pull request) genom att följa dessa steg:

  1. Skapa Github-konto om du inte redan har ett.
  2. Klicka på fork på Pythonlabbets github-sida.
  3. Lägg till ditt namn i filen I_WAS_HERE.
  4. Gör en commit med ändringar på din fork.
  5. På Github kan du nu öppna en PR via din fork.
  6. När den är godkänd av en administratör har du gjort din första ändring.

På samma sätt kan du göra om du till exempel hittat ett stavfel som behöver fixas. Eller om det finns förklarande text i ett avsnitt som kan göras bättre.

Ändra i ett innehållet

Det går bra att ändra i ett avsnitt utan att sätta upp en egen utvecklingsmiljö. Se ovan hur du skapar en PR.

Filerna ligger under /src/resources/views. Till exempel ligger första avsnittet om while-satsen i Grundkurs del 1 här: /src/resources/views/basics/while.blade.php.

Om du vill ändra i ett problem så ligger de filerna under /src/resources/views/problems.

Sätt upp en utvecklingsmiljö lokalt

Om du vill lägga upp nya problem eller kanske en helt ny kurs så är det en stor fördel att kunna testa lokalt på sin egen dator i en lokal utvecklingsmiljö.

Instruktion för att sätta upp utvecklingsmiljön

Lägg upp ett nytt problem

Det är hyfsat enkelt att lägga upp ett nytt problem och en lämplig första sak att göra.

Lägg gärna till enkla problem som övar på ett specifikt avsnitt. Se till exempel här:

While-satsen

i botten finns ett länk till ett problem där användaren kan öva mer. Det behövas på fler ställen!

Instruktion för att lägga upp ett eget problem

Lägg till din egen kurs

Ta gärna kontakt först innan du bestämmer dig för att bygga en ny kurs.

Instruktion för att lägga upp en ny kurs

Allmänna tips

I filen templates.blade.php finns kodsnuttar för diverse olika saker som kan vara användbara.

pythonlabbet's People

Contributors

emigun avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.