Collaborative Wiki for the Seminar History of Programming Languages and Paradigms in the winter term of 2022/2023
- course website: https://ciip.in.tum.de/teaching/history-pl_ws22.html
List of topics
No. | Date | Topic | Presenter |
---|---|---|---|
1 | 21.10.2022 | Introductory meeting | Tobias Lasser, David Frank |
2 | 04.11.2022 | Fortran | Simon Henniger, Maximilian Hochreiter |
3 | 11.11.2022 | - | - |
4 | 18.11.2022 | Prolog | Tabea Frisch |
5 | 25.11.2022 | LISP | Thomas Senftl, Nicolas Petross |
6 | 02.12.2022 | Smalltalk | Elif Demir |
7 | 09.12.2022 | APL | Lara Wegmeth, Oliver Specht |
8 | 16.12.2022 | Erlang | Petros Kanellopoulos, Vitus Hofmeier |
What is expected of you
Deliverables:
- written lesson plan
- written retrospective
- 60 minute teaching unit about your topic (with presentation and live exercises) in your assigned time slot
Timeline:
- after topic assignment: prepare your topic / teaching unit with your partner, discuss and meet with your us as necessary
- one week before the session: meet with us and get your lesson plan approved
- one week after the session: submit the written retrospective to us
Process
Lesson Plan:
Prepare one lesson plan with as a group. Think about a good goal for your lesson, and think about the previous knowledge and experience of your audience. Create units that build towards your goal, in a practical and interactive fashion. Arrange a meeting with David Frank 7 - 10 days prior to your presentation, and revise the lesson plan based on the provided feedback.
Lesson:
Conduct the lesson according to your lesson plan.
Retrospective:
Each person, write a retrospective about your lesson. Answer the questions provided in the following template and send it to David Frank till the next lesson (i.e. 1 week later).
Resources regarding programming languages
In the following, you will find a small selection of resources for each programming language. This includes online environments, such that no installation is required and some getting started material. However, this is only a starting point to get familiar with the programming language. You are very much encouraged to look for other resources, which might help you! Especially be sure that the environment works for the activities you plan in your lesson and no registration is necessary.
Given here are currently 9 programming languages, this is only to give you a little wider selection of topics, such that everyone can find an interesting and suitable topic. In the end, 7 will be selected and presented.
Fortran
- Online compiler: https://fortran.godbolt.org/
- https://fortranwiki.org/fortran/show/Tutorials
- https://fortran-lang.org/learn/
Algol 68
- Online Compiler
- https://dl.acm.org/doi/10.1145/356669.356671
- https://opensource.com/article/20/12/learn-algol-68
Common LISP
- Online compiler: https://jscl-project.github.io/
- https://gigamonkeys.com/book/
APL
- https://tryapl.org/
- https://aplwiki.com/wiki/Learning_resources
- https://xpqz.github.io/learnapl/intro.html
Forth
- Online compiler: https://www.jdoodle.com/execute-forth-online/ or https://www.tutorialspoint.com/execute_forth_online.php
- https://wiki.c2.com/?ForthVsLisp
- https://www.forth.com/starting-forth/
- http://www.murphywong.net/hello/simple.htm
- https://skilldrick.github.io/easyforth/
Prolog
- Online compiler: https://swish.swi-prolog.org/ or https://www.jdoodle.com/execute-prolog-online/
- https://www.swi-prolog.org/pldoc/man?section=quickstart
- https://www.cpp.edu/~jrfisher/www/prolog_tutorial/pt_framer.html
Smalltalk
- Online compiler: https://ideone.com/l/smalltalk or https://www.jdoodle.com/execute-smalltalk-online/
- https://www.gnu.org/software/smalltalk/manual/html_node/Tutorial.html
- https://learnxinyminutes.com/docs/smalltalk/
(Standard) ML
- Online Compiler: https://sosml.org/
- https://homepages.inf.ed.ac.uk/stg/NOTES/
- https://learnxinyminutes.com/docs/standard-ml/
Erlang
- Online compiler: https://erlang.godbolt.org/ or https://replit.com/languages/erlang or https://onecompiler.com/erlang
- https://learnyousomeerlang.com/content
- https://pragprog.com/search/?q=programming-erlang
Resources regarding teaching
We strongly emphasize and advocate for an active, practical and engaging style of teaching. This might be new for some students, and can be challenging at first. However, the results are known to be better learning experience. Here are some resources, which can get you started and clearly show the direction which is important to us:
- https://www.celt.iastate.edu/instructional-strategies/preparing-to-teach/ideas-to-create-a-welcoming-engaging-and-inclusive-classroom/
- https://www.baylor.edu/atl/index.php?id=965136
- https://teaching.washington.edu/topics/engaging-students-in-learning/
An important aspect of interactive teaching is the right set of tools.
- https://teaching.washington.edu/topics/preparing-to-teach/integrating-technology-into-your-teaching/
However, due to the fact that teaching styles are very different, we won't include specific tools here. However, think about tools that enable collaborative ways to do polls, quizzes or brainstorming. They don't necessarily have to be online, or software tools in general - simple offline tools like raising the hands might be sufficient
Lastly, we expect you to prepare a lesson plan. Information on the exact format will follow. The following resource will help you understand what we expect from a lesson plan, and how it can help you prepare your presentation: