AP CSP Day 9 - Program Documentation
AP CSP Day 9 - Program Documentation
Course Information
- Course: AP Computer Science Principles
- Unit: Big Idea 1 - Creative Development (CRD)
- Lesson: Day 9 (50 minutes)
- Learning Objective: CRD-2.G - Describe the purpose of a code segment or program by writing documentation
Learning Objectives
Primary Goals
Students will be able to:
- Explain the importance of program documentation
- Identify different types of program documentation
- Write effective documentation for a program
- Analyze the impact of documentation on program understanding
AP Exam Alignment
- Big Idea 1: Creative Development (10-13% of AP Exam)
- Essential Knowledge: CRD-2.G.1, CRD-2.G.2, CRD-2.G.3
- Computational Thinking Practice: 1.A - Investigate the situation, context, or task
Lesson Structure (50 minutes)
Opening Hook (10 minutes)
9.1 Welcome & Lesson Preview (5 minutes)
Teacher Activities:
- Welcome students to Day 9
- Review previous lesson's key concepts
- Introduce today's focus on program documentation
Student Activities:
- Review previous lesson's materials
- Think about: "What makes program documentation useful?"
9.2 Quick Documentation Challenge (5 minutes)
Activity: "Write a Code Description"
Instructions:
- Groups of 4-6 students
- Write documentation for a given code segment
- Discuss the importance of documentation
Purpose: Activate thinking about program documentation
Core Content Instruction (20 minutes)
10.1 What is Program Documentation? (10 minutes)
Definition (CRD-2.G.1):
Program documentation is written information that explains how a program works and what it does.
Key Concepts:
- User documentation: Helps users understand how to use the program
- Developer documentation: Helps developers understand how the program is built
- API documentation: Explains how to use program interfaces
- Technical documentation: Details program architecture and components
Case Study: The development of a mobile app
- Documentation process: Writing user guides, API references, and technical specifications
- Outcome: A well-documented mobile app
10.2 Types of Program Documentation (5 minutes)
Types:
- **User documentation: For end-users
- **Developer documentation: For developers
- **API documentation: For interface users
- **Technical documentation: For technical staff
Examples:
- E-commerce app: User documentation for shopping features
- Social media app: Developer documentation for API integration
- Mobile app: Technical documentation for app architecture
10.3 Importance of Documentation (5 minutes)
Why is it important?:
- Clarity: Documentation explains program functionality
- Maintenance: Helps with program updates and fixes
- Collaboration: Facilitates team work on the program
- User experience: Improves user understanding and satisfaction
Discussion Questions:
- How does documentation improve program understanding?
- What are the different types of documentation?
- Why is documentation important for successful programs?
Hands-On Activity (15 minutes)
11.1 Group Project: Documentation Practice (15 minutes)
Activity: "Write Program Documentation"
Instructions:
- Groups of 3-4 students
- Each group writes documentation for a different program
- Identify user, developer, API, and technical documentation
- Discuss how documentation improves understanding
- Present the documentation to the class
Materials:
- **List of programs to document
- **Documentation worksheet
- **Access to coding environment
Learning Goals:
- **Write effective program documentation
- **Understand different documentation types
- **Practice documentation skills
- **Present ideas effectively
Assessment:
- **Group participation
- **Documentation quality
- **Use of documentation tools
- **Presentation clarity
Closure & Preview (5 minutes)
12.1 Key Concepts Review (2 minutes)
Today's Learning Highlights:
- ✅ Understanding program documentation
- ✅ Identifying different documentation types
- ✅ Writing effective documentation
- ✅ Analyzing documentation impact
AP Exam Connection:
- These concepts will appear in AP exam multiple choice questions
- Understanding documentation is crucial for the Create Performance Task
12.2 Next Class Preview (3 minutes)
Day 10 Topic: "Program Testing and Debugging"
- Learning Objective: CRD-2.E - Develop a program using a development process
- Activity: Practicing program testing techniques
- Homework: Think about a recent program you used. What documentation did it have? What could be improved?