Projects

PROJECT SYLLABUS

DESIGNING LANGUAGES

SPRING 2008 

Project Presentation Schedule:

Wed. June 11, from 10:00-1:00 in Sem 2, C1107

  1. Les, Karen, Welby
  2. Kimi, Sara, Katie
  3. Matt W., Ayumi
  4. Nat, Avery, Caleb
  5. Morgen, KC, Scott
  6. Nate, Sean
  7. Ishmael, Chris, Shonda
  8. Shannon, Laura, Rebekah
  9. Judy Cushing

 Thurs. June 12, from 9:30-1:00 in Sem 2, C1105

  1. Elizabet, Jennifer, Alicia
  2. Leala, Vivian, Joshua
  3. Joel M., Kelly, Matt B.
  4. Ryan, Sam
  5. Ameilia, Erica, Courtney
  6. Peter, Jamie, Darrell
  7. John, Cameron

For the last 5 weeks of the quarter, you'll work in groups of 2 or 3 to complete a language design project.  The project is an excellent opportunity to integrate your understanding of the other work of the program – linguistics, programming, seminar reading, case studies – and to expand your knowledge through your own research.  Please note that the specifications for your group and individual reports are attached below.  You will also find the presentation guidelines attached below.

The Assignment

The project assignment is to design your own language, either a new language or a new extension to an existing artificial programming language.   

·        New language:

Design either a language intended for human-to-human communication or a programming language.  Your project must address the following:

-         particular focus or purpose of the language

-         the language's morphology, syntax, and semantics

-         other linguistic features of the language (e.g., phonology, writing system, gestures), as appropriate

-         a critique of your language

Because of the complexity of this task, you are encouraged to keep your language small. 

·        New extension to an existing artificial programming language: Develop and implement an extension of Logo (or some other artificial language you know well) to accomplish some task.  Your project must address the following:

-         purpose of the extension (what problem(s) does it solve?) -         the language's syntax and semantics

-         how your extension fits into the design of the base language and extends it usefully

-         a critique of your extension (ideally with input from a focus group that you've tested your language on) 

The end results of your project work will consist of a substantial written report and a 12-minute presentation in class during Week 10. 

Further Criteria 

If your group works on a language for human-to-human communication, it should have:

·        a lexicon of at least 25 words

·        at least 2 morphological rules for generating more words

·        at least 5 syntactical rules, including one to generate the canonical or core sentence (think about negation, yes/no questions, wh questions, connecting sentences)

·        a writing system (which can be a variation of the Greco-Roman one)

·        explanations of how to pronounce it if it is spoken

·        a function that is explained and clearly illustrated in your report and presentation 

If your group is extending an existing programming language, you should:

·        have your extension do something that the existing language doesn't do (or doesn't do well),

·        explain why the extension is needed and how your extension meets that need, 

·        design several new commands (probably around 5, depending on how complex they are) that would implement your idea,

·        implement at least some of the new commands (and preferably all of them, depending on how extensive the extension is).

 If your group is designing a new programming language, you should give:

·        a list of data types your language has,

·        a list of commands your language has,

·        the syntactic construct for each command (its format),

·        the semantics for each command (what the command will do),

·        some example commands,

·        at least two example programs in your new language, along with an explanation of its intended results. 

The Schedule * Please note that the explanation of how to take minutes is attached in a file below.

Starting in Week 6, we'll use Tuesdays 2p-4p for project work.  We'll use Week 5 Tuesday 1p-2p to get you started on thinking about the project. 

Week 5

In class:  Discuss project requirements.  Do talking circles exercise to develop and share your project ideas.

Week 6

In class:  Form project groups.  Develop project topics.  Arrange project group meeting times.Assignment:  Post project proposal on DL website by noon on Friday of Week 6.  Post minutes of all project group meetings.

Week 7

In class:  Discuss and formulate project plan.Assignment:  Post project plan on DL website by 5pm Wednesday (of Week 7).  Post project status report by the following week's class (Tuesday Week 8).  Post minutes of all project group meetings.

Week 8

In class:  Discuss structure of project report.  Discuss project status with faculty.Assignment:  Continue working according to project plan.  Post minutes of project group meetings.

Week 9

In class:  Discuss structure of project presentations.  Make preliminary plan for project presentation.  Discuss project report and presentation with faculty.Assignment:  Post draft of project report by beginning of class (2pm Tuesday Week 9).  Post minutes of project group meetings.

Week 10

Project presentations (Tues, Wed, Thurs)!  Project reports due by 1pm Monday.  Information about how to organize your project presentation is attached below.

Keeping Minutes

Every time your project group meets, you will need to keep minutes of the meeting, which you'll then post on the DL forum website within a day.  We intend for the keeping of minutes to serve a variety of useful purposes: they make it easy for you to see what you've accomplished and what decisions you've made; they allow anyone who missed the meeting to find out what happened there; they may help to keep your meetings efficient and focused on productive topics.  They also allow your faculty to see what kind of progress you're making in your project work.  The handout about keeping minutes at your group meetings is attached below. 

Project Proposal (due at noon on the Friday of Week 6)Your proposal should include the following:

·        Name of project

·        Full name of each member of your group

·        Briefly discussion of each of the items listed in the sections called "The Assignment" and "Further Criteria" above, giving particular attention to the focus or purpose of your language.  You don't need to have made decisions about all of the items listed above, but you do need to show that you've had some preliminary discussions about them.  Most importantly, your proposal should give a clear sense of the scope and intended function of the language you'll design.  

Project Plan (due at 5pm on the Wednesday of Week 7)

Your project plan should clearly identify the work that needs to be done to complete your project.  Your plan should include:

·        a detailed list of tasks to complete, with identification of who is responsible for which tasks

·        a concrete schedule for your work, including deadlines for the completion of specific tasks

·        a list of "next steps" – elements or ideas that you would incorporate into your project if you had more time.  (We may ask you to incorporate one or more of these into your project.) 

Project Status Report (due at 2pm on the Tuesday of Week 8)

This should be an updated version of your project plan, giving a brief but thorough account of the progress you've made on each part of your project work.  Explicitly detail your work on individual tasks, indicating how near they are to being completed; a high-level summary of your work on the project as a whole is not sufficient.

AttachmentSize
DL S08 project pres specs.doc24.5 KB
DL S08 project report specs.doc26.5 KB
DL S08 minutes handout - final.doc39.5 KB