Skip to content

Commit 4382d44

Browse files
committed
Working on slides. Small touch-ups on labs.
1 parent d3f0b5c commit 4382d44

File tree

7 files changed

+156
-52
lines changed

7 files changed

+156
-52
lines changed

courseplan/courseplan.tex

+7-7
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ \section*{Allmänt}
2929
I kursen Datorer och datoranvändning får du en översikt över datatekniska begrepp och praktiska färdigheter som du kommer att ha användning av under dina studier. Kursen läses av studenter från C- och D-programmen. För C-studenter ingår den som en del av kursen EITA65.
3030

3131
\item[Kursansvarig]
32-
Mattias Nordahl, rum E2184, E-huset 2:a våningen.\\
32+
Mattias Nordahl, rum E:2184, E-huset 2:a våningen.\\
3333
E-post: \url{[email protected]}
3434

3535
\item[Administratör]
36-
Ulrika Templing, rum E2179, E-huset 2:a våningen. Expeditionstid 9.30--11.30. Telefon 046--222 80 40, e-post \url{[email protected]}
36+
Ulrika Templing, rum E:2179, E-huset 2:a våningen. Expeditionstid 9.30--11.30. Telefon 046--222 80 40, e-post \url{[email protected]}
3737

3838
\item[Hemsida]
39-
\url{http://cs.lth.se/dod/}. Du bör titta på hemsidan regelbundet! Kort kursinformation finns också i Canvas, men hemsidan är den primära platsen för kursinformation.
39+
\url{http://cs.lth.se/dod/}. Du bör titta på hemsidan regelbundet. Kort kursinformation finns också i Canvas, men hemsidan är den primära platsen för kursinformation.
4040

4141
\item[Kursens omfattning]
4242
\begin{tabular}[t]{@{}ll}
@@ -64,8 +64,8 @@ \section*{Undervisning}
6464
\begin{tabular}{lll}
6565
\emph{Dag} & \emph{Ämne} & \emph{Anmärkning} \\ \midrule
6666
Tisdag 3/9 & Introduktion, Linux/Unix & Förberedelse, lab 1 \\
67-
Tisdag 10/9 & \LaTeX & Förberedelse, lab 2 \\
68-
Tisdag 17/9 & Versionshantering, Git/GitHub & Förberedelse, lab 3 \\
67+
Tisdag 10/9 & Versionshantering, Git/GitHub & Förberedelse, lab 2 \\
68+
Tisdag 17/9 & \LaTeX & Förberedelse, lab 3 \\
6969
Tisdag 24/9 & Maskinkod & Förberedelse, lab 4 \\
7070
\end{tabular}
7171
}
@@ -81,8 +81,8 @@ \section*{Undervisning}
8181
\begin{tabular}{cl}
8282
\emph{Laboration} & \emph{Ämne} \\ \midrule
8383
D1 & Linux/Unix \\
84-
D2 & \LaTeX \\
85-
D3 & Git/GitHub \\
84+
D2 & Git/GitHub \\
85+
D3 & \LaTeX \\
8686
D4 & Maskinkod \\
8787
\end{tabular}
8888
}

lab-instructions/dodlabs.tex

+12-16
Original file line numberDiff line numberDiff line change
@@ -170,25 +170,25 @@ \subsection{Lab 1 --- Linux/Unix}
170170
\item \texttt{Vad menas med att "gå till /usr/local/cs/dod/\dots"?}\\
171171
Det är en absolut sökväg som finns tillgänglig när du är inloggad på skolans datorer. Att ``gå~till'' en sökväg innebär att ändra sitt \texttt{working directory}. (ILL~1.7)
172172
\item \texttt{Om jag använder min egen laptop, hur kommer jag åt \code{/usr/local/cs/dod/\dots}}?\\
173-
Du kan använda \code{ssh} för att logga in och arbeta på skoldatorerna (ILL~3.7), eller kopiera filer från skoldatorerna till din egen med \code{scp} eller \code{sftp} (ILL~4.2).
173+
Du kan använda \code{ssh} för att logga in och arbeta på skoldatorerna (ILL~3.7), eller kopiera filer från skoldatorerna till din egen med \code{scp} eller \code{sftp} (ILL~4.2).
174174
\end{itemize}
175175

