Lesson 1.9: Unit 1 Project Work Session

Assignment 1.8 Completion Day

Welcome to Project Day!

Today's Goals:

  • Complete Assignment 1.8 (PERFORM)
  • Test and debug your code
  • Submit your Unit 1 Assessment
  • Prepare for Unit 2

Question: How many of you have started your project?

Quick PCEP Section 1 Review

Before we work, let's refresh the key concepts:

PCEP 1.1: Interpreted language, syntax, semantics
PCEP 1.2: Keywords, indentation, comments
PCEP 1.3: Literals, variables, numeral systems, PEP-8
PCEP 1.4: Operators, precedence, type casting
PCEP 1.5: print() and input() functions

Quick check: Which objective do you feel most confident about?

Project Requirements Reminder

Your project must demonstrate ALL of these:

  • Different data types and literals
  • At least 2 numeral systems (binary, octal, hex)
  • All operator types we've covered
  • Proper variable naming (PEP-8)
  • Interactive input/output with formatting
  • Type conversion
  • Professional code structure and comments

Show of hands: Who has all requirements covered?

Common Troubleshooting Issues

Let's address these before you get stuck:

# Issue 1: Type conversion errors
age = input("Age: ")
next_year = age + 1  # Error!
# Fix: age = int(input("Age: "))

# Issue 2: Division vs floor division
result = 7 / 2    # 3.5
result = 7 // 2   # 3

# Issue 3: String concatenation
name = "Alice"
age = 25
print("Hello " + name + age)  # Error!
# Fix: print("Hello", name, age)

Code Quality Checklist

Before you submit, verify:

  • [ ] Variable names follow PEP-8 (lowercase_with_underscores)
  • [ ] Proper indentation (4 spaces, consistent)
  • [ ] Meaningful comments explaining your logic
  • [ ] No lines longer than 79 characters
  • [ ] Clear, descriptive variable names
  • [ ] Professional header comment with your info

Tip: Use your IDE's PEP-8 checker if available!

Testing Your Program

Make sure to test these scenarios:

  1. Normal input: Does it work with expected values?
  2. Edge cases: What about 0, negative numbers, very large numbers?
  3. Invalid input: What happens with letters when you expect numbers?
  4. Empty input: What if user just presses Enter?

Partner up: Test each other's programs for 5 minutes!

Work Session Structure

Next 30 minutes - Individual work time:

  • 0-15 min: Finish core functionality
  • 15-25 min: Add polish, test thoroughly
  • 25-30 min: Final review and submission prep

I'll circulate for questions - raise your hand if stuck!

Getting Help Guidelines

When you need help:

  1. Try debugging first: Read error messages carefully
  2. Check the requirements: Make sure you understand what's needed
  3. Ask specific questions: "Why does line 15 give an error?" not "It doesn't work"
  4. Show your code: Be ready to explain what you're trying to do

Remember: I'm here to guide, not write code for you!

Peer Collaboration Rules

You may:

  • Discuss general approaches and concepts
  • Help each other debug syntax errors
  • Share testing strategies
  • Explain PCEP concepts to each other

You may NOT:

  • Copy code from classmates
  • Write code for someone else
  • Share complete solutions

Golden rule: Your final submission must be your own work!

Submission Checklist

Before you submit, ensure you have:

  • [ ] Single .py file with complete program
  • [ ] Header comment with your name, date, description
  • [ ] All PCEP Section 1 objectives demonstrated
  • [ ] Program runs without errors
  • [ ] Sample output or test run documented
  • [ ] Self-assessment checklist completed

File naming: Use format lastname_firstname_unit1.py

Mid-Session Check-in

Quick status update - raise your hand if:

  • You're completely done ✅
  • You're mostly done, just polishing 🔧
  • You're making good progress 📈
  • You need help with something specific 🆘
  • You're stuck and not sure what to do ❓

No judgment - just helping me know where everyone stands!

Common Enhancement Ideas

If you finish early, consider adding:

  • Input validation (reject invalid entries)
  • Menu system for multiple operations
  • More sophisticated calculations
  • Better output formatting
  • Additional numeral system conversions
  • More interactive features

But remember: Meeting requirements perfectly is better than incomplete extras!

Final 10 Minutes

Wrap-up tasks:

  1. Final testing: Run your program one more time
  2. Code review: Read through for any obvious issues
  3. Documentation check: Is everything properly commented?
  4. Submission: Upload to course management system
  5. Backup: Save a copy for yourself

Breathe: You've got this!

Submission Process

To submit your project:

  1. Save your file as lastname_firstname_unit1.py
  2. Test it one final time to make sure it runs
  3. Upload to [course management system]
  4. Include brief description of your project choice
  5. Submit before end of class period

Late submissions: 10% penalty per day, so submit today!

Looking Ahead: Unit 2 Preview

Starting Monday: Control Flow

  • Making decisions with if statements
  • Repeating actions with loops
  • Building more complex, interactive programs
  • PCEP Section 2 (29% of certification exam)

Think about: How could your current project be improved with decision-making?

Exit Survey

Quick feedback for me:

  1. Difficulty level: Was this project too easy, too hard, or just right?
  2. Time allocation: Did you have enough time to complete it well?
  3. PCEP preparation: Do you feel ready for Section 1 exam questions?
  4. Most challenging part: What was hardest about this unit?

30 seconds to jot down thoughts - I'll collect as you leave

Congratulations!

You've completed Unit 1 and demonstrated mastery of:

  • Python fundamentals and structure
  • Variables, operators, and data types
  • Input/output operations
  • Professional coding practices
  • PCEP Section 1 objectives

Well done! You're ready for more advanced Python concepts!

Questions and Final Help

Last chance for questions before submission deadline

Office hours: Available after class if you need additional help

Remember: This project demonstrates your readiness for PCEP certification and more advanced programming concepts

You've got this! 🐍