For this project you will work in teams to investigate a technical topic and give a
20-minute presentation during classtime. Presentations will be given the final week of the semester.
Please plan on about 15 minutes to present, with 5 minutes of Q&A.
You will work in groups of 4-5 students (depending on the number of students in the course), for
a total of 5 teams. You may choose your own teams.
Note that this is a requirement!
Deadlines:
- Review of your presentation material is due by the Friday of Week 14 (Nov 29).
 - Your final documentation is due BEFORE presentations, which means BEFORE 
Wednesday of Week 15 (last day of classes).
No documentation will be accepted afer 10am on Wednesday, Dec 4.
Note: your documentation may include more that can be presented within the allotted time, so
focus on the essential areas during your presentations.
 - Presentations are given on the last day of classes, Wednesday of Week 15.
 
Details:
Each team will investigate and present one of the folloing 8 topics, which will be assigned in
class:
-  Exceptions (Java)
 -  Formatted printing (C/C++ and Java)
 -  Thread Pools (Java)
 -  Files and Streams (Java versus C/C++)
 -  Functional Programming and Lambda Expressions
 (C++, Java, Python)
  
 | 
-  STL versus Collections (C++ and comparison to Java)
 -  Value Semantics (C++)
 -  Multidimensional Arrays (Java)
 -  The Garbage Collector (Java)
 -  Pointers with Arrays, Classes, and struct  (C/C++)
 -  C struct versus C++ Classes  (C/C++)
  
 | 
Evaluation
- Presentation 50%
25% will be for the group, 25% will be individual
Specific areas of evaluation include:
- Presentation is within the stated timeframe.
 - Visual aids are clear and readable.
 - Each member of the group contributes.
 - Smooth transitions.
 - Interesting presentation.
 - Good, appropriate use of the whiteboard.
 - Good responses during Q&A.
 - The speaker can be heard.
 - The speaker can be understood.
 - The speaker gives clear and accurate explanations.
 - When questioned, the speaker gives clear and accurate answers.
 - The speaker demonstrates understanding of the topic.
 - The speaker engages the audience.
 
 - Technical Content 50%
Specific areas of evaluation for both the presentation and documentation include:
- Documentation is well written and organized.
 - Understandable technical explanations.
 - No technical errors.
 - Technical coverage is at the appropriate level.
 - Good, clear explanations of usefulness/relevance.
 - Good, clear, and targeted code examples/snippets.
 
Your presentation material must be reviewed by the Writing Lab
or by making an appoint directly with Lucy-Anna, Jessica, or Jenny during Week 14.
Note: Each member of the group must be present for this review.
 
Resources:
- Your instructor
 - Your TAs
 - Your textbook
 - The online Java API Documentation
 - The online Java Tutorials
 
Note: The Internet is not listed - do NOT do undirected Google searches. Your
Instructor and TAs will help you properly scope your investigation and presentation topics.