Pair up (or triple up) for the group project. Once you do this, appoint a group leader and have the group leader email me, with a cc to all group members, the topic for the group project investigation, and the names of the members of the group. The suggested project is to learn a new language (no two groups may study the same language, and languages will be assigned on first come first served basis) and write a lexical analyzer for cmm in that language. Adventurous groups may implement the parser as well.
The programming language learned should be unkown to all team members. This is on the honor system.
Each group will present to the class for half an hour the last week of the term. Each group will also submit a 7 to 10 page paper summarizing what they learned.
You may also select to investigate other topics
Topics will be assigned on the basis of first-come-first-served. You can claim topics by email. You may list your preferences in order from first to last, in case one of the topics has been claimed by an earlier email, and I will assign you the highest preference still available.
|Topic||Presenters||Week 10 Time Slot|
|The Go Programming Language||Chase Smith, Nathaniel Vogel, Ryan Figge||Th (1)|
|The Ruby Programming Language||Gerardo Paleo, Matt Obzera, and Andrew Fredrickson||Tue (3)|
|The Crack Programming Language|
|The C# Programming Language||Nicholas Drazenovic and Emily Huizenga||Tue (1)|
|The Scala Programming Language||Kyle Loveless, Charles Miller, Tim Schneider||Th (3)|
|The Groovy Programming Language|
|The Python Programming Language||Alex Tonyan and Karl Swanson||Th (2)|
|The Perl Programming Language||Bill Moers and Mark Prucha||Tue (2)|
You can find material on these languages through Google.
Alternatively, select a language not listed, and then check with me for approval. You may also study any topic related to software development, as long as you write a sample program illustrating what you have learned. Examples of such topics are the Java Native Interface (getting Java programs to call code written in C and C++) Regular Expressions in C++; Threads in C++ (You may not use anything from CSC 420); or Win 32 GUI programming. For the last topic, you can check out this link or Google "Win 32 programming tutorial."
Papers will be graded on technical content, as well as the quality of writing. You are welcome to submit a sample (portion) of the paper for me to look over at least a week before submission for feedback on your writing.