176-
\subsection{Lab 2 --- \LaTeX}
176+
\subsection{Lab 2 --- Versionshantering med Git}
177+
\begin{itemize}
178+
\item \texttt{Hur stänger jag vim!?}\\
179+
Om du råkat öppna texteditorn \code{vim} (t.ex. genom att göra en git commit utan att ha ställt in en annan editor) kan du stänga den genom att trycka \code{:q} (kolon följt av \code{q}), sedan \code{Retur}. Om du redan provat annat kan du ha kommit in i något annat av Vim's editeringslägen. Tryck då först \code{Esc} för att gå tillbaka till det ``normala läget''.
180+
\item \texttt{Hur arbetar man med texteditorn nano?} \\
181+
nano är en terminalbaserat texteditor. Den körs alltså direkt i terminalen utan att öppna några nya fönster, vilket kan vara fördelaktigt ibland. I editorn kan du flytta markören med piltangenterna och skriva text som förväntat. I botten av terminalen visas också operationer som kan utföras och vilken knappkombination som ska tryckas. Där används tecknet \texttt{\^{}} (den lilla ``hatten'' vid sidan om \commandchar{return}) för att betyda Ctrl-knappen. Använd t.ex. \commandchar{control-o} för att spara (Write Out), \commandchar{control-x} för att avsluta eller \commandchar{control-g} för mer hjälp.
182+
\end{itemize}
183+
184+
\subsection{Lab 3 --- \LaTeX}
177185

178186
\begin{itemize}
179187
\item \texttt{Hur skriver jag specialtecken i \LaTeX{}?}\\
180188
Det finns flera tecken som har särskild betydelse i \LaTeX{}. För att faktiskt skriva dessa tecken i texten, utan att de ska tolkas som specialtecken, behöver man ``bryta~ut'' dem (eng. \emph{escape}). Det görs med \emph{escape}-tecknet \texttt{\textbackslash} (bakåt snedstreck eller eng. backslash). Exempel på specialtecken är \texttt{\textbackslash\%} för procenttecken och \texttt{\textbackslash\$} för dollartecken. \texttt{\textbackslash}-tecknet är i sig också ett specialtecken och kan skrivas med kommandot \texttt{\textbackslash{textbackslash}}, eller \texttt{\textbackslash{backslash}} inom matematikläget.
181189

182190
\end{itemize}
183191

184-
\subsection{Lab 3 --- Versionshantering med Git}
185-
\begin{itemize}
186-
\item \texttt{Hur stänger jag vim!?}\\
187-
Om du råkat öppna texteditorn \code{vim} (t.ex. genom att göra en git commit utan att ha ställt in en annan editor) kan du stänga den genom att trycka \code{:q} (kolon följt av \code{q}), sedan \code{Retur}. Om du redan provat annat kan du ha kommit in i något annat av Vim's editeringslägen. Tryck då först \code{Esc} för att gå tillbaka till det ``normala läget''.
188-
\item \texttt{Hur arbetar man med texteditorn nano?} \\
189-
nano är en terminalbaserat texteditor. Den körs alltså direkt i terminalen utan att öppna några nya fönster, vilket kan vara fördelaktigt ibland. I editorn kan du flytta markören med piltangenterna och skriva text som förväntat. I botten av terminalen visas också operationer som kan utföras och vilken knappkombination som ska tryckas. Där används tecknet \texttt{\^{}} (den lilla ``hatten'' vid sidan om \commandchar{return}) för att betyda Ctrl-knappen. Använd t.ex. \commandchar{control-o} för att spara (Write Out), \commandchar{control-x} för att avsluta eller \commandchar{control-g} för mer hjälp.
190-
\end{itemize}
191-
192192
\subsection{Lab 4 --- Maskinkod}
193193
\begin{itemize}
194194
\item \emph{Inga frågor ännu.}
@@ -202,19 +202,15 @@ \subsection{Lab 4 --- Maskinkod}
202202
\newpage
203203
\include{./modules/unix/unix_terminal}
204204

205-
206-
\newpage
207-
\include{./modules/latex/latex}
208-
209-
210205
\newpage
211206
\include{./modules/git/git}
212207

208+
\newpage
209+
\include{./modules/latex/latex}
213210

214211
\newpage
215212
\include{./modules/machine-code/machine-code}
216213

217-
218214
\newpage
219215

220216
\subsection*{Datorer och datoranvändning, godkända laborationsuppgifter}

lab-instructions/modules/latex/latex.tex

+30-24
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,65 @@
11
\section{Laboration \arabic{section} --- \LaTeX}
22

3-
\emph{Mål:} Du ska lära dig grunderna i \LaTeX och tillämpa dina kunskaper på ett exempel.
3+
\emph{Mål:} Du ska lära dig grunderna i {\LaTeX} och tillämpa dina kunskaper på ett exempel.
44

55

