---
title: "Jam 02 - Summary and Submission"
tags:
- 3 ๐งช in testing
- 4 ๐ฅณ done
- jam02
- submission
---
<!-- markdownlint-disable line-length single-h1 no-inline-html -->
<!-- markdownlint-configure-file { "ul-indent": { "indent": 4 }, "link-fragments": {"ignore_case": true} } -->
# Summary
{%hackmd dJZ5TulxSDKme-3fSY4Lbw %}
Throughout this jam, you've explored several critical aspects of software design:
1. **Type Choices Matter**: You saw how primitive types and wrapper classes each have their place, and choosing the right one can significantly impact performance.
2. **Algorithm Design Matters**: The Fibonacci exercise showed how the same problem can be solved in multiple ways, each with different trade-offs between:
- Elegance vs. Performance
- Simplicity vs. Efficiency
- Memory usage vs. Computation speed
3. **Testing Matters**: You learned to:
- Validate your implementations
- Measure and compare performance
- Think critically about your results
Remember: In Computer Science, there are often many ways to solve a problem. The art of programming isn't just about finding *a* solution - it's about finding the *right* solution for your specific needs.
# Project Structure
The following new files should be in your repository:
```text
csci205_jams/
โโโ src/
โ โโโ main/
โ โโโ java/
โ โโโ jam02/
โ โโโ Die.java
โ โโโ Factorial.java
โ โโโ Fibonacci.java
โ โโโ PrimitivePerf.java
โ โโโ answers.txt
```
# Submission
Before submitting your work, complete this final checklist:
1. **Code Completeness**
- All required files are present and in correct locations:
- `Die.java`
- `Factorial.java`
- `Fibonacci.java`
- `PrimitivePerf.java`
- `answers.txt`
- All files compile without errors
- All programs run correctly
2. **Documentation & Style**
- Code includes proper comments and documentation
- All questions in `answers.txt` are answered:
- Questions 1.1-1.3 (Java Types)
- Questions 2.1-2.2 (Performance)
- Question 4.1 (Factorial)
- Questions 5.1-5.2 (Fibonacci)
- All Java files pass checkstyle verification
- No style warnings remain in any file
3. **Testing**
- All programs have been tested with various inputs
- Performance measurements are complete
- Output formatting matches requirements
4. **Version Control**
- All changes are committed
- Working directory is clean
- Changes are pushed to GitLab
:::warning
๐ง **Important Submission Notes**
- Verify your code is in the correct package (`jam02`)
- Double-check all file locations match the project structure
- Run checkstyle verification on all Java files
- Ensure you've pushed your final commit to GitLab
- The instructors can only grade what's in your GitLab repository
:::
Don't forget to push your work to the remote repository:
```bash
git push origin main
```
:::warning
๐ง **Important**
Always verify your work appears on [gitlab.bucknell.edu](https://gitlab.bucknell.edu/). The instructors and graders can only see and grade what you've properly pushed to your remote repository.
:::