CS 331 Spring 2026  >  Information on the Presentation


CS 331 Spring 2026
Information on the Presentation

General

Near the end of the semester, each student will give an in-class oral presentation introducing some programming language. For most/all students, this will be done as part of a group of 2 or 3. Each presenter or group will cover a different programming language. Your topic and timeslot must be approved in advance.

A presentation is to last 15 minutes, or close to that. 10 minutes is too short. If you take more than 17 minutes, then I will probably have to stop you.

Unless other arrangements are made, I will assume that each presenter or group of presenters will provide their own laptop computer, from which a presentation can be made. You will set up just before your presentation; this needs to be doable within a couple of minutes. Please test your equipment beforehand! Can you display on the classroom projector using your laptop?

For requirements and ideas on your presentation topic, see Possible Programming Languages, below.

For a list of scheduled presentations and open timeslots, see the posted Presentation Schedule.

Sign-Up

Sign-up for programming languages and timeslots will be via e-mail.

When I announce that you may sign up, send an e-mail to me at ggchappell@alaska.edu indicating your first and second choices for programming languages, your preferred day to present, and your presentation partner(s), if any. A group only needs to send a single e-mail. If you are signing up as part of a group, then CC the e-mail to the other group members as well.

What To Cover

Cover the following, not necessarily in this order.

  1. Overview
  2. Build and Execution
  3. Special Features

1. Overview

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

You must describe your programming language’s type system.

2. Build and Execution

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

The program or programs you execute do not need to be long or complicated. They may be partially written before your presentation. They need to be well suited to the programming language. For example, if the programming language is aimed at audio, then execute a program that makes sound.

3. Special Features

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

Grading

The presentation is worth 75 points. The following desribes a presentation that will receive a good grade.

Possible Programming Languages

Each presenter or group will present on a different programming language. Your programming language must be approved by the instructor. In order to be approved, it must meet the following requirements.

Look for a programming language that is a little off the beaten path, or one that used to be popular, but has fallen by the wayside. This still leaves a huge number of choices.

Some programming languages to consider are listed below. I do not have a working knowledge of all of these; some of them might turn out to be poor choices for a presentation. If some programming language interests you, then check it out! You are not required to choose a PL on this list.

Crossed-out items are programming languages that have been approved for some individual or group and so are no longer available.

  • ABAP
  • ActionScript
  • Ada
  • Algol
  • Alice
  • APL
  • AutoHotKey
  • AWK
  • B
  • Some variety of BASIC (not Visual Basic)
  • Bash*
  • Boo
  • Ceylon
  •  ChucK 
  • COBOL
  • Coconut
  •  CoffeeScript 
  • Coq
  • Crystal
  • Csound
  • Curry**
  • D
  • Dart
  • Dragon
  • Duck
  • Dylan
  • Eiffel
  • Elixir
  • Elm
  • Erlang
  • Euphoria
  • Factor
  • Falcon
  • FAUST
  • Forth
  • Fortran
  • Fortress
  • FoxPro or Visual FoxPro
  • GameMaker Language
  • GAMS
  •  GDScript 
  • Gleam
  • Go
  • Go!
  • Groovy
  • HaXe
  • IDL
  • J
  • Jinx
  • Joy
  •  Julia 
  • Kite
  • Kitten
  • Koka
  •  Kotlin 
  • Ladder Logic
  • A Lisp-family programming language** (not Scheme): Arc, AutoLISP, Clojure, Common Lisp, EMACS Lisp, Fennel, Logo, Qi, Urn, VLISP
  •  Lobster 
  • Loell
  • Luna
  • MATLAB or Octave*
  • Miranda
  • An ML-family programming language: ML, OCaml, F#
  • Mojo
  • Mond
  • MoonScript
  • Nemerle
  • Nice
  • Nim (formerly Nimrod)
  • Objective-C
  • Occam
  • Odin
  • OOC
  • Open Shading Language (OSL)
  • Oz
  • PHP
  • Pike
  • PL/I
  • PL/SQL
  •  Pony 
  • PostScript
  • PowerShell*
  • Processing
  • PureScript
  • Pyret
  • Rexx
  • Ring
  • RPG
  •  Ruby 
  •  Rust 
  • SAS*
  • Scala
  • Shen
  • Simula
  • Smalltalk or Squeak
  • SNOBOL
  • Solidity
  •  Squirrel 
  • Stata*
  • Tcl
  • Terra
  • TeX or LaTeX*
  • TypeScript
  • Wiring
  • The Wolfram Language or Mathematica*
  • Wren
  • X++
  • Zig
*Emphasize programming.
**Emphasize differences from any similar PL covered in class.