Wednesday, | 10:00-11:30, | R 0.058 |
1 | Tuesday, | 13:30-15:00, | R 2.012 |
2 | Tuesday, | 15:15-16:45, | R 2.012 |
3 | Wednesday, | 13:30-15:00, | R 3.026 |
Most of the software is already installed by default. You need to have the following packages:
For the lab work, you can use a devbox as described below.
You get a link to your new DevBox on the desktop.
All necessary software is already installed in the 2023 base version. No update is needed.
If the flex library is missing use:
sudo apt-get install libfl-dev
March 21/22 | Introduction to PostScript |
March 28/29 | Introduction to lex/flex |
April 4/5 | Introduction to yacc/bison: Keywords |
April 18/19 | Numbers |
April 25/26 | Make see: Sample Code |
May 2/3 | Arithmetic |
May 9/10 | Union declaration and Floating Point Numbers |
May 16/17 | Variables see: Video Sommer 2022 |
May 23/24 | Control Structures see: Sample Code |
June 6/7 | Local Variables |
June 13/14 | Procedures |
June 20/21 | Testat/Final Project |
June 27/28 | Testat/Final Project |
July 4/5 | Testat/FinalProject |
There are videos available from the summer semester 2022 implementing the programming language KLX.
March 22 | Introduction to PostScript | teil1.mp4 |
March 29 | Introduction to lex/flex | teil2.mp4 |
April 5 | Introduction to yacc/bison: Keywords | teil3.mp4 |
April 12 | Numbers | teil4.mp4 |
April 26 | Make | teil5.mp4 |
May 3 | Arithmetic | teil6.mp4 |
May 10 | Variables and Floating Point Numbers | teil7.mp4 |
May 17 | Control Structures | teil8.mp4 |
May 24 | Local Variables | teil9.mp4 |
June 14 | Procedures | teil10.mp4 |
Each lab class starts with an introduction by the instructor giving you a distinct assignment for each class. Because of this format, it is usually difficult for a student to catch up, if he or she has missed one of the lab sessions. There are however three different time slots available for the lab. If you have to miss a lab class, let me know early, probably I can assign you to a different time slot.
The final goal is to develop your own language and your own compiler for Turtle Graphics. For more details on the Lab assignment read this page on "A Programming Language for Turtle Graphics.
An Introduction (in Deutsch) can be found on the Code your Life: TurtleCoder site. You will find there also the TurtleCoder as a Web-App
A big collection of possible turtle programs with an image gallery is found at the Turtle Art site. You find more information on turtle graphic on wikipedia
While you will write - during the lab sessions - your own compiler, it is a misunderstanding to believe that the lab certificate is granted based on the compiler you wrote. It is based on what you learned while you wrote it! In practice, I will look at the compiler you wrote and give you a small challenge, like "how about adding feature ... to your compiler?" From what you do to implement the new feature, I can tell what you have learned.
Last not Least...
The Dragon Book: Aho,Sethi,Ullman,Compilers, Principles,Techniques and Tools, Addison Wesley. |