PLC: Guidelines for the Presentation

Structure of the Presentation

The time for the presentation is short (10 minutes for undergraduates, 15 minutes for graduates). Hence, the presentation should focus on giving a concise overview of the language. It should not be a tutorial with the aim to actually teach the language. Following outline could be helpful for a structured overview:

* Tell a little bit about the primary motivation why this language was created, if this is known to you. Many programming language were created out of frustration with alternatives at the time of their creation. Sometimes they were created for particular projects or for some commercial and/or strategic reasons. Is the language still widely used? Or was it common at an earlier time? Or was it always fairly exotic?
* Classify the language. Tell about the general structure of the programs, the type system, modularization, OO support (if any), and special or unusual features. Is it most commonly compiled to native code or interpreted? What are the novel aspects of this language? Did it mainly use well-known techniques and features or were completely new concepts introduced? How complex is the language? Exists a standard document for it? Exists a BNF grammar for it?
* Show one or more examples that attempts to demonstrate the strengths of this language. There is not enough time to go through such an example line by line. Instead you should focus on very few interesting points.
* Summarize your personal experiences with the language. Would you actually use it? If yes, for what kind of projects? If no, why? You should also tell about your experiences with the implementations you used.
* Finally, give some references, as far as available and known: Standard Documents, Implementations, Language Homepages on the Web, Tutorials, FAQs, Newsgroups, Mailing-Lists, books etc.

Presentation Technique

It is up to you how you want to present your selected programming language. Whatever you choose, I am willing to support it, provided it is feasible and I was asked early enough. Please note that independent from the presentation technique you cannot run many slides in the given time frame. 5 to 8 slides are reasonable.

* The safest method is to use slides (like me). I can print them for you either in black & white, or in colors. However, you should avoid fully colored slides. Just color, if necessary, parts of a diagram, or use colors to emphasize some parts of the text. The background should be transparent (i.e. white). If I should print them for you, I need them in PDF or PostScript. I cannot process Microsoft Powerpoint files. And I need them at least 24 hours in advance for your presentation. If the presentation is on Monday, I need them on Thursday at the previous week. I can show you how to create slides with LaTeX if you are interested in that.
* It is also possible (at least theoretically) to organize a laptop. In this case, we have to check that as soon as possible whether there is a laptop available that satisfies your needs. For this, you would have to ask me first and then I would help you to get an appointment with one of our system administrators to discuss the prerequisites and to do a test. The entire risk of this is yours. I would just bring the laptop to the presentation and hope for the best. These laptops run Windows (sorry, other probably more useful operating systems aren't available) and I am fairly lost with Microsoft Windows. You are, of course, free to bring your own laptop or to organize one from somewhere else.

Additional Written Material

If you are registered for 4003-709 or if you teamed up with someone else, additional written material is due. This is mandatory. If this is missing, I consider the presentation as failed.

* The written material is to be published in form of web pages at the CS account. Every account includes a public_html directory that can be used for this. Just take care that you do not forget to chmod 664 your web files and to chmod 755 your web directories. I can give some assistance, if required.
* The web pages should provide a little introduction to the selected programming language, perhaps in some tutorial style. This should include a set of examples which are thoroughly explained. It might be useful to start with some simple examples and to finish with a more complex one which highlights interesting features of the language. If the programming language is graphically oriented, show some diagrams made with it. If it comes with some special graphical user interface, show some screenshots.
* Finish the web pages with a collection of links to interesting sites related to that programming language.
* Please give me the URL of your web pages as soon as they are finished. This email has to be sent to afb@cs.rit.edu and is due Monday, 05/06/2002, midnight. As soon as I have that notification, I will setup a link from the course home page to your pages. You are of course free to improve your pages afterwards but I decide at the time of the deadline whether it is to be considered as pass or fail.
* Last but not least: Please take care of the DCS Policy on Academic Dishonesty. Everything that is not from you should be properly attributed. Any kind of plagiarism causes you to fail the entire course, not just the presentation.


Andreas F. Borchert, April 21, 2002

Update: The date was wrong. I left it as it is but corrected the day from Sunday to Monday.