---
# System prepended metadata

title: Jam 04 - Checklist
tags: [arrays, jam04, switch, "3 \U0001F9EA in testing", gradle, control flow, "4 \U0001F973 done"]

---

---
title: "Jam 04 - Checklist"
tags: 
  - 3 🧪 in testing
  - 4 🥳 done
  - jam04
  - arrays
  - switch
  - control flow
  - gradle
---
<!-- markdownlint-disable line-length single-h1 no-inline-html -->
<!-- markdownlint-configure-file { "ul-indent": { "indent": 4 }, "link-fragments": {"ignore_case": true} } -->
{%hackmd dJZ5TulxSDKme-3fSY4Lbw %}

# Assignment Checklist

:::info
🎯 **Assignment Checklist**

**Setup & Environment**

- [ ] Create jam04 package directory
- [ ] Configure Gradle:
    - [ ] Create `module-info.java` in correct location
    - [ ] Set up Gradle configuration files
    - [ ] Update build script with your initials
    - [ ] Verify project builds with `./gradlew build`
- [ ] Exercise 1 - Gradle Setup
    - [ ] Configure Gradle in IntelliJ
    - [ ] Test basic compilation
    - [ ] Run sample program
    - [ ] Verify Gradle tasks work
    - [ ] Commit changes
- [ ] Create and switch to `jam04` branch

**Calculator Development**

- [ ] Exercise 2 - Calculator Program
    - [ ] Create Calculator.java with proper structure
    - [ ] Implement basic operations:
        - [ ] Addition (+)
        - [ ] Subtraction (-)
        - [ ] Multiplication (*)
        - [ ] Division (/)
        - [ ] Modulus (%)
        - [ ] Power (^)
    - [ ] Add input validation:
        - [ ] Numeric input checking
        - [ ] Operator validation
        - [ ] Division by zero handling
    - [ ] Implement continuous operation mode
    - [ ] Format output properly
    - [ ] Test with various inputs
    - [ ] Commit changes

**Array Operations**

- [ ] Exercise 3 - Array Manipulation
    - [ ] Review provided subArray implementation
    - [ ] Implement required methods:
        - [ ] concat
        - [ ] recReverse (using recursion)
        - [ ] altSum
        - [ ] isSorted
        - [ ] hasDuplicateValues
    - [ ] Add proper banner
    - [ ] Implement parameter validation
    - [ ] Verify test cases pass
    - [ ] Avoid Arrays class methods
    - [ ] Commit changes

**Statistical Analysis**

- [ ] Exercise 4 - Data Analysis
    - [ ] Create Skewness.java with proper banner
    - [ ] Implement core functionality:
        - [ ] Mean calculation
        - [ ] Median calculation
        - [ ] Skewness detection (1% rule)
    - [ ] Add input validation:
        - [ ] Quantity validation
        - [ ] Skew type validation
    - [ ] Format output correctly
    - [ ] Test with various data sizes
    - [ ] Commit changes

**Final Steps**

- [ ] Final Code Review
    - [ ] All files pass checkstyle verification
    - [ ] All programs compile without errors
    - [ ] All test cases pass

- [ ] Version Control
    - [ ] Ensure working directory is clean
    - [ ] Push `jam04` branch to GitLab
    - [ ] Merge to `main` branch
    - [ ] Push `main` to GitLab

:::
