Oral Presentation and Presentation Paper Requirements

An oral classroom presentation is required by each student, see the presentation schedule below. The presentation material (e.g. PDF or hardcopy of the presentation slides) together with a paper describing your investigation of the topic should be submitted for grading at the end of the term by December 7 before exam week starts.

Presentations will be held at recitation time on Tuesdays 12:30PM. Presentations in PPT or other electronic format is required (see below). Upload your presentations to your home page to enable classroom PC access. You can bring your laptop computer, but be prepared to run the presentation from the classroom PC in case the laptop cannot be used. Presentations should be 10 to 15 minutes long and allow for two minutes of questions. Presentations must not exceed 15 minutes.


The format of the oral presentation is electronic in a format of your chosing, e.g. OpenOffice, PowerPoint, PDF, or text. However, visual aids such as images, tables, and graphs must be presented in a clearly understandable format. You may use the whiteboard (or blackboard) if you wish to comment on questions, but you must not depend on them.

The presentation paper should have a title page (with title, author, and date), a short abstract that summarizes the content in one paragraph, an introduction section that states the question/problem to investigate with a discussion on how you approached the problem, the paper body (several sections), a conclusion that summarizes your results and findings, and a bibliography of references to papers and web sites you consulted.

Evaluation and Grading

The grade breakdown of the presentation component of the course (10% of the total final grade) is 5% credit for the oral presentation and 5% credit for the paper.

The evaluation of the quality of the presentation (as well as the paper) will take into account the originality, relevance, and currency of information that you present, as well as the clarity of the presentation. The presentation will be scored according to the following table.

Grading criteria for oral presentations (50 pts possible):

Please be prepared to start on time when you are presenting. If you get started late not only will you lose points, but we will have difficulty finishing within the class period.

A presentation will be graded with 0 points if you don't show up, or spent less than 10 minutes on your presentation, or if your presentation material is not legible.

The presentation paper will be graded using the following criteria (50 points possible):

The paper length is not limited, but should be at least four pages of double-spaced 11pt font.

Warning on plagiarism: do not copy/paste material without properly quoting the text and citing the recourses. For example, if you found a definition of a term in a paragraph that you would like to refer to, use the common citation requirements: "...sentence..." [ref], where ref is a citation in your bibliography. Note that quotes are needed when you copy text literally.

Presentation Schedule

