Presentation and Paper

This assignment has been designated by the Department of Computer Science for assessment of certain expected outcomes for its degree programs, as required by our accreditation agencies, the University, and the State of Florida. Departmental policy does not permit a final grade of "C-" or better to be assigned unless the student has earned an "effective" or "highly effective" assessment on both the presentation and the written paper, regardless of performance on other work in the course.

Ratings of Ineffective [I], Effective [E], and Highly Effective [H] for both the written paper and the oral presentation are obtained using the following scale:

  • H: 40 or more points
  • E: 30 to 39 points
  • I: less than 30 points

based on grades on a scale of 0-50 points.

Deliverables

  1. Oral Presentation in the form of a YouTube video
  2. Written paper in the form of a pdf document

Summary Requirements

An oral YouTube presentation is required by each student. The presentation material (the YouTube video) together with a paper describing your investigation of the topic should be submitted for grading at the end of the term before exam week starts. (See course organizer for exact due dates.)

Submission Procedure

Videos should be uploaded to YouTube. Links to the videos should be embedded in a post to the Presentation forum in the Blackboard Discussion Board of the course site. Be sure that the subject/thread for your post is a short title for your work.

Papers (PDF format) should be uploaded using the Paper Submission button on the Blackboard course site. The paper itself should also contain link(s) to your YouTube video(s).

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 and writing. (See below for more details.)

ADA

Students with disabilities will be given an alternative option for the oral presentation. Please contact the instructor to discuss these options.

1 Oral Presentation Details

The format of the oral presentation is some video format that is YouTube compatible. It is permissible to have two separate components if that is conveneint, for example, your intro video of youself talking followed by a voice-over-powerpoint for the technical content. Please limit yourself to at most two YouTube postings, and be sure that the first one leads naturally to the second one. It would of course be preferable to have one video that contains your intro and segways into the technical talk.

The presentation should begin with a personal introduction that shows you speaking. Introduce yourself, say a few words about you such as where you live, what you are currently doing, where you want to be after getting your CS degree. You may also say a few words about your personal things such as family or non-CS interests. This intro video should not last more than one minute.

The remainder of the presentation is a "technical presentation". This may use a continuation of straight video, voice-over power point [with auto slide changes], or some combination of media and video such as possible with camtasia.

Oral Presentation Evaluation and Grading

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 using the following rubric:

Grading criteria for oral presentations (50 pts possible):

To address all issues in the topic description you need to find resources for your presentation, such as textbooks, Web sources (you can trust), and/or technical papers (when applicable). Consult these resources to prepare a presentation that explains what your topic is about and what it does. It is suggested to add a bit of history that explains the origin and/or the context of the topic, when applicable.

2 Written Paper Details

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.

The title/abstract page should have embedded link(s) to the oral personal intro and the technical presentation.

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

Warning on plagiarism: do not copy/paste material without properly quoting the text and citing the resources. 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.

Written Paper evaluation and grading

The presentation paper will be scored using the following rubric (50 points possible):

To address all issues in the topic description you need to find resources for your presentation, such as textbooks, Web sources (you can trust), and/or technical papers (when applicable). Consult these resources to prepare a presentation that explains what your topic is about and what it does. It is suggested to add a bit of history that explains the origin and/or the context of the topic, when applicable.

3 Presentation/Paper Topics

 
A. Scripting
 
Code Title Owner Description
A.1.RubyGoote describe the scripting language Ruby.
A.2. PythonSteele Describe the Python scripting language.
A.3. PHPGambill PHP: describe the server-side scripting language PHP.
A.4. JavascriptHague Describe the JavaScript client-side scripting language.
A.5. PerlWheeler Describe the Perl scripting language.
A.6. LSLCarroll Describe the Linden scripting language used in Second Life.
A.7. ActionScriptWeston Describe Apple's ActionScript scripting language.
A.8. VBScriptMosher Describe the Visual Basic Scripting Edition language.
A.9. LuaCarter Describe the Lua scripting language.
A.10.APL Describe the APL programming language known for "throw-away programming".
A.11.NXT-GThompson Describe the NXT-G graphical programming language developed by National Instruments in LabVIEW for LEGO NXT.
A.12.MEL Describe the Maya Embedded Language (MEL) used in Autodesk Maya.
A.13.SquirrelIvanac Describe the Squirrel script language used in some video games.
A.14.AWKTucker Describe the AWK scripting language that is a standard feature of Unix and Linux distributions.
A.15.LEX &
YACC | Bison
Rislin Describe the LEX and YACC/Bison tools distributed with Unix/Linux, including how they are often used together.
 
B. Programming
 
