---
# System prepended metadata

title: Jam 03 - Checklist
tags: [refactoring, jam03, regex, "3 \U0001F9EA in testing", debugging, "4 \U0001F973 done"]

---

---
title: "Jam 03 - Checklist"
tags: 
  - 3 🧪 in testing
  - 4 🥳 done
  - jam03
  - debugging
  - regex
  - refactoring
---
<!-- 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 jam03 package directory
- [ ] Create `answers.txt` in your jam03 directory

**Regular Expression Development**

- [ ] Exercise 1 - Regular Expression Fundamentals
    - [ ] Complete regex pattern matching tutorial
    - [ ] Create and test three regex patterns on regex101.com:
        - [ ] Phone number pattern
        - [ ] Email username pattern
        - [ ] Time pattern
    - [ ] Implement `PatternMatcher.java`
    - [ ] Verify patterns work the same in Java as regex101.com
    - [ ] Add additional test cases for each pattern
    - [ ] Commit changes

**Debugging Skills**

- [ ] Exercise 2 - Basic Debugging Tools
    - [ ] Add and test print debugging statements
    - [ ] Learn to set and remove breakpoints
    - [ ] Practice using debugging controls
    - [ ] Complete Debug Task 1 in `answers.txt`
    - [ ] Clean up debug statements
    - [ ] Commit changes

- [ ] Exercise 3 - Scientific Debugging
    - [ ] Practice with conditional breakpoints
    - [ ] Analyze variable changes in the debugger
    - [ ] Complete Debug Tasks 1-4 in `answers.txt`
    - [ ] Understand capture groups and pattern matching differences
    - [ ] Compare debugging approaches
    - [ ] Commit changes

**Code Organization & Refactoring**

- [ ] Exercise 4 - Log Analysis and Refactoring
    - [ ] Implement basic log analyzer functionality
    - [ ] Process different log formats
    - [ ] Generate correct summary report
    - [ ] Refactor code:
        - [ ] Extract report generation method
        - [ ] Extract additional methods
        - [ ] Verify output remains unchanged
    - [ ] Commit changes

**Tying it all together**

- [ ] Exercise 5 - Base-3 Converter
    - [ ] Read and understand full requirements
    - [ ] Implement input validation with regex
    - [ ] Create base-3 to decimal conversion
    - [ ] Add user interaction features
    - [ ] Test with all example cases
    - [ ] Refactor for better organization
    - [ ] Commit changes

**Final Submission**

- [ ] Verify all files are present and in correct locations
- [ ] Check all questions are answered in `answers.txt`
- [ ] Run checkstyle on all Java files
- [ ] Test all programs with various inputs
- [ ] Ensure working directory is clean
- [ ] Push final changes to GitLab

:::
