--- 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. :::