CSCI 330: Research Assignment

You are to write a paper and give a short presentation on a topic related to programming languages. Below are some suggested areas, but you may propose your own. The paper and presentation will be separately graded.

Regardless of topic, ensure you include code and discuss it.

Possible Topics

  1. a programming language (e.g., C++, Haskell, Rust, Lisp, COBOL, D, Fortran)

  2. a programming language family (e.g., imperative, functional, logic, meta)

  3. a tool leveraged by a language or language family (e.g., cargo, CMake, pip, opam)

  4. a language feature (e.g., objects, pattern matching, metaprogramming)

Paper

You will write a technical paper of at least five (5) pages, double spaced, Times (or Times Roman, Times New Roman) 12-point font, and 1-inch margins. It will have a cover page (not counted as one of the five) containing a title, your name, the date, CSCI 330, and the semester (e.g. Fall 2022), centered on the page.

You should have at least five (5) technical references, at least three of which should be available from the ACM Digital Library (choose Millersville as your institution and use your MU login credentials). You should use the ACM Bibliography format and in-text citations of the form [1], [2,3], and so forth.

Your paper should include details from the papers as well as an analysis and commentary on those papers. Part of your analysis could include a discussion of the social, legal, and ethical issues that your topic raises. This should be done as a research paper with proper organization and transitions between topics, NOT as a series of sections with one section per paper. (E.g., “The first paper I read…” or “In the first paper…” is NOT acceptable.)

If your topic is a programming language, or a group of programming languages, your paper should include a critical evaluation according to the language evaluation criteria.

You will be graded on the technical content of your paper as well as on its mechanical details (such as spelling, grammar, organization, use of appropriate headings, clarity, etc.). See the rubric we will use for grading.

Presentation

Your presentation should be approximately 10 minutes in length — significantly short or long presentations will result in grade deductions. It should be appropriately supported by the use of presentation media (use PowerPoint). Your presentation will be graded on its content and effectiveness, including presentation skills. See the rubric we will use for grading.

Deliverables and Timeline