---
title: "Friday Challenges Overview"
tags:
- 2 ๐ in writing
- 3 ๐งช in testing
- 4 ๐ฅณ done
- documentation
---
<!-- markdownlint-disable line-length single-h1 no-inline-html -->
<!-- markdownlint-configure-file { "ul-indent": { "indent": 4 }, "link-fragments": {"ignore_case": true} } -->
{%hackmd dJZ5TulxSDKme-3fSY4Lbw %}
# Friday Challenges Overview
## Introduction & Outcomes
Most Fridays, you have the opportunity to earn bonus points by incorporating professional development practices into your codebase. These challenges are designed to help you gradually learn industry-standard practices and tools that you'll need in future assignments. Think of them as a chance to practice and perfect your skills before they become required!
:::info
๐ **Note**: Detailed slides and examples for each Friday Challenge can be found in the lecture materials on Moodle.
:::
## What You'll Learn & Accomplish
1. **Code Style and Documentation:**
- Master professional code formatting standards
- Learn to write clear and helpful documentation
- **Outcomes**: You'll be able to:
- Write code that follows Google's Java Style Guide
- Create professional JavaDoc documentation
- Keep your code style consistent across all your projects
2. **Professional Development Tools:**
- Get comfortable with IDE tools that make your life easier
- Learn how to use automated code quality tools
- **Outcomes**: You'll be able to:
- Use IntelliJ's formatting shortcuts like a pro
- Generate and check JavaDoc documentation quickly
- Understand and fix Checkstyle warnings
3. And more!
# Tips for Success
1. **Build Good Habits Gradually**:
- Week 02: Focus on getting your formatting right
- Week 03: Add good documentation habits
- Week 04: Put it all together
2. **Use Your Tools**:
- Format your code with โโฅL (Mac) or Ctrl+Alt+L (Windows)
- Watch for real-time Checkstyle feedback
- Let IntelliJ help you generate JavaDocs
3. **Watch Out For**:
- Forgetting to document your public methods
- Inconsistent brace placement
- Missing descriptions in your @param tags
- Wrong order of JavaDoc tags
# Your Challenge Journey (In reverse order so most recent is on top)
## Week 04 - Comprehensive Checkstyle
### What You'll Learn - Week 04
Now you'll combine everything you've learned about style and documentation, preparing for the stricter requirements coming up in future assignments.
### What's Included - Week 04
- More advanced formatting rules
- Complete documentation requirements
- Enhanced type checking
- Professional-level standards
### How to Succeed - Week 04
Your code should have:
- No Checkstyle errors
- Very few style warnings
- Complete JavaDoc documentation
- Professional-quality code organization
## Week 03 - JavaDocs
### What You'll Learn - Week 03
Building on your style skills, you'll learn how to document your code like a professional using JavaDocs. This is a key skill that employers look for!
### What's Included - Week 03
- How to document your methods and classes
- Writing clear parameter descriptions
- Documenting return values properly
- Handling exception documentation
- Adding author and citation information
### How to Succeed - Week 03
Your documentation should have:
- Clear descriptions of what your methods do
- Helpful parameter explanations
- Proper use of all required @tags
- Professional-looking documentation style
## Week 02 - Basic Checkstyle
### What You'll Learn - Week 02
Your first Friday Challenge introduced you to code style standards using Checkstyle. Don't worry - we've configured it to follow Google's Java Style Guide and made all issues show up as warnings while you're learning.
### What's Included - Week 02
- Basic rules for formatting your code
- How to name your variables and methods properly
- Core structure checks to keep your code organized
- A gentle introduction with all issues as warnings
### How to Succeed - Week 02
Make sure your code has:
- Clean indentation (no messy spacing)
- Consistent brace placement (no dangling braces)
- Clear variable names (no single letters or confusing abbreviations)
- Organized structure (easy to read and understand)
# What's Coming Next
Each week's Friday Challenge will introduce new concepts and practices. Some challenges may become ongoing requirements for future assignments, while others will be one-time bonus opportunities. Check the weekly lecture notes on Moodle for:
- Which practices become required
- When new requirements take effect
- Details about bonus point opportunities
- Specific grading criteria
Future challenges could cover topics like:
- Design patterns
- Advanced programming concepts
- Software engineering best practices
- And other professional development skills
- Have something you want to cover? Let me know!
# Helpful Resources
- Google Java Style Guide (for style rules)
- Oracle's JavaDoc Guide (for documentation examples)
- IntelliJ Documentation (for tool tips)
- Our Course Checkstyle Configuration (in your project)