Code Title Owner Description
B.1. COBOLWright Describe the COBOL programming language.
B.2. Objective-CMorehouse Describe the C++-like OO programming language. How does it compare to C++?
B.3. ForthGagnon Describe the Forth programming language.
B.4. GoTreharneDescribe Google's programming language Go.
B.5. DThornsbury Describe the programming language D.
B.6. ScalaWilliamson Describe the Scala programming language.
B.7. MercuryKozhevnikov Describe the logical programming language Mercury that is based on Prolog and Haskell concepts.
B.8. Ada 2005Tannehill Describe the Ada 2005 programming language.
B.9. DelphiMarder Describe the Pascal-like Delphi programming language.
B.10.HPFNelson Describe the High-Performance Fortran programming language. How is parallel execution specified in HPF? How are distributed arrays specified?
B.11.ErlangRandall Describe the functional language Erlang inspired by Prolog (e.g. show the similarity of Erlang variables with Prolog variables).
B.12.CamlYousef Describe the Caml programming language.
B.13.EiffelCarmen Describe the OO programming language Eiffel and the "design by contract" principle.
B.14.IconArmstrong Describe the Icon programming language.
B.15.BasicBoggs Describe the original Basic programming language or one of the many dialects such as Quick Basic (do not pick Visual Basic - see VBScript).
B.16.C#Dunton Describe the C# language, drawing particular attention to the differences (a) between C# and Java and (b) between C# and C++.
B.17.C#,Java,Obj-COglesby Compare and contrast the major managed memory variants of C/C++: C#, Java, and Objective-C
 
C. Tools and Specification Languages
 
Code Title Owner Description
C.1. LintPowell Describe the "lint" tool to find problems in C code. Also discuss its relative "splint" for finding security vulnerabilities.
C.2. DoxygenHernandez Describe the "Doxygen" tool and how it can be used to document C and C++ source code.
C.3. MakeZsiga Describe the "make" utility and its specification language that defines the project build dependences and commands. For this topic a focus on advanced features is preferred.
C.4. EclipseCrowe Describe the "Eclipse IDE" and show its support for C, C++, or Java project development.
C.5. SWIGBibbs Describe the "SWIG" specification language and tool.
C.6. Z Describe the specification language based on "Z notation" (Zermelo-Fraenkel set theory).
C.7. VDMChristian Describe the Vienna Development Method (VDM) and specification language VDM-SL and/or VDM++.
C.8. XML and XML SchemaRodd Describe the XML markup language format and the role of XML Schema to define valid XML (XML Schema, like a class definition, specifies structure while XML instances, like objects, contain valid data).
C.9. XSLTSantana Describe the XSLT (Extensible Stylesheet Language Transformations) declarative XML transformation language.
C.10.XQueryHaddock Describe the XQuery XML query language.
C.11.RDFMandalou Describe the Resource Description Format in XML. RDF is a metadata data model. RDF is a general method for conceptual description or modeling of information that is implemented in web resources, e.g. using XML.
C.12.gSOAPDubois Describe the "gSOAP" C/C++ XML data binding tool. What C/C++ type declaration extensions does it use to bind XML to C/C++? Give an example client/server implementation.
C.13.VHDLMaldonado VHDL: describe the VHDL hardware description language. Is VHDL also suitable as a programming language or only as a hardware design language? Why not use C to describe hardware?
C.14.TeX/LaTeXMunoz Describe the TeX/LaTeX document markup language. The LaTeX "programming language" has markup syntax and programming constructs such as "if" and TeX operates by macro expansion that resembles function invocation.
C.15.MATLABBishop Describe the MATLAB programming language for science and engineering.
C.16.SASSummer Describe the SAS system and its 4th generation programming language.
C.17.LePUS3Mercier Describe the object-oriented, visual design description language LePUS3 for software modeling and formal specification.
C.18.Clarion describe the 4GL language, concentrating on wizards and templates
 
D. Frameworks and other special-purpose software libraries
 
Code Title Owner Description
D.1. MVCBennett Discuss the Model-View-Controller design pattern and implementations as frameworks
D.2. asp.netWiggens Discuss the asp.net framework for web applications, including the SOAP extension
D.3. jQueryAlvarez Discuss the Javascript jQuery library, in the context of Javascript
D.4. .netJones Describe the Microsoft .net framework and its use in Windows platform applications development.
D.5. Android SDKLyons Describe the Android SDK framework development of applications on Android devices.
D.6. iOS SDKCabrera Describe the Apple iOS frameworks for development of applications on iOS devices.
D.7. spring.ioGraham Describe the Spring I/O framework (latest version) for Java-based applications.

Acknowledgement: this document is a modification based on an original by Robert van Engelen.