CSE 3302 Programming Languages

Summer 07

 

Homework Essay Assignment (worth 10% of total grade)

Due August 2, 2007 (Thursday) at class time by e-mail to Dr. T.

 

Below is an essay assignment based on some of the assigned readings in “Reading for Homework Assignments/Pop Quizzes” posted/linked on the class website. This assignment will count for the homework grade for the class and will count as part of the ABET requirements for written communication (more on this below).

 

Submission instructions:

Please type your essay single spaced in the same font (Times New Roman 12 point) that this document comes up in MS Word or plain text. Do not change the font size or font type. Please only turn in MS Word documents (as .doc) or plain text files. No .docx, PDFs, or other formats will be accepted.

No handwritten assignments will be accepted. (Scanning a handwritten assignment does not change the fact that it is handwritten…) Assignments submitted to Dr. T in the wrong format will receive a zero (0).

Name the file with your homework essay in it with your last name followed by “HWSpr07” ex: Albert Camus’s homework should be named CamusHWSpr07.doc (or .txt).

Put “Lastname - CSE 3302 Homework Semester Two-digit-year” in the subject line of the e-mail when you submit your assignment, i.e. Albert’s would be “Camus – CSE 3302 Homework Summer 07” in the Subject line. Failure to follow the naming conventions will result in a loss of points.

E-mail your homework essay to Dr. Tiernan (tiernan@cse.uta.edu) not to the TA.

 

Essay requirements:

Since this assignment will count for your ABET requirements it will be graded both for its technical content as required by the essay assignment as well as graded for the quality of written communication that it demonstrates. There will be a grading rubric for essay written communication quality that will be posted on the website so that you will know how the essay will be graded. It is VERY IMPORTANT that you do a high quality essay for this assignment. If you are unsure of your capability in writing then use the available UTA resources (such as the Writing Center) to make sure your essay is of good quality.

This essay will require you to read the readings given below and then to do some additional research in order to write the essay. You should use proper bibliographic citations for all the references that you use for your essay. NOTE: If you do not use proper citations and you plagiarize any part of this essay, you will receive a 0 (zero) for your essay grade, I will fill out a Student Judicial Affairs academic dishonesty form which you will sign, and I will file a case for academic dishonesty (cheating) on you. If you do not understand what constitutes plagiarism you should review the definition I have posted on this site, you should go through the UTA library tutorial on plagiarism, and/or you should come talk to me about it. I expect you to read the definition and do the tutorial BEFORE you come talk to me about plagiarism. There is no excuse for not understanding this.

If you are having trouble accessing any of the readings then be sure you are linked through the UTA system in order to have permission to read the ACM articles if you are not an ACM member (through the UTA libraries links).

The essay should be at least three pages typed, single-spaced with margins of 1” or less on all sides. The first page should start with an essay title on the first line (centered or left justified), your name followed by your 10-digit ID on the second line, “Programming Languages CSE 3302 Summer 2007” on the third line, a blank fourth line and then your essay begins on the fifth line. Do not indent more than 0.5” at the beginning of each paragraph. Do not leave blank lines between paragraphs.

 

 

 

Readings for the essay:

 

  1. “An axiomatic basis for computer programming” by C.A.R. Hoare
  2. Section 11.8 in the Louden textbook on the lambda calculus
  3. Section 12.1 in the Louden textbook on first-order predicate logic (calculus)

 

Essay topic:

 

Use the three readings above and other sources as needed to write an essay on the following issues:

 

For the five paradigms in the textbook (sequential/procedural, object-oriented, functional. logic, and parallel), list some of the unique mathematical/logical topics which underlie each language paradigm. There should be a minimum of five mathematical topics here (one per paradigm) but you may include more than five.

For each of the listed mathematical/logical topics give a brief description of that area of mathematical study and give an example of that mathematical topic.

Determine if there are mathematical/logical topics that apply to more than one paradigm. If one or more topics exist, list these topics and discuss why they apply to multiple paradigms. If none are found, discuss why these do not seem to exist. Discuss your ideas with reference to at least two sources published some place other than the Web (although it can also be on the Web – an example would be an article from “Communications of the ACM”). This means to find other research on the topic of mathematical foundations of programming languages and use this to support your discussion about whether mathematical/logical topics can or do apply to more than one paradigm