CS 5500 Assignment #2. Assigned: Wednesday, 14 September 2016 Due: Wednesday, 21 September 2016 The goals of this assignment are (1) to give you practice looking at technical specifications and source code with a critical and discerning eye, (2) to give you practice writing the kind of constructive criticism you would be expected to offer as part of a technical review, (3) to give you a bit more practice navigating source code at a GitHub site, and (4) to give the instructors a chance to see how you think about specifications and software, which may influence future lectures and assignments. For this assignment, you must read the specification given by SRFI 135: Immutable Texts. (A link to SRFI 135 appears within the "Resources" section of the online materials for weeks 1 and 2.) You don't need to memorize that spec, and you don't even need to understand all of it, but you should understand its rationale, basic concepts, relationship to Unicode, and its core operations. After reading the specification document for SRFI 135, you must read the source code for its sample implementations. You don't need to understand all of that source code, but you should understand it well enough to contribute to the discussion of those implementations in a technical review. Instead of providing oral comments, however, you will write a technical memo that includes constructive criticism of both the specification and its sample implementations. Your memo should demonstrate your understanding of SRFI 135 by answering questions such as What's good about the specification? What's good about the sample implementations? How could the specification be improved? How could the sample implementations be improved? Be specific. Give reasons. Give examples. If you think something could have been done better, explain how it could be done better. Your technical memo should begin with a header that identifies you and the subject of your memo. The body of your memo should contain at least one section devoted to the specification and at least one other section devoted to sample implementations. Your memo may also include other sections if you believe they would contribute to your memo. Your memo does not have to be long, but it should demonstrate an appropriate understanding of the specification and sample implementations. Well-written criticism that makes good points will earn full credit. Poorly written criticism that doesn't really have anything to say will earn less credit. Mistakes in spelling, punctuation, and grammar may also reduce your grade for this assignment. You will submit your memo in printed form, on paper, at the beginning of class on the day this assignment is due. --------------------------------------------------