Course Project
There are three requirements for your project in this class. Your job:
- Explore some specific aspect of programming languages in more depth
- drawing comparisons across multiple languages
- in a way that draws together the theory of languages (What is the idea?) and the practice (How does it affect the code programmers write? and/or How is this thing implemented?).
Beyond these requirements, you have wide lattitude in your project’s topic. Some ideas:
- Compare several language’s different approaches to the same feature or problem.
- Trace the history of a specific programming language feature or idea.
- Invesitage an early or unusual programming language, and show how it is unlike more common languages.
- Study a unique feature of one language, showing the problem it solves and how it solves it.
- Add a feature to Wordy, describing how you implemented it and how it compares to that feature in full-sized languages.
You also have some latitude in the form your project takes. It could be:
- a paper written in an academic style,
- a writeup in a “blog post” style,
- a coding project with a short explanation,
- or something else that you propose.
Whatever your topic, ask:
- What problem does this solve?
- What are the tradeoffs?
- How does this affect the work of programmers?
Your project should be medium-sized: larger than a capstone, smaller than a capstone. Writeups usually run around 8–10 pages (or shorter if there is a coding component), but I hesitate to give any sort of page count. You should focus instead on having a point and stating it clearly. (If you are running much longer than 10 pages, that is a warning sign. Check your work for filler language and meandering; try to get to the point sooner!)
You may do projects individually or in pairs. I recommend pairing up based on shared topic interest, but the choice is up to you.