66
\subsection*{Obligatoriska förberedelser (hemarbete)}
77
\begin{Hemarbete}\firmlist
88
\item Titta igenom föreläsningsbilderna till föreläsningen om \LaTeX.
99
\item Läs igenom kompendiet \emph{Att skriva rapporter med \LaTeX}, åtminstone så mycket så att du blir bekant med vad man kan göra med \LaTeX. Du behöver inte försöka memorera alla detaljer.
10-
\item \label{hem:latexuppg} Med början på nästa sida finns ett exempel på en rapport som är producerad med \LaTeX. Studera rapporten och försök komma på vilka kommandon som behövs för att få texten att se ut som den gör. Markera i rapporten, eller i ett textdokument, vilka kommandon du tänker använda.
10+
\item \label{hem:latexuppg} Med början två sidor fram finns ett exempel på en rapport som är producerad med \LaTeX. Studera rapporten och försök komma på vilka kommandon som behövs för att få texten att se ut som den gör. Markera i rapporten, eller i ett separat textdokument, vilka kommandon du behöver använda för att efterlikna rapporten.
1111
\end{Hemarbete}
1212

1313
\subsection*{Kontrollfrågor}
1414
\begin{Kontrollfragor}
1515
\item Laborationsledaren kontrollerar att du gått igenom exempelrapporten och markerat vilka \LaTeX-kommandon du ska utnyttja för att formatera texten.
16+
\halfblankline
1617

1718
% Förslag på faktiska kontrollfrågor. Eller räcker det med den ovan?
18-
% \item På vilket sätt formaterar man text i \LaTeX. Hur markerar man t.ex. att ett ord ska vara fetstilt?
19-
% \item Vad är \LaTeX och vad används det till?
20-
% \item Vad är skillnaden mellan \LaTeX och vanliga textredigerare, som Word?
21-
% \item Vilka är fördelarna med att använda \LaTeX för dokumentproduktion?
22-
% \item Vad är ett \LaTeX-kommando och hur skrivs det i en dokumentfil?
23-
% \item Vad är skillnaden mellan kompileringsprocessen för \LaTeX och vanlig textredigering?
24-
% \item \LaTeX är helt textbaserat. Vad är processen för att producera det slutgiltiga, formaterade dokumentet?
25-
% \item Vad är en paketfil i \LaTeX och hur inkluderar man den i dokumentet?
26-
% \item Vilka är de grundläggande elementen för att skapa en titelsida i \LaTeX?
27-
% \item Hur skapar du en fetstil i \LaTeX?
28-
% \item Vad är kommandot för att kursivera text i \LaTeX?
29-
% \item Hur skapar du en punktlista i \LaTeX?
30-
% \item Vilket kommando används för att justera texten till vänster i \LaTeX?
31-
% \item Hur inkluderar du citat i en \LaTeX-dokumentfil?
32-
% \item Vilket kommando använder du för att infoga en radbrytning i \LaTeX?
33-
% \item Hur skapar du en numrerad lista i \LaTeX?
34-
% \item Hur skapar du en rubrik med ett kapitelnummer i \LaTeX?
35-
% \item Vilket kommando används för att skapa en tabell i \LaTeX?
19+
% \item På vilket sätt formaterar man text i {\LaTeX}. Hur markerar man t.ex. att ett ord ska vara fetstilt?
20+
% \item Vad är {\LaTeX} och vad används det till?
21+
\item Vad är skillnaden mellan {\LaTeX} och vanliga textredigerare, som MS Word?
22+
\item Vilka fördelar finns med att använda {\LaTeX} för dokument?
23+
\item Vad är ett {\LaTeX}-kommando och hur skrivs det i en dokumentfil?
24+
\item Hur skapar man rubriker och underrubriker i {\LaTeX}?
25+
\item Hur får man fet eller kursiv text i {\LaTeX}?
26+
\item Vad betyder tecket \$ i {\LaTeX}?
27+
\item Hur skriver du tecknet \$ i {\LaTeX}, utan att det tolkas som ett kommando?
28+
% \item Vad är skillnaden mellan kompileringsprocessen för {\LaTeX} och vanlig textredigering?
29+
% \item {\LaTeX} är helt textbaserat. Vad är processen för att producera det slutgiltiga, formaterade dokumentet?
30+
% \item Vad är en paketfil i {\LaTeX} och hur inkluderar man den i dokumentet?
31+
% \item Vilka är de grundläggande elementen för att skapa en titelsida i {\LaTeX}?
32+
% \item Hur skapar du en fetstil i {\LaTeX}?
33+
% \item Vad är kommandot för att kursivera text i {\LaTeX}?
34+
% \item Hur skapar du en punktlista i {\LaTeX}?
35+
% \item Vilket kommando används för att justera texten till vänster i {\LaTeX}?
36+
% \item Hur inkluderar du citat i en {\LaTeX}-dokumentfil?
37+
% \item Vilket kommando använder du för att infoga en radbrytning i {\LaTeX}?
38+
% \item Hur skapar du en numrerad lista i {\LaTeX}?
39+
% \item Hur skapar du en rubrik med ett kapitelnummer i {\LaTeX}?
40+
% \item Vilket kommando används för att skapa en tabell i {\LaTeX}?
3641

