· You may do this project as a group of 2 or 3 students. Your group may define your own topics or choose the topic on page 2. You must submit a hardcopy and softcopy of your report.
·
The
group report should be well written and professional. Include a title page that
identifies all group members. Also
include page numbers and a table of contents.
Use Times New Roman font size 12.
Reports should include at least the following major sections:
is about and what they can expect to find as they read through the report.
2. Design and implementation – Write a collection of programs to assist your understanding of Programming Languages Concepts. These programs should perform similar tasks using at least three programming languages (C, C++/Java and the third one must from another language). Compare how different languages handle similar tasks. Identify clearly what language features are demonstrated by your application, and where in the application they are used. Discuss any particular challenges you had in selecting, designing or building the application(s). What did you learn while doing so?
3. Results and Conclusion
- Clear Names (variables, types, subprograms)
- Clean Code
- Meaningful Comments
·
I
have no specific requirements of the size of your applications. They should be sufficiently complex to show
what the languages can do. I have in
mind 800 – 1,000 lines of code. Quality
counts more than size, but it is unlikely that trivial examples can convey
effectively what people typically do with the languages. Remember you are in competition with the
other groups.
· I have no specific requirements for report length. A concise high quality report is always better than a long rambling poorly-organized one. Your report should be long enough to do the job as I have outlined above, and no longer.
Write the Same Program in
Several Languages
For example, implement the game Crossing the River. At the start of the game, there are 3 cannibals and 3 missionaries on one side of a river. Your task is to move all cannibals and missionaries to the other side of the river. The boat can only take 1 or 2 people each time. But, when there are more cannibals than missionaries on one side of the river, they eat them and you lose the game.
Example output should
look like this:
Crossing the River
-----------------------------------------
Round 0
Left
Right
MMMCCC
Boat
First passenger (c for cannibal, m for missionary): h
Illegal Input!
First passenger (c for cannibal, m for missionary): m
Second passenger (c for cannibal, m for missionary, n for none): c
-----------------------------------------
Round 1
Left
Right
MMCC MC
Boat
First passenger (c for cannibal, m for missionary): c
Second passenger (c for cannibal, m for missionary, n for none): c
Illegal input!
Second passenger (c for cannibal, m for missionary, n for none): n
-----------------------------------------
Round 2
Left Right
MMCCC M
Boat
Missionaries eaten by cannibals! You lose!
Crossing the River
-----------------------------------------
Round 0
Left Right
MMMCCC
Boat
First passenger (c for cannibal, m for missionary): m
Second passenger (c for cannibal, m for missionary, n for none): c
-----------------------------------------
Round 1
Left Right
MMCC MC
Boat
First passenger (c for cannibal, m for missionary): m
Second passenger (c for cannibal, m for missionary, n for none): n
-----------------------------------------
Round 2
Left Right
MMMCC C
Boat
First passenger (c for cannibal, m for missionary): c
Second passenger (c for cannibal, m for missionary, n for none): c
-----------------------------------------
............
............
............
-----------------------------------------
Round 15
Left Right
CC MMMC
Boat
First passenger (c for cannibal, m for missionary): c
Second passenger (c for cannibal, m for missionary, n for none): c
-----------------------------------------
Congratulations! You win the game in 15 rounds!
Write Different Programs
Demonstrating the Same Features Identify
a group of Programming Language features (arrays, loops, dynamic data, error
processing, etc.) to form the basis of your evaluation. Write programs in
different languages that demonstrate how each language handles those features.
The programs don't have to be complex or the same (or even similar). You may
choose to write one small program for each feature, or combine several features
into one program.
Submission:
(1) Submit a hardcopy of your project report to me when you come to the final exam.
(2) E-mail Softcopy of report + Code (Zip format) to Prof. Yang (cungang@gmail.com)