README
author Christian Urban <christian.urban@kcl.ac.uk>
Fri, 27 Nov 2020 00:55:24 +0000
changeset 373 0d29bc6ba639
parent 341 ec3d7c2ece09
child 396 ea39bbc8d98d
permissions -rw-r--r--
updated
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
333
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
     1
Wartremover
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
     2
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
     3
./wartremover -traverser org.wartremover.warts.Return -traverser org.wartremover.warts.Var -traverser org.wartremover.warts.MutableDataStructures $i
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
     4
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
     5
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
     6
compilation
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
     7
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
     8
git clone https://github.com/wartremover/wartremover.git
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
     9
sbt "++ 2.13.1" core/assembly
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    10
341
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    11
======================
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    12
scalafix
333
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    13
341
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    14
https://scalacenter.github.io/scalafix/docs/users/installation.html
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    15
https://gabro.github.io/scalafix/docs/installation/cli.html
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    16
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    17
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    18
=====================
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    19
bash cheatsheet
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    20
ec3d7c2ece09 updated
Christian Urban <christian.urban@kcl.ac.uk>
parents: 333
diff changeset
    21
https://devhints.io/bash
333
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    22
======================
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    23
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    24
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    25
./dff > sort | more
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    26
./dff | sort > d
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    27
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    28
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    29
Repeating commands for data in a file:
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    30
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    31
input="d"
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    32
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    33
while IFS= read -r file; do opendiff some_copy "$file"; done < "$input"
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    34
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    35
----------------------------
0b82e661341a updated
Christian Urban <urbanc@in.tum.de>
parents: 329
diff changeset
    36
283
3102d61edf45 updated
Christian Urban <urbanc@in.tum.de>
parents: 278
diff changeset
    37
Decompilation 
3102d61edf45 updated
Christian Urban <urbanc@in.tum.de>
parents: 278
diff changeset
    38
3102d61edf45 updated
Christian Urban <urbanc@in.tum.de>
parents: 278
diff changeset
    39
3102d61edf45 updated
Christian Urban <urbanc@in.tum.de>
parents: 278
diff changeset
    40
java -jar procyon-decompiler-0.5.36.jar -jar templates1/drumb.jar -o out
3102d61edf45 updated
Christian Urban <urbanc@in.tum.de>
parents: 278
diff changeset
    41
329
828326d1b3b2 updated
Christian Urban <urbanc@in.tum.de>
parents: 283
diff changeset
    42
-------------------------
828326d1b3b2 updated
Christian Urban <urbanc@in.tum.de>
parents: 283
diff changeset
    43
~/pep-material/moss/mossnet -l java -b ../base.java *.java
283
3102d61edf45 updated
Christian Urban <urbanc@in.tum.de>
parents: 278
diff changeset
    44
-------------------------
3102d61edf45 updated
Christian Urban <urbanc@in.tum.de>
parents: 278
diff changeset
    45
3102d61edf45 updated
Christian Urban <urbanc@in.tum.de>
parents: 278
diff changeset
    46
266
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    47
Brain fuck optimizer
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    48
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    49
https://github.com/Dash-Lambda/Eso/blob/master/src/main/scala/interpreters/BFOptimized.scala
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    50
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    51
--------------------------
31e5218f43de updated to 2.13
Christian Urban <urbanc@in.tum.de>
parents: 264
diff changeset
    52
264
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    53
chowchingjimkcl
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    54
276
5a8ef4dd6cc9 updated
Christian Urban <urbanc@in.tum.de>
parents: 266
diff changeset
    55
Assignment 6     3 (basic) 7 (main)
5a8ef4dd6cc9 updated
Christian Urban <urbanc@in.tum.de>
parents: 266
diff changeset
    56
Assignment 7     4 (basic) 6 (main)
5a8ef4dd6cc9 updated
Christian Urban <urbanc@in.tum.de>
parents: 266
diff changeset
    57
Assignment 8     4 (basic) 6 (main)
5a8ef4dd6cc9 updated
Christian Urban <urbanc@in.tum.de>
parents: 266
diff changeset
    58
Assignment 9     4 (basic) 6 (main)
5a8ef4dd6cc9 updated
Christian Urban <urbanc@in.tum.de>
parents: 266
diff changeset
    59
Assignment 10    10 (main)
264
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    60
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    61
48
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    62
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    63
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    64
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    65
278
57b5bba67467 updated
Christian Urban <urbanc@in.tum.de>
parents: 276
diff changeset
    66
-----------------------------
57b5bba67467 updated
Christian Urban <urbanc@in.tum.de>
parents: 276
diff changeset
    67
node
57b5bba67467 updated
Christian Urban <urbanc@in.tum.de>
parents: 276
diff changeset
    68