3742
\end{Kontrollfragor}
3843

44+
\newpage
3945

4046
\subsection*{Datorarbete}
4147

4248
\textbf{Notis}: I instruktionerna nedan föreslår vi att ni använder programmet Texmaker för att arbeta med \LaTeX, men ni får lov att använda vilken editor ni vill. Det går också bra att använda onlineverktyg, så som Overleaf.
4349

4450
\begin{Datorarbete}
45-
\item Skapa en ny katalog med namnet \file{dod/lab2} och gå till denna katalog.
46-
\item Kopiera filen \file{/usr/local/cs/dod/lab2/rapportmall.tex} till din katalog. Ge den kopierade filen namnet \file{rapport.tex}. Filen innehåller en \LaTeX-mall för rapporter, liknande den mall som beskrivs i avsnitt 2.2 i \LaTeX-kompendiet och i föreläsningsbilderna.
51+
\item Skapa en ny katalog med namnet \file{dod/lab3} och gå till denna katalog.
52+
\item Kopiera filen \file{/usr/local/cs/dod/lab3/rapportmall.tex} till din katalog. Ge den kopierade filen namnet \file{rapport.tex}. Filen innehåller en \LaTeX-mall för rapporter, liknande den mall som beskrivs i avsnitt 2.2 i \LaTeX-kompendiet och i föreläsningsbilderna.
4753

48-
\item I filen \file{/usr/local/cs/dod/lab2/rapporttext.txt} finns texten till rapporten som beskrivs i uppgift H\ref{hem:latexuppg}, utan några \LaTeX-kommandon och utan några figurer. Lägg in innehållet i denna fil i din \file{.tex}-fil, mellan \verb!\begin{document}! och \verb!\end{document}!.
54+
\item I filen \file{/usr/local/cs/dod/lab3/rapporttext.txt} finns texten till rapporten som beskrivs i uppgift H\ref{hem:latexuppg}, utan några \LaTeX-kommandon och utan några figurer. Lägg in innehållet i denna fil i din \file{.tex}-fil, mellan \verb!\begin{document}! och \verb!\end{document}!.
4955

5056
\item Starta Texmaker med kommandot \verb/texmaker & / (eller \verb/texmaker rapport.tex &/).
5157

5258
\item Lägg in lämpliga \LaTeX-kommandon i filen så att rapporten får (åtminstone ungefär) det utseende som beskrivs i uppgift H\ref{hem:latexuppg}. Se till att styckeindelningen och rubrikerna blir korrekta i hela dokumentet innan du ger dig på resten, till exempel de matematiska formlerna.
5359

5460
Arbeta stegvis: ändra lite, klicka på pilen till vänster om Quick Build så körs pdfLaTeX, titta på resultatet, ändra lite till, osv.
5561

56-
Bilderna som ska inkluderas i dokumentet finns i filerna \file{nrbild.pdf} och \file{konvbild.pdf} i katalogen \file{/usr/local/cs/dod/lab2/}, programkoden finns i filen \file{NewtonRaphson.java} i samma katalog.
62+
Bilderna som ska inkluderas i dokumentet finns i filerna \file{nrbild.pdf} och \file{konvbild.pdf} i katalogen \file{/usr/local/cs/dod/lab3/}, programkoden finns i filen \file{NewtonRaphson.java} i samma katalog.
5763

