CS 331 Spring 2013  >  Requirements for Presentations

# CS 331 Spring 2013 Requirements for Presentations

Each student in the class is required to make an in-class presentation on a computer language. The presentation is worth 40 points.

## General Requirements

• Presentations should be around 15 minutes long. 10 minutes is too short. If you take more than about 17 minutes, then I will probably have to cut you off.
• Your presentation should, at some point, involve a demonstration of the edit-build-execute process for your language.
• Your presentation should be done, at least in part, using the projector in the classroom.
• If there are two in your group, then both need to be involved in the presentation, somehow. You can split up the time (one person talks first, and then the other) or split up the jobs (e.g., one person talks while the other types).

## Topics

You should cover three areas (not necessarily in this order):

1. Overview
2. Building and executing a program
3. Special features of the language

The specific topics chosen should be tailored to the language.

### 1. Overview

Here are examples of things you might discuss. (You do not need to cover them all.)

• History. Where did the language come from? Who invented it? When? Why? Is it popular? Was it ever? Does it have many versions, or just one? Is it currently maintained? Very well? Does it have a recognized standard?
• Overall Characteristics. What language category does it fit in? (Functional? Concatenative? Dynamic?) Does it support any particular programming styles (Object-oriented?) Is it typically compiled? To machine code? To some interpreted byte code? JIT or AOT compiled? Or is it usually interpreted? Is it typically used interactively? Is it aimed at some particular application (graphics, sound, web scripting, scientific modeling, control of automated systems, text processing, etc.)?

### 2. Building and Executing a Program

Go through the entire process of writing source code and turning it into something executable. Then execute it.

The program you execute does not need to be long or complicated. It may be partially written before your presentation. Ideally, it should be well suited to the language. For example, if the language is aimed at graphics, then your program should make a picture.

### 3. Special Features of the Language

What is special about this language? Show us. Here are some possible features to demonstrate. You might choose one (or maybe two) that are particularly interesting in your language.

• I/O (including graphics, sound, etc.).
• Support for concurrency or paralellism (threads? SIMD/vector computation?).
• Support for OOP.
• String handling.
• Support for abstract mathematical operations.
• Error handling.
• Support for reflection.
• Other interesting constructs (monads, comprehensions, guard objects, pattern matching, generators, macros, regular expressions, etc.).

The presentation will be worth 40 points (the same as two normal assignments). For groups of two, both students will receive the same score, assuming that both are significantly involved in doing the presentation.

Criteria for grading are as follows.

• Do you follow the General Requirements above?
• Do you demonstrate knowledge of the language?
• You are not expected to be an expert on the language, but you should have studied the language sufficiently to be able to make the presentation.
• Are you prepared to make the presentation?
• It is one thing to know something; it can be quite another thing to be prepared to tell others about it. Be organized and ready, knowing what you are going to cover, with equipment that works, and all necessary software installed.
• Do you cover the topics I asked you to?
• Are the specific topics covered well suited to your language?
• Do you communicate effectively?
• The goal is to communicate information.
• Your presentation should be done in such a way that the audience learns something about the language.

CS 331 Spring 2013: Requirements for Presentations / Updated: 3 Apr 2013 / Glenn G. Chappell / ggchappell@alaska.edu