I denna kurs använder vi programmeringsspråket Scala och olika programmeringsverktyg. Läs om hur du använder dessa programmeringsverktyg i Appendix i kompendiet. Verktygen finns förinstallerade på LTH:s Linuxdatorer i E-huset. Instruktioner om hur du installerar dessa verktyg på din egen dator finns nedan.
Tips om du ska köpa egen dator finns längre ned under rubriken “Hårdvara”.
På LTH:s Linuxdatorer i E-huset finns alla dessa verktyg förinstallerade:
code . (Tillägget Scala Metals är
förinstallerat.)scala eller
scala-cli repl .scalac, scala compile
eller scala-cli compile .kojosbtjavacjavaideaMer info om skolans datorer här och hur du använder Linux och hur du använder bash.
Du behöver installera detta på din egen dator: OpenJDK, Scala och VS Code med tillägget Scala (Metals). Följ instruktionerna noga nedan under rubriken för ditt operativsystem om hur du installerar verktygen på din egen dator. Du kan läsa mer om hur du använder dessa verktyg i Appendix i kompendiet.
Många av de programmeringsverktyg vi använder körs via ett terminalfönster. Hur du får igång terminalen beskrivs nedan.
Scala med tillhörande verktyg installeras med hjälp av det officiella
installationsverktyget Coursier enligt nedan. Du får då bl.a. följande
terminalverktyg som du kan läsa om i kompendiet: scala,
scalac, scala-cli, scaladoc,
sbt.
Om du kör MacOS eller Linux/Ubuntu/WSL så kan du gärna i stället använda den smidiga pakethanteraren SDKMAN, läs mer nedan under rubriken “SDKMAN” längre ned.
Om redan har en gammal installation av Scala-verktyg
så avinstallera först med detta kommando:
cs uninstall --all och starta om din dator
efter det, innan du sedan följer efterföljande instruktioner för ditt
operativsystem.
Om du kör en gammal version av SDKMAN rekommenderas att köra
sdk selfupdate force och sedan starta om innan du
installerar nya versioner enligt instruktioner under rubriken “SDKMAN”
längre ned.
Innan du installerar är det bra om du först tar reda på vilken typ av dator du har, x86 eller ARM. Du hittar information i Settings -> System -> About. Fråga någon om hjälp om du inte hittar eller läs här.
Därefter är det bra om du i Windows-inställningarna slår på att visa filtyp och dolda filer och sökväg (tryck på Windows-knappen och leta efter “Visa filtyp” eller “Show file extension”). Fråga någon om hjälp om du inte hittar.
För terminal i Windows rekommenderas Microsoft-appen “Windows Terminal”, se vidare här: https://docs.microsoft.com/en-us/windows/terminal/get-started. I en modern installation av Windows är Windows Terminal redan standard.
Det räcker fint med Windows Terminal för att köra alla kursens verktyg i cmd eller powershell, men det finns också andra sätt att köra en terminal i Windows som beskrivs i punktlistan nedan.
Rekommenderas om du föredrar Windows och även vill ha en Unix-terminal: Använd Git Bash som är ett terminalprogram som följer med när du installerar Git (se nedan). Den kör inte ett fullständigt Linux-system (så som WSL gör se nedan), men erbjuder grundläggande Linux-kommandon och fungerar bra för denna kurs.
(Rekommenderas om du vill ha riktigt Linux men
fortfarande Windows) Om du har en uppdaterad version av
Windows 10 eller 11 så kan du (efter lite meckande, ev. med lite hjälp
av en van Windowsanvändare) köra WSL2, som ger dig
tillgång till Linux/Ubuntu direkt under Windows i ett separat filsystem.
För att installera WSL behöver du starta PowerShell med
admin-rättigheter så här: tryck på windows-knappen, skriv
powershell och högerklicka och välj run as administrator.
Följ vidare instruktioner här och använd standardinstallationen som ger
dig senaste LTS-versionen (Long Term Support) av Ubuntu: https://docs.microsoft.com/en-us/windows/wsl/install-win10
Notera: När du installerat WSL2 så har du ett riktigt Linux-operativsystem på datorn. Följ nu instruktionerna under Linux-rubrikerna nedan istället för Windows, för att installera kursens programmeringsverktyg under WSL/Ubuntu. I nuvarande versionen av WSL2 ska grafiska applikationer fungera utan vidare åtgärder. Om du mot förmodan skulle ha problem med grafiska applikationer (visar sig senare i kursen, men du kan testa redan nu om du känner dig hugad), så se dessa instruktioner: https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps
WSL kan krångla så om du inte får det att funka så installera alla kursens verkyg direkt under Windows så du kommer igång och be någon om hjälp vid senare tillfälle.
Om du vill få ljud att fungera då du kör program inifrån WSL, så
kan du ta hjälp av guiden sound_in_wsl2.md https://github.com/lunduniversity/introprog/blob/master/web/tools/sound_in_wsl2.md
(Rekommenderas om du är okej med att helt radera Windows) Du kan helt ersätta Windows med Ubuntu. Funkar fint även på äldre och klenare datorer som t.ex. inte klarar av VirtualBox eller Dual Boot. Fråga någon medstudent som vet hur det går till om råd och hjälp om du vill installera Ubuntu “på riktigt”.
(Rekommenderas kanske, om du vill ha dubbla system) Det finns även andra sätt att installera Linux/Ubuntu, t.ex. med VirtualBox (kräver snabb dator och rejät med RAM) eller Dual Boot (kräver att du har minst 25GB extra utrymme på disken, gärna mer, och att du krymper din Windows-partition.). Observera: Att installera Linux via Dual Boot är en permanent ändring på datorn, och kan inte alltid återställas. Be om hjälp av någon med erfarenhet av Dual Boot om du är osäker.
Du kanske redan har JDK installerat. Kontrollera detta genom att i ett terminalfönster skriva (observera avslutande c:et):
javac --version
Om utskriften säger att javac saknas eller anger en
annan version än version 21, installera då OpenJDK enl. nedan.
Installera OpenJDK för ditt system härifrån: https://adoptium.net/
javac --version ger rätt version. Om något krånglar: fråga
någon som installerat JDK förr om hjälp.cs-x86_64-pc-win32.zip
och spara den på valfritt ställe och dubbel-klicka på den när
nedladdningen är klar så den packas upp och dubbel-klicka för att köra
installationsprogrammet. Följ instruktionerna och svara jakande. Om du
får varningar så kör ändå genom att klicka “Mer information” eller
liknande.Om du kör Powershell klistra in dessa kommandon ett i taget:
Start-BitsTransfer -Source https://github.com/coursier/launchers/raw/master/coursier -Destination coursier
Start-BitsTransfer -Source https://github.com/coursier/launchers/raw/master/coursier.bat -Destination coursier.bat
coursier setupOm du kör Cmd klistra in dessa kommandon ett i taget:
bitsadmin /transfer downloadCoursierCli https://github.com/coursier/launchers/raw/master/coursier "%cd%\coursier"
bitsadmin /transfer downloadCoursierBat https://github.com/coursier/launchers/raw/master/coursier.bat "%cd%\coursier.bat"
coursier setupscala --version i ett nytt
terminalfönster och om allt gått bra så ska du få en utskrift som börjar
med “Scala code runner version 3”. Om du får
[warning] MainGenericRunner skriv
cs install scala:3.7.2 och sedan ska
scala --version fungera utan varning.git --version för att kontrollera att Git är
korrekt installerat.Innan du installerar är det bra om du först tar reda på vilken
typ av dator du har. Öppna ett terminalfönster (se nedan) och skriv
uname -m och se om du har x86 eller
ARM och notera detta (det påverkar hur du ska installera
grejer i efterföljande steg).
Därefter är det bra om du slår på att visa filtyp och dolda filer. Öppna ett terminalfönster (se nedan) och klistra in dessa kommandon:
defaults write NSGlobalDomain AppleShowAllExtensions -bool true && killall Finder
defaults write com.apple.finder AppleShowAllFiles YES && killall Finder
Följ instruktioner här: https://www.howtogeek.com/682770/how-to-open-the-terminal-on-a-mac/
I senare versioner av macOS är zsh standardkommandotolk istället för bash, men det mesta fungerar lika. Det går alltså bra att ha det som det är men vill du byta till bash så följ instruktionerna nedan under rubriken Alternativ terminal på MacOS (Valfri) nedan.
Homebrew är det enklaste sättet att installera program och verktyg på macOS. Öppna ett terminalfönster och kör kommando:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"När installationen är klar, följ de instruktioner som skrivs ut för att lägga till Homebrew i din PATH.
Kontrollera att Homebrew fungerar genom att köra kommando:
brew --versionMacOS kommer med en inbyggd terminal, men många föredrar att använda
iTerm2 som är mer flexibel. * Installera iTerm2 (valfritt) med:
bash brew install --cask iterm2 * Installera Bash Apple
använder zsh som standard, men våra instruktioner förutsätter bash.
Installera en ny version av bash via Homebrew:
bash brew install bash * Byt sedan standardskal till
bash: bash chsh -s /opt/homebrew/bin/bash * Stäng
terminalen och öppna en ny för att ändringarna ska träda i kraft.
Förslagsvis kan du använda iTerm2 istället för vanliga terminalen.
Du kanske redan har JDK installerat. Kontrollera detta genom att i ett terminalfönster skriva (observera avslutande c:et):
javac --version
Om utskriften säger att javac saknas eller anger en
annan version än version 21, installera då OpenJDK enl. nedan.
Installera OpenJDK med hjälp av Homebrew genom kommando:
bash brew install openjdk@21
Lägg till JDK i din miljö (så att javac hittas i PATH och
JAVA_HOME sätts):
bash echo 'export PATH="/opt/homebrew/opt/openjdk@21/bin:$PATH"' >> ~/.bash_profile echo 'export JAVA_HOME=$(/usr/libexec/java_home -v 21)' >> ~/.bash_profile source ~/.bash_profile
Kontrollera att installationen fungerat:
bash javac --version #### Installera Scala med
tillhörande verktyg i MacOS
Installera först OpenJDK enligt instruktioner ovan om du inte redan gjort det.
brew install scalabrew install Virtuslab/scala-cli/scala-clibash scala --versionInstallera VS Code med tillägget “Scala (Metals)” enligt instruktioner längre ner under rubriken “EDITOR”
Installera Kojo enligt instruktioner längre ner under rubriken “KOJO”
brew install git
Innan du installerar är det bra om du först tar reda på vilken
typ av dator du har. Öppna ett terminalfönster (se nedan) och skriv
uname -m och se om du har x86 eller
ARM och notera detta (det påverkar hur du ska installera
grejer i efterföljande steg).
Därefter är det bra om du slår på att visa dolda filer och filtyp. Öppna ett terminalfönster (se nedan) och klistra in detta kommando och tryck enter:
gsettings set org.gtk.gtk4.Settings.FileChooser show-hidden true
gsettings set org.gtk.gtk4.Settings.FileChooser show-type-column true
Du kanske redan har JDK installerat. Kontrollera detta genom att i ett terminalfönster skriva (observera avslutande c:et):
javac --version
Om utskriften säger att javac saknas eller anger en
annan version än version 21, installera då OpenJDK enl. nedan.
Om du inte redan har OpenJDK version 21 och du inte hellre använder SDKMAN (se nedan), så öppna terminalfönster och installera med:
sudo apt update && sudo apt full-upgrade -y
sudo apt install openjdk-21-jdk openjdk-21-doc openjdk-21-source
Installera först OpenJDK enligt instruktioner ovan om du inte redan gjort det.
Testa om nedladdningsprogrammet curl finns på ditt
system genom att skriva curl --version i terminalen. Om
curl saknas så installera detta i terminalen genom att
skriva: sudo apt install curl
Installera Scala-verktygen med detta långa terminalkommando på en
och samma rad som slutar med ./cs setup:
Om du har en x86-dator (vanligast):
curl -fL https://github.com/coursier/coursier/releases/latest/download/cs-x86_64-pc-linux.gz | gzip -d > cs && chmod +x cs && ./cs setupOm din dator har en processor med ARM64-arkitektur (inte så vanligt) använd i stället följande kommando:
curl -fL https://github.com/VirtusLab/coursier-m1/releases/latest/download/cs-aarch64-pc-linux.gz | gzip -d > cs && chmod +x cs && ./cs setupBåda kommandon återfinns även under “Linux” på https://www.scala-lang.org/download/.
Svara med stort Y för ja på eventuell fråga om att addera coursier till din path.
Starta om din dator.
Testa att skriva scala --version i ett nytt
terminalfönster och om allt gått bra så ska du få en utskrift som börjar
med “Scala code runner version 3”. Om du får
[warning] MainGenericRunner skriv
cs install scala:3.7.2 och sedan ska
scala --version fungera utan varning.
Installera VS Code med tillägget “Scala (Metals)” enligt instruktioner längre ner under rubriken “EDITOR”
Installera Kojo enligt instruktioner längre ner under rubriken “KOJO”
https://sdkman.io/ är ett populärt installationsverktyg för att enkelt installera och hantera olika versioner av allehanda programmeringsverktyg för Ubuntu/Linux/WSL. För dig som hellre vill använda SDKMAN i stället så går det utmärkt att installera Scala-verktugen ovan med hjälp av nedan kommando ett i taget i tur och ornding (om du har installerat SDKMAN) och svara med stort Y på eventuella frågor om att göra nya versionen default:
sdk update
sdk install java 21.0.4-tem
sdk install scala
sdk install scalacli
sdk install sbt
Tips: Det är viktigt att du noterar HUR du har installerat olika grejer på din dator, speciellt om du blandar olika metoder. Om du behöver uppdatera eller avinstallera så blir det lätt förvirring om du glömt hur du installerat och försöker uppdatera/avinstallera med annan metod än du installerat etc.
brew install --cask visual-studio-code
om du installerat Homebrew. OBS: Ifall du kör WSL, så ska du alltså
fortfarande installera VS Code direkt under Windows,
inte inuti WSL.Scala Metals, markera tillägget Scala (Metals) och
klicka Install.code --install-extension scalameta.metals --forcecode --install-extension ms-vscode-remote.remote-wsl --forcemkdir mittprojekt cd mittprojekt scala setup-ide . code .
Första gången ett projekt öppnas i VS Code så tar det ett tag innan
Metals har byggt allt från grunden. Du kan följa vad som händer i
meddelandefältet längst ned; allt är klart när det står “Index complete”
efter en raket-ikon..bsp .bloop .vscode .metals .scala-build target och
därefter köra scala setup-ide . innan du startar VS Code
igen i aktuell katalog med code .Läs mer om vad du kan göra med en VS Code och andra verktyg i appendix i kompendiet
Vi använder Kojo på första labben. Kojo är utvecklat speciellt för att hjälpa elever i grundskola och gymnasium att lära sig programmera.
Det finns olika sätt att köra Kojo:
Använd grafikbiblioteket i kojo (rekommenderas
för vuxna kodare) som fungerar med Scala 3. Ladda ner filen https://fileadmin.cs.lth.se/kojo.scala
och kör enl. instruktioner i kompendiet, t.ex. med
scala repl .
Kör Kojo som Desktopapp (rekommenderas om du har barn i närheten): en nybörjarvänlig utvecklingsmiljö med lättanvänd editor med unga kodare som målgrupp. Använder gamla Scala 2 som kräver klammerparenteser (valfria i Scala 3). Följ installationsinstruktioner för ditt system här: http://www.kogics.net/kojo-download
Kör Kojo i din webbläsare (rekommenderas bara i nödfall om din dator ej har Scala installerat). Webbversionen har endast en mycket begränsad uppsättning av de kommandon som finns i Kojo Desktop och gamla Scala 2. Skriv och kör din Scala-2-kod direkt här: http://kojo.lu.se/
Kojo används på Vattenhallen Science Center. LTH-studenter med programmeringskunskaper och intresse för pedagogik är välkomna att ansöka om att bli programmeringshandledare i Vattenhallen här: https://www.vattenhallen.lu.se/om-oss/kontakt/vh-student/student-intresseanmalan/
Vid undervisning på campus rekommenderas LTH:s Linux-datorer. Ta gärna med ett eget tangentbord och en egen mus och koppla in i skolans datorer så minskar du smittrisken.
När du studerar hemma behöver du en bra arbetsplats och en dator med Linux (t.ex. Ubuntu), Windows eller MacOS. Det är bra att ha en ergonomisk kontorsstol vid ett bekvämt skrivbord, ett flyttbart tangentbord, en separat mus och en höj-och-sänkbar skärm.
När du ska programmera är det bra med en dator med minst 8GB RAM och minst 1.5GHz CPU.
Begagnade Lenovo är prisvärda och de brukar vara kontrollerade innan försäljning med garanti från sajter som specialiserar sig på begagnat, tex Inrego Prisvärda val är Thinkpad T490 eller Thinkpad T14 som har matt skärm utan reflexer och bra tangentbord och kostar från ca 3500kr - vill du lägga lite mer så uppgradera till 16GB RAM (+750kr) och SSD 480GB (+1000 kr).
Både Lenovo och Dell har studentrabatt och säljer både stationära och bärbara datorer. Lokala datorbutiker finns här: Inet i Malmö, Webhallen i Malmö, Compliq i Lund
Om du letar efter en bra stationär dator som är fläktlös och därför helt tyst rekommenderas AtLast Solutions som även erbjuder Ubuntu förinstallerat utan extra kostnad.
Vid distansundervisning är det bra med headset och webbkamera. Det går bra att koppla ditt eget headset till skolans datorer, t.ex. om du behöver prata med en handledare som jobbar hemifrån. Enklast är att använda ett USB-headset då kontakten sitter på framsidan. Om du har ett headset med 4-polig mobil-kontakt medan din dator har två 3-poliga kontakter för mic och hörlurar behövs en sådan här adapter:

Kan t.ex. köpas här: NetOnNet, Elgiganten, Webhallen, Kjell, Inet