Der Kurs stelle eine Einführung ins „mathematische Programmieren“ dar. Die Themen kommen querbeet aus der Mathematik (etwas Zahlentheorie, Markovketten, Simulationsrechnungen, kombinatorische Optimierung/Spiele, ...), wobei das praktische Programmieren im Vordergrund steht. In diesem Kurs wird die funktionale Programmiersprache Julia und -- falls Ihrerseits daran Interesse besteht - Rust verwendet.
Handwerkliche Grundlagen (Versionsverwaltung git, Erzeugen von Grafiken und Animationen, Testen von Software, Debugging, Verwendung von Bibliotheken) werden im Kurs vermittelt.
4 SWS Vorlesung + 2 SWS Übungen.
Beispiel (diskretes logistisches Wachstum):
using Plots
plotlyjs()
function runme()
nx = 800
ny = 600
B = zeros(ny,nx)
R = range(0.5,stop=4, length=4*nx)
for r = R
i = Int64(floor((r-minimum(R))*(nx-1)/(maximum(R)-minimum(R))))+1
x = 0.5
for k = 1:5000
x = x*r*(1-x)
end
for k = 1:100000
x = x*r*(1-x)
j = Int64(floor(x*(ny-1)))+1
B[j,i] += 1.0
end
end
D = log10.(1 .+ B)
heatmap(D)
end