5864
\item Prova gärna att skriva ut rapporten på skrivaren när du är nöjd med dokumentets utseende (ej obligatoriskt).
5965

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
2+
\title{Maskinkod}
3+
\section{Maskinkod}
4+
5+
6+
\begin{frame}
7+
\begin{block}{\centering\Large Föreläsning \arabic{section} --- Maskinkod}
8+
Förberedelse inför laboration 4.
9+
10+
\begin{itemize}
11+
\item Vad är en dator?
12+
\item Binära tal.
13+
\item CPU och Minne.
14+
\item Maskinkod och instruktioner.
15+
\item Assembly-språk.
16+
\item Kompilerare och tolkar.
17+
\end{itemize}
18+
\end{block}
19+
\end{frame}
20+
21+
\begin{frame}[fragile=singleslide]
22+
\frametitle{Bakgrund}
23+
24+
25+
26+
\end{frame}
27+
28+
29+
30+
31+
% Slide 1: Introduction to Machine Code
32+
% Overview of today’s lecture
33+
% Importance of machine code in computer science
34+
35+
% Slide 2: What is a Computer?
36+
% Basic definition and components of a computer (CPU, Memory, I/O)
37+
% Role of software vs. hardware
38+
39+
% Slide 3: Understanding Binary Numbers
40+
% Explanation of binary system (bits, bytes)
41+
% Conversion between binary and decimal systems
42+
43+
% Slide 4: The Central Processing Unit (CPU)
44+
% Structure and function of the CPU
45+
% Role of the CPU in executing machine code
46+
47+
% Slide 5: Memory in Computing
48+
% Types of memory (RAM, ROM, Cache)
49+
% How memory works with the CPU
50+
51+
% Slide 6: Basics of Machine Code
52+
% Definition and characteristics of machine code
53+
% Differences between machine code, assembly language, and high-level programming languages
54+
55+
% Slide 7: Machine Instructions
56+
% Components of a machine instruction (opcode, operands)
57+
% How instructions are executed by the CPU
58+
59+
% Slide 8: Assembly Language Overview
60+
% Introduction to assembly language as a low-level programming language
61+
% Relationship between assembly language and machine code
62+
63+
% Slide 9: Writing Simple Machine Code
64+
% Example of a simple program in machine code
65+
% Explanation of what each part of the program does
66+
67+
% Slide 10: Machine Code and Modern Computing
68+
% Relevance of machine code in contemporary software development
69+
% Overview of how high-level languages are translated into machine code
70+
71+
% Slide 11: Compilers and Interpreters
72+
% Explanation of compilers and interpreters
73+
% How they translate high-level code into executable machine code
74+
75+
% Slide 12: Challenges of Working with Machine Code
76+
% Difficulties and limitations of coding in machine code
77+
% Importance of understanding machine code for debugging and optimization
78+
79+
% Slide 13: Conclusion
80+
% Recap of the key points covered
81+
% Encouragement to explore more about how programming languages work at the machine level
82+
83+
% Slide 14: Questions and Discussion
84+
% Open the floor for questions
85+
% Suggest further reading materials and resources

lectures/machine-code/slides.tex

+21
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
\usepackage{selthcsslides}
66
\usecolortheme{lucolors}
77

8+
% The Madrid theme, for some reason, does not show bullet points in itemize
9+
% environments. This is a workaround to fix that.
10+
\setbeamertemplate{itemize item}[default]
11+
\setbeamertemplate{itemize subitem}[default]
12+
813
% \usepackage[swedish]{babel}
914
% Swedish setup using polyglossia for better multilingual support
1015
\usepackage{polyglossia}
@@ -13,6 +18,22 @@
1318
\usepackage{url}
1419
\usepackage{datetime2}
1520

21+
\usepackage{listings}
22+
\lstset{resetmargins=true}
23+
24+
25+
% Code listing environment that removes leading whitespace
26+
\lstnewenvironment{GobbleCode}[2][\baselineskip]
27+
{\lstset{
28+
aboveskip=#1,
29+
belowskip=#1,
30+
resetmargins=true,
31+
xleftmargin=0em,
32+
gobble=#2,
33+
tabsize=4,
34+
}}
35+
{}
36+
1637
\author[]{Mattias Nordahl}
1738
\institute{\url{[email protected]}}
1839
\date{}

lectures/unix/slides.tex

+1-4
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22

33
\includeonly{unix}
44

5-
% Include before selthcsslides to avoid styles being overridden
6-
% \usepackage{enumitem}
7-
85
\usepackage{selthcsslides}
96
\usecolortheme{lucolors}
107

@@ -25,7 +22,7 @@
2522
\lstset{resetmargins=true}
2623

2724

28-
% Redefine the Code listing environment to reset margins for each listing
25+
% Code listing environment that removes leading whitespace
2926
\lstnewenvironment{GobbleCode}[2][\baselineskip]
3027
{\lstset{
3128
aboveskip=#1,

lectures/unix/unix.tex

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
% !TeX root = ./slides.tex
21

32
\title{Unix/Linux}
43
\section{Unix/Linux}

0 commit comments

Comments
 (0)