Date Student Presentation Topic
10/3 ANDREWS, BENJAMIN Comparison study of programming languages: Java versus C/C++. History and motivation for design of Java, efficiency of Java compared to C/C++, safety of Java compared to C/C++.
ARMON, JREN Discuss Cobol in business programming. Why is Cobol frequently used in programming business administration systems? Is (internal) decimal format important for financial systems?
BOWERS, JOHN Discuss the application of Scheme programming for Artificial Intelligence.
10/10 DONLAN, CHRISTOPHER Discuss the application of Visual Basic using excel and access.
FERREIRA, JOSEPH Explain the different aspects of the cost of a programming language in terms of maintenance, deployment, and support. What is the impact of typed languages on development? What is the impact of standard libraries on portability?
FLINTOSH, ANDREW Discuss Fortran in scientific programming.
10/17 FORD, JASON Exploration 3.28 page 157.
GUIDRY, MATTHEW Discuss the impact of programming style on the performance of Scheme programs, e.g. recursion or loops, "if-then" or "cond" using assignment or not using it.
HARRIS, ANTHONY Exploration 6.36 page 304 (measure the performance by timing the speed differences, eg. using unix 'time' command).
10/24 HOBBS, BRIAN Lisp is often times described as a special-purpose language used in the field of artificial intelligence. How is Lisp more of a special purpose language than others such as C or C++?
HOHMAN, NICHOLAS Goto jumps are often considered to be bad features of a programming language. Why are they considered bad? Give examples. Can these statements be useful? And if so, how? How do languages without goto type statements, such as Java, get around such limitations?
HOLLANDER, EVAN Exploration 6.39 page 305.
KNIFFIN, ANTHONY Construct a BNF grammar to function as a vending machine. This vending machine charges 50 cents for its products, and only accepts exact change (if 55 cents is given, it would not accept any of the money). In other words, the BNF should recognize strings such as
quarter dime nickel dime
nickel nickel quarter dime nickel
The resultant BNF should be as efficient as possible, with no unnecessary rules. Pick a method of parsing and show how a few different sample strings would be handled (both correct strings and incorrect strings).
10/31 KOSTIUK, MICHAEL Selecting two different programming languages such as C and Fortran, write a simple parsing program for a given grammar and apply it to example sentences such as “The dog walks”, and compare how the implementation affect their ability to parse sentences and check it for grammatical correctness against the given grammar. You two may focus on different aspects respectively.
LATISLAW, COREY Exploration 7.40 page 404.
LAWRENCE, JOSHUA Discuss BNF and EBNF and the difference of them. How to translate EBNF into BNF (with translation rules).
MARTIN, KYLE Exploration 7.43 page 405.
11/7 MCALLISTER, DOMINIC Discuss LL(1) parsing grammar. Show how table-driven parsers work with FIRST, FOLLOW and PREDICT.
MEYERS, CHRISTOPHER Find a BNF description of Cobol’s syntax, and discuss the Cobol grammar on English verbs.
MILLER, GEOFFERY Devise a test to show the efficiency increase of using CASE/SWITCH statements as compared to using normal if-then-else statements. Provide these results, along with an explanation of the experiment, for discussion. Various ways can be used to show the disparity better, while some ways would actually exaggerate or minimize the findings. Be prepared to discuss your methodology as well.
MILLS, JUSTIN Many languages allow the programmer to create both statically and dynamically allocated variables. Some languages, like Fortran, do not allow dynamic allocation. Discuss how this restriction affects writability, program flexibility, and other issues important to a programmer.
11/14 NEWELL, STEVEN Discuss the Hoard memory allocator, available from the web. Explain the purpose of Hoard in relation to multiple threads, and how Hoard handles these problems.
PARISI, EDUARDO Explain how the central run-time stack is managed in Pascal to maintain static scopic. How would you modify the stack to use dynamic scoping (most recent association)? How would these changes affect the performance of programs?
RICHMOND, JOSHUA The C language has three storage classes, called automatic, extern, and static. These determine whether and how memory is allocated for variables and/or determine the visibility of entities.
RODRIGUEZ, ANDRE Research the automatic garbage collection performed in Java. Find actual benchmarks and test results on its usage. Discuss how such garbage collection affects performance. Have there been improvements in Java's garbage collection? If so, discuss this as well.
11/21 SCHULTZ, MICHAEL Discuss overloading and polymorphism in Java. Be sure to talk about how the <extends> and <implements> are used within these. See the instructor for advice on this topic.
SELTZER, DANIEL Discuss Java threads as they relate to concurrent program, and discuss the utilities that Java employs to conserve data integrity (semaphores, monitors, etc.).
SWAIN, BRADLEY Early Basic, Fortran 77, and Pascal have different static scoping rules. Discuss these scoping rules and give examples of how sample code would be treated. Give your opinions on how these different rules affect the difficulty of programming and compiling.
11/28 SZLOSEK, ALAN Loop index variables is important to calculate number of iterations. Discuss non-integer indexes and resulting round-off errors in the loops in C/C++. How it is in Fortran?
TRIFILETTI, JOHN Read section 7.7.3 of the textbook. Discuss garbage collection as presented here, and the topics of reference counts and mark-and-sweep collection.
WATSON, JOSHUA Discuss the use of recursion in terms of efficiency, maintainability, writability, etc. In which cases is recursive programming good, and in which cases is it bad? Fortran does not allow recursion. What effect does this have on programming those things that are best handled by recursion (are there situations in which Fortran cannot handle a certain task because of its lack of recursion?)
12/5 WHITE, BLAYNE A tail-recursive function is a function in which additional computation never follows a recursion call. Discuss the difference between iteration, recursive and tail-recursive function by test some examples.
ZIMMERMAN, TRAVIS Discuss advantages and disadvantages of C# as opposed to Java.
MOTTA, ROSSANA So-called scripting languages such as Ruby and TCL are increasingly popular. Research their common characteristics as opposed to "traditional" languages.

Copyright: Robert van Engelen, Florida State University, 2006.
Last modified: Monday, September 25, 2006