15292 History of Computing

15292
History of Computing

SPRING 2020

TERM PAPER ASSIGNMENT

TERM PAPER SOURCES: due Monday, February 3, 2019 by 9:00AM
TERM PAPER: due Monday, February 24, 2019 by 9:00AM


programming languages image

ASSIGNED PAPER TOPIC LIST - STUDENT LIST

In 1978, the Association for Computing Machinery (ACM) held a conference for the History of Programming Languages (HOPL) in conjunction with its Special Interest Group for Programming Languages (SIGPLAN). At the conference, speakers presented papers about 13 programming languages. A follow-up conference in 1993 covered 14 programming languages. Most recently, a third conference in 2007 covered 12 programming languages. A fourth conference is being planned for 2020. (Which languages do you think might appear there?)

ASSIGNMENT

In this term paper assignment, you will be assigned to research the history of a famous or significant programming language, many of which were discussed at these conferences. Each student will be assigned a different programming language, at random, during class on Monday, January 28.

Write a 3-5 page term paper that discusses the origins of the language, who created it and for what purpose, its acceptance and use in the computing community, how it changed over time, and how it influenced languages that followed. Although your paper may use programming examples from the language, your paper should not be a tutorial on how to program in your assigned language. Instead, you should present the history of the programming language in a clearly written manner.

In researching your topic, you should read and reference the relevant paper(s) from the HOPL conferences (if applicable) in addition to references found online and in print. The HOPL papers are available from the ACM Digital Library which is accessible from the Web on campus.

For some guidance, a fourth HOPL conference is scheduled for 2020, and the guidelines for authors has a page that has a number of questions that you can ask yourself when researching your language. You don't have to answer all of these questions (there are a lot), but you will see that the questions do give you some direction. Note that the questions don't have you researching how to program in the language. The questions are aimed more about who developed it, why was it developed, what did it influence later, etc.

FINDING AND CITING SOURCES

You must have at least 5 different sources of information for your paper. Of course, you may use more, so if you find additional resources, don't limit yourself to 5 just to get by. You should be able to find many sources online and in print. Check the CMU library for older books on the programming languages to see if they shed any light on the history of the language and/or its creator(s). Remember that not all references about the history of a language will be online for you to search with Google. You might need to dig into print sources.

Although you may read about the programming language in Wikipedia, you may NOT use any text from Wikipedia in your term paper. You may NOT quote or use Wikipedia articles as references. You may follow the references from Wikipedia to sources of information online and in print to get more information about your assigned language that you may use in your paper, if applicable. You may only cite sources that can be attributed to one or more identifiable authors. Be careful not to quote from blogs or other social sites unless you can verify the author and his or her expertise with respect to the history of the programming language. Be careful when you search for material online. You MUST be certain as to the author(s) of the material that is written and the correctness of the material posted. (Just because it's on the web does not mean it's true.)

When citing references, use the Chicago Manual of Style available here:

http://www.chicagomanualofstyle.org/tools_citationguide.html

On this page, click on the Author-Date tab to see various examples of references. The online guide has more detailed information for specific types of references, including web pages. For help formatting your references, you can visit

http://www.bibme.org/chicago/

and click on the type of the reference source to enter your source information. You will then get the properly formatted reference based on the Chicago Manual of Style. Note that this is the reference you list at the end of your paper.

In the paper itself, you should refer to the reference using the abbreviated Author-Date style. (Turing, 1936) If several sentences or a paragraph all refer to information from the same source, you can use the abbreviated reference at the end of the section or paragraph. You don't need to reference every single sentence. Your paper should not be an entire collection of quotes and references. You are expected to connect the information with your own thoughts, observations and segues to tell the story of the programming language you are assigned.

PAPER FORMATTING AND SUBMISSION GUIDELINES

Your paper should be double-spaced with a 1 inch margin on all sides, using a minimum of 10 point font and a maximum of 12 point font in Times-Roman or Arial/Helvetica typeface. If you include photographs, programs, figures, diagrams or tables, these will not count toward the total of 3-5 pages. Additionally, very large indented quotations will also not count toward the required page total. References should be made briefly in the text (Turing, 1936) with a full list of references at the end of the paper. The list of references does not count toward the paper length.

Your term paper should have a title page that lists the title of the paper (e.g. The History of the C0 Programming Language) along with your name and the date. This title page does not count toward the paper length.

All material in your paper that is not your own words or drawing/photos/etc. should be cited. Exact quotations must be shown as quoted text, identifying the source of the quotation.

DELIVERABLES

1. You will spend the first week researching your programming language, gathering the papers and sources you need, and you will hand this in via Canvas by Monday, February 3rd at 9:00AM.

2. You will then spend the next two weeks writing a rough draft of the paper, and then spend the final week polishing the rough draft into the final version of the paper. If you need help with your writing, visit the Global Communication Center in Hunt Library https://www.cmu.edu/gcc/. You do not have to hand in your draft, but to get the best score, you should write a draft and have someone look at it for comments. It is usually very clear when students don't write a draft when the final product is done. Students who don't write drafts tend to get much lower grades.

3. The final term paper must be submitted on Canvas by Monday, February 24th at 9:00AM (Eastern). Please be aware that your work will be checked using online resources including TurnItIn to check for plagiarism. The work you submit must be your own, with quotations, paraphrasing, pictures, diagrams, tables and material from other authors cited appropriately.

4. On the Wednesday after the term paper is due, you will be expected to be in class to briefly represent the programming language you were assigned. The lecture for that day is on the history of programming languages, and as we get to each language, the student responsible for the term paper for that language will answer a few questions about the language's history for the class. This will contribute to your final term paper grade.

GRADING RUBRIC

This assignment is worth 10% toward your final grade. You will be graded based on the following points:

If you have any questions about the assignment or concerns about using proper citations, please ask your instructor or teaching assistant. Evidence of plagiarism will result in a charge of academic dishonesty which includes an immediate grade of R in this class and a letter to the Dean of Student Affairs to review this case for possible suspension or expulsion from Carnegie Mellon University.