CS 4100, Fall 2022

Topic Proposal Guidelines


No two students may work on exactly the same topic. Initiate a "claim" to a topic by uploading your topic proposal to the homework submission system no later than Friday, September 16th. Below are format guidelines:


<Your Name>
<Your Email Address>
CS 4100
<Date>
Topic Proposal

<Working Title of Final Paper>


First paragraph: describe your proposed topic.

Second paragraph: discuss which issues you intend to address and emphasize and what you intend to leave out and why.

Additional paragraphs as necessary.

Keep your description focussed on the exact topics your paper will cover. Explaining what Java, parallelism, or a mobile device is, and so on, is unnecessary.

Provide a list of tentative sources in ACM or APA format. (ACM preferred.) You must have at least four sources and they must be reliable (peer reviewed, edited, or primary).

ACM

ACM Citation Style and Reference Formats

APA

APA Citation Style - LibGuides at CSU Stanislaus
APA Style, Purdue Online Writing Lab


Your claim will be finalized when I approve your proposal; I may ask you for one or more revisions along the way. Topics will be assigned on a first-come-first-served basis. Submit your topic proposal no later than Friday, September 16th. Some approaches to topic selection include:

  1. Start with a problem and look at which languages (often special purpose) are used to solve the problem. Consider the design choices made to facilitate solving this type of problem. Some examples might include a challenge particular to graphics, teaching, robotics, mobile devices, supercomputing, or cloud computing.
  2. Start with a problem and look at a language and specific library (sometimes called a framework) used to solve the problem. Consider the techniques available in that language and library that facilitate solving this type of problem. Some examples might include a challenge particular to graphics, teaching, robotics, mobile devices, supercomputing, or cloud computing.
  3. Look, in some depth, at how an challenging aspect of programming languages is handled in one particular language. Some examples could include, data sharing, parallelization, or memory management (garbage collection).
  4. Look at how an interesting aspect of programming languages is treated differently in two different languages. Some examples could include parameter passing, typing, scope, basic data types, etc.


Nota bene: DO NOT include web site URLs in your references unless those URLs will work for anyone on any computer. URLs that include libproxy in their text are forbidden -- they sometimes work only for you, and may not for the professor or anyone else.


Examples of how to cite sources (ACM style) and create a bibliography - you can do no better than to download and examine a few recent papers published by SIGPLAN, the Special Interest Group on Programming Languages.

At the bottom of the SIGPLAN web page are links to papers of particular, recent interest to the professional programming languages community. Those papers can be fruitful sources of ideas about what PL experts find interesting.

These papers cite their sources using the ACM reference style, which is one of the styles you, too, are welcome to use. (But spell out the complete names of your sources, instead of abbreviating. Use "41st ACM SIGPLAN International Conference on Programming Language Design and Implementation" in your bibliography, instead of "PLDI '20".)


Last edited 21 Aug. 2022