Welcome to Node.js v12.11.1.
57b5bba67467 updated
Christian Urban <urbanc@in.tum.de>
parents: 276
diff changeset
    69
Type ".help" for more information.
57b5bba67467 updated
Christian Urban <urbanc@in.tum.de>
parents: 276
diff changeset
    70
> "11" + 1
57b5bba67467 updated
Christian Urban <urbanc@in.tum.de>
parents: 276
diff changeset
    71
'111'
57b5bba67467 updated
Christian Urban <urbanc@in.tum.de>
parents: 276
diff changeset
    72
> "11" - 1
57b5bba67467 updated
Christian Urban <urbanc@in.tum.de>
parents: 276
diff changeset
    73
10
57b5bba67467 updated
Christian Urban <urbanc@in.tum.de>
parents: 276
diff changeset
    74
> 
264
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    75
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    76
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    77
25f3fbc43251 updated
Christian Urban <urbanc@in.tum.de>
parents: 229
diff changeset
    78
203
e0420c7b8a19 updated
Christian Urban <urbanc@in.tum.de>
parents: 199
diff changeset
    79
scalac -Ydelambdafy:inline -d docdiff.jar docdiff.scala
e0420c7b8a19 updated
Christian Urban <urbanc@in.tum.de>
parents: 199
diff changeset
    80
228
e1e3e259e9b7 updated
Christian Urban <urbanc@in.tum.de>
parents: 203
diff changeset
    81
gerp -h     // gerp without filename
203
e0420c7b8a19 updated
Christian Urban <urbanc@in.tum.de>
parents: 199
diff changeset
    82
e0420c7b8a19 updated
Christian Urban <urbanc@in.tum.de>
parents: 199
diff changeset
    83
191
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    84
given two lists, is one a sublist of the other except one
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    85
element
167
1bbd4db36151 updated
Christian Urban <urbanc@in.tum.de>
parents: 117
diff changeset
    86
191
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    87
check Graham's Haskell book
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    88
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    89
five-in-a-row as a spiral
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    90
(Tic-Tac-Toe on steriods or Go for the weak mind)
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    91
229
cfcaf4a5e5b4 updated
Christian Urban <urbanc@in.tum.de>
parents: 228
diff changeset
    92
----------
cfcaf4a5e5b4 updated
Christian Urban <urbanc@in.tum.de>
parents: 228
diff changeset
    93
for serving locally a directory
191
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    94
229
cfcaf4a5e5b4 updated
Christian Urban <urbanc@in.tum.de>
parents: 228
diff changeset
    95
python -m SimpleHTTPServer 8000
191
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    96
----------
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    97
CokeBottle cokeBottle = new CokeBottle();
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    98
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
    99
joke from...
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
   100
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
   101
https://www.youtube.com/watch?v=9e_oEE72d3U
48a02384f3ae updated
Christian Urban <urbanc@in.tum.de>
parents: 178
diff changeset
   102
----------
116
Christian Urban <urbanc@in.tum.de>
parents: 113
diff changeset
   103
178
55367d499635 updated
Christian Urban <urbanc@in.tum.de>
parents: 167
diff changeset
   104
---------------
55367d499635 updated
Christian Urban <urbanc@in.tum.de>
parents: 167
diff changeset
   105
Hepec...generating static pages
55367d499635 updated
Christian Urban <urbanc@in.tum.de>
parents: 167
diff changeset
   106
https://sake92.github.io/hepek/quick-start.html
113
d98f97e4db8f hook test
Christian Urban <urbanc@in.tum.de>
parents: 112
diff changeset
   107
167
1bbd4db36151 updated
Christian Urban <urbanc@in.tum.de>
parents: 117
diff changeset
   108
==================================
78
85f2f75abeeb updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   109
Calling ediff from the command line
85f2f75abeeb updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   110
85f2f75abeeb updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   111
85f2f75abeeb updated
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   112
emacs --eval "(ediff-files \"k1502472/drumb.scala\" \"k1502752/drumb.scala\")"
85
fd3f8581ce85 updated
Christian Urban <urbanc@in.tum.de>
parents: 78
diff changeset
   113
fd3f8581ce85 updated
Christian Urban <urbanc@in.tum.de>
parents: 78
diff changeset
   114
fd3f8581ce85 updated
Christian Urban <urbanc@in.tum.de>
parents: 78
diff changeset
   115
deleting comments from scala files
fd3f8581ce85 updated
Christian Urban <urbanc@in.tum.de>
parents: 78
diff changeset
   116
89
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   117
find . -name '*.scala' -print0 | xargs -0 perl -n -p -0 -i.bak -e 's%/\*([^*].*?)?\*/%%gs;s%^([^\"\n\r]*(\"[^\"\n\r]*\"[^\"\n\r]*?)*?)//([^*\n\r].*)?$%$1%gm'
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   118
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   119
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   120
find . -name '*.scala' -print0 | sed -i.2 's|def ordered_moves(dim: Int, path: Path, x: Pos): List[Pos] = ..|//def ordered_moves(dim: Int, path: Path, x: Pos): List[Pos] = ..|g'
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   121
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   122
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   123
LC_ALL=C sed -i.2 -- 's|def ordered_moves(dim: Int, path: Path, x: Pos): List\[Pos\] = \.\.|//def ordered_moves(dim: Int, path: Path, x: Pos): List[Pos] = ..|g' k*/knight3.scala.bak
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   124
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   125
LC_ALL=C sed -i.2 -- 's|def first_closed_tour_heuristic(dim: Int, path: Path): Option\[Path\] = \.\.\.|//def first_closed_tour_heuristic(dim: Int, path: Path): Option[Path] = ...|g' k*/knight3.scala.bak
fac25de665d2 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 85
diff changeset
   126
90
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   127
LC_ALL=C sed -i.2 -- 's|def first_tour_heuristic(dim: Int, path: Path): Option\[Path\] = \.\.\.|//def first_tour_heuristic(dim: Int, path: Path): Option[Path] = ...|g' k*/knight3.scala.bak
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   128
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   129
LC_ALL=C sed -i.2 -- 's|def nullable (r: Rexp) : Boolean = \.\.\.|//def nullable (r: Rexp) : Boolean = ...|g' k*/re.scala.bak
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   130
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   131
LC_ALL=C sed -i.2 -- 's|def der (c: Char, r: Rexp) : Rexp = \.\.\.|//def der (c: Char, r: Rexp) : Rexp = ...|g' k*/re.scala.bak
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   132
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   133
LC_ALL=C sed -i.2 -- 's|def simp(r: Rexp) : Rexp = \.\.\.|//def simp(r: Rexp) : Rexp = ...|g' k*/re.scala.bak
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   134
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   135
LC_ALL=C sed -i.2 -- 's|def ders (s: List[Char], r: Rexp) : Rexp = \.\.\.|//def ders (s: List[Char], r: Rexp) : Rexp = ...|g' k*/re.scala.bak
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   136
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   137
LC_ALL=C sed -i.2 -- 's|def matcher(r: Rexp, s: String): Boolean = \.\.\.|//def matcher(r: Rexp, s: String): Boolean = ...|g' k*/re.scala.bak
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   138
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   139
LC_ALL=C sed -i.2 -- 's|def replace(r: Rexp, s1: String, s2: String): String = \.\.\.|//def replace(r: Rexp, s1: String, s2: String): String = ...|g' k*/re.scala.bak
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   140
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   141
LC_ALL=C sed -i.2 -- 's|println(matcher(EVIL,|//println(matcher(EVIL,|g' k*/re.scala.bak
d77af4aca939 updated
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 89
diff changeset
   142
99
2b7a2dc0e18f updated
Christian Urban <urbanc@in.tum.de>
parents: 90
diff changeset
   143
LC_ALL=C sed -i.2 -- 's|for (i <- 1 to 5000001 by 500000)|for (i <- 1 to 11 by 10)|g' k*/re.scala.bak
2b7a2dc0e18f updated
Christian Urban <urbanc@in.tum.de>
parents: 90
diff changeset
   144
2b7a2dc0e18f updated
Christian Urban <urbanc@in.tum.de>
parents: 90
diff changeset
   145
2b7a2dc0e18f updated
Christian Urban <urbanc@in.tum.de>
parents: 90
diff changeset
   146
194
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   147
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   148
111
7cefb821ee20 updated
Christian Urban <urbanc@in.tum.de>
parents: 99
diff changeset
   149
7cefb821ee20 updated
Christian Urban <urbanc@in.tum.de>
parents: 99
diff changeset
   150
7cefb821ee20 updated
Christian Urban <urbanc@in.tum.de>
parents: 99
diff changeset
   151
7cefb821ee20 updated
Christian Urban <urbanc@in.tum.de>
parents: 99
diff changeset
   152
194
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   153
=========================
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   154
Admin atudd
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   155
=========================
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   156
Hi all,
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   157
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   158
As you will have heard from Chris, you've been appointed as TAs on 5CCS2PEP -- congrats.  We had a large number of high quality applicants.  It was quite a challenge to fit you to labs based on your own timetables, but we managed to figure out a schedule.
111
7cefb821ee20 updated
Christian Urban <urbanc@in.tum.de>
parents: 99
diff changeset
   159
194
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   160
The module setup is very similar to last year, with the difference that there are now 5 C++ assignments and 5 Scala assignments, to balance things out.  Chris should have told you which sessions you're each covering.  The definitive schedule for the module is the timetable on timetables.kcl.ac.uk, but to summarise:
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   161
All the labs are in Bush House.  Most sessions have about 40 students, so there are two TAs.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   162
Labs start in week 1 of term (the first lab is on Monday the 24th of September); there's a week off for reading week; then labs run until the end of term (last lab on Thursday the 13th of December).  If you're planning to skip part of the last week of term to get a cheap flight home, the best bet is to see if you can swap sessions with someone else for that week.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   163
As the first lecture is on Friday, the first week of labs are pretty laid back.  A Java revision assignment has been set that you will have seen last year or the year before (Assignment 0).  This doesn't contribute towards the module marks; its main purpose is to get the students into the lab, to set themselves up ahead of assignment 1 -- this is released on Friday, and does count towards the module marks.  The to do list I've given them is:
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   164
Complete the Plagiarism and Collusion quiz.  They need to get 100% to do anything on this module.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   165
Create an account on GitHub.com if they don't have one already.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   166
Enter their GitHub username (e.g. SomeStudent) into the form linked to from the module KEATS page: in the section 'How this module works', click 'Register to submit work on this module via github.com'
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   167
Click the link to start assignment 0, and do some work on it.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   168
Note the link to assignment 0 is set up so that if they haven't a GitHub username (step 3 above), they can't click the link to the assignment.  If you want to skip straight to it, here's the link:
112
3f6d288fc479 updated
Christian Urban <urbanc@in.tum.de>
parents: 111
diff changeset
   169
194
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   170
https://classroom.github.com/a/xyDQjYoD
112
3f6d288fc479 updated
Christian Urban <urbanc@in.tum.de>
parents: 111
diff changeset
   171
194
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   172
...but you could just as well look at your own assignment0 repository from last year/the year before, to see how you solved it.  Please don't give the students this direct link -- as the automated testing service is running their code on College machines, we need to ensure we only let the appropriate students access the resources for this modules.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   173
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   174
I'll circulate the link to assignment 1 (for the second week of labs) and a model answer in due course.
112
3f6d288fc479 updated
Christian Urban <urbanc@in.tum.de>
parents: 111
diff changeset
   175
194
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   176
Finally, as for some of you this is your first time at being a TA, here are a few helpful notes:
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   177
Being a good teacher in programming is about getting the students to think, and to become self-sufficient.  If they ask you a question, think about how you would find the answer out yourself.  If you would Google it, Google it with them.  If you'd get a piece of paper out and start sketching out ideas, encourage them to do that.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   178
Don't give students the answers.  If they realise what the right way to do something is, you can agree, but otherwise, guide them in the right direction but don't just spell it out.  If they seem stuck, go back a few steps and cover the basics of the assignment.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   179
Don't sit in the corner of the lab waiting for things to happen.  Walk around, ask people how they're getting on.  Some students are a bit shy to ask for help, we need to engage them with the course and help them get the most out of it.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   180
As a TA, you're representing the department as a member of staff.  Don't make advances on the students.  Outside the lab, you're a student and it's none of our business; but for those hours there, you're staff.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   181
If a student kicks off (I've never heard of this happening) we've got your back - come get a member of academic or office staff, you're paid to teach not do crowd control.  
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   182
We take attendance in labs.  Half way through, one of you should go to the departmental office (level 6) and pick up a barcode scanner.  There's a barcode to scan to denote the session -- you scan this once -- then scan the student cards of the students in the lab.  It's unfortunately important that we do this, as the UK Border Agency take a sample of attendance records for overseas students, and the College will lose its ability to sponsor overseas student visas if we aren't seen to be taking attendance.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   183
If you're doing two consecutive sessions, classes finish at 5 to the hour and start again at 5 past.  Take a break.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   184
If you're talking a lot, and need some water, don't forget about the cold water machines in the kitchens.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   185
Our students sometimes say that the labs are noisy.  This is usually due to students who aren't taking the module sitting in the lab.  Politely ask them to be quiet or leave; there are other labs on campus and other study spaces.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   186
Because I'm not in the labs, but you are, if there any snags please let me know.
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   187
I think that's it - I look forwards to working with you.
112
3f6d288fc479 updated
Christian Urban <urbanc@in.tum.de>
parents: 111
diff changeset
   188
194
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   189
All the best,
112
3f6d288fc479 updated
Christian Urban <urbanc@in.tum.de>
parents: 111
diff changeset
   190
194
2e373c31baed updated
Christian Urban <urbanc@in.tum.de>
parents: 191
diff changeset
   191
Andrew
112
3f6d288fc479 updated
Christian Urban <urbanc@in.tum.de>
parents: 111
diff changeset
   192