CS415 - Individual Project

This is a chance for you to explore a programming language of interest to you other than the ones we will explicitly be programming in as a class (i.e. Fortran, Ocaml, Prolog, Smalltalk/Squeak, and AspectJ; C, C++ and Java are excluded as well).  Note that if you choose a language that is already being discussed in lecture (they are listed on the website), it will be a bit more difficult, as you will have to add something that has not already been gone over.

  1. The Assignment

    Select a programming language of your choice and:

    a) Choose a small/moderate-sized application to implement in your language of choice. The application you choose will depend on the language you select. You will be expected to submit your code and demo it to the TA/instructor. The application you select will vary but it should be a moderate sized application (100-200 lines of code).

    b) Write an evaluation of the language based on your own experiences as well as your research on the topic. Your evaluation report should appear as follows:

Part I - Introduction (1-2 pages)

Part II - Description of Language (5-8 pages including code examples) 

Describe the language using the vocabulary we have used in class to compare various languages.  I will expect you to have a small code snippet for each bullet/sub-bullet giving an example.

Part III - Final Evaluation. (1-2 pages)

Based on your experience with the language, give a short evaluation.

Your report should be more than just a laundry list of the items listed above - I can find a manual or a web page that lists this information easily enough.  Take every opportunity to give code examples or otherwise show that you have put "some of yourself" into the report.  Opinions and direct comparisons with other languages are welcomed but be sure to support your opinions. If you have questions about whether your report is appropriate or not, feel free to run it by the instructor before the due date.

c) Give a brief presentation of your project during the last week of the course (the week of classes after we get back from Thanksgiving).  The presentation will describe/demo both the language you selected and your application.  Details about the presentation coming later.

  1. The Rules:

This project is meant to be an individual effort. You are encouraged to discuss your project with other class members (particularly if several of you end up choosing the same language, it may be useful to share good web resources, installation tips, etc.), but your sample application and written evaluation report should be your own work.

You must cite all sources used.  Turning in application code used for another class or for a job will be considered a violation of the honor code (i.e. this should be new work).

  1. Resources:

The following pages provide some good starting points for your exploration:

You are responsible for locating what you need to get this project done.  Before you submit your proposal you might want to be sure that a free (or at least cheap) compiler for the language you select is available.  Try installing it and running a few simple applications.  You will need to deal with downloading and installing any necessary software.  Sharing information about installing software or helping another person install software is NOT considered a violation of the honor code (i.e. it is o.k. to do).  I expect that you will find ample resources freely available on the web (tutorials, on-line manuals, etc.) such that purchasing a manual on a language you select will be unnecessary, but you may want to take this into consideration as well when selecting a language.  Note: if you do not have a computer available to you to install software then please see the instructor immediately so we can make arrangements within the department.

  1. Due Dates:

 

Last Updated: 09/05/2005