Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

ASTR 596: Pair Programming Schedule & Guidelines

San Diego State University

Pair Programming Assignments for Projects 1-5

ProjectPair 1Pair 2Triple
Project 2Kaisia + PaigeHy + AislingCaden + Katie + Nodoka
Project 3Caden + KaisiaHy + NodokaPaige + Aisling + Kaitlyn
Project 4Katie + AislingKaisia + NodokaCaden + Paige + Hy
Project 5Hy + KatieCaden + PaigeAisling + Nodoka + Kaisia

Note: No official pair programming assignments for the Final Project - you’re welcome to collaborate informally with classmates, but there are no assigned partners. Everyone still submits their own independent work.

If someone is absent: The remaining partner should join the other pair group, creating two groups of 3 instead of two pairs and a triple.

Please stick to the assigned schedule unless there’s a serious conflict - contact me if issues arise.

Important Guidelines

What are Pair Programming Partners (for this class)?

Your pair programming partners are assigned collaborators who work together throughout each project - during Friday labs and throughout the week. You’ll brainstorm ideas, discuss approaches, help each other debug, and share discoveries as you progress. Everyone has different strengths and perspectives to contribute. The partnership extends beyond lab time - continue collaborating throughout the week. Create a private Slack channel with your partners for each project to stay connected.

Note: This is NOT traditional pair programming where you share one computer. In this class, pair programming means:

The goal: Create an ongoing collaborative learning relationship. Whether you converge on one approach or explore multiple solutions, everyone should deeply understand what they’re implementing and why it works.

Important: This document provides suggestions and examples for effective collaboration, not rigid requirements. Feel free to adapt these practices or develop your own collaborative style if it works better for you and your partners.

Critical Reminders

⚠️ Everyone completes and submits their own individual work!

Why this approach? Sometimes you’ll discover multiple solutions worth comparing. Other times you’ll converge on one solid approach. Both are valuable! The key is understanding the “why” behind your implementation.

Growth & Assessment:

How It Works

  1. Find your pair programming partner(s) at the start of Friday’s lab

  2. Grab a whiteboard and start brainstorming together - sketch algorithms, write pseudocode, draw data structures

  3. Challenge each other’s assumptions and explore multiple approaches

  4. Use the whiteboard to trace through your logic step-by-step

  5. Sit together with your laptops and start implementing

  6. Work on your own individual implementations (possibly different approaches!)

  7. Help each other when someone gets stuck - return to the whiteboard if needed

  8. Compare results - what worked? what didn’t? why?

  9. End with reflection and planning - share insights and discuss next steps for the week

  10. Continue collaborating throughout the week - share discoveries, discuss new ideas, compare progress

  11. Submit your own work by the project deadline


Collaboration Skills - How to Be a Great Partner

How to Give Constructive Feedback

How to Ask Good Questions

How to Explain Without Taking Over

Need Thinking Time?

It’s perfectly okay to say: “Let me think through this alone for 5 minutes, then let’s compare ideas.” Introverts and those who process internally - take the quiet time you need!

Addressing Skill Differences

Skill mismatches are intentional! Teaching solidifies understanding for advanced students, while those who are struggling bring fresh perspectives and valuable questions.

If you’re ahead:

If you’re struggling:


Lab Session Best Practices

Working with Your Partners (Pairs or Triples)

Remember: These are suggested practices that work well for many students, but feel free to adapt them to what works best for your partnership.

Keep a Solutions Journal (Optional)

Document different approaches you see throughout the semester - from partners and your own experiments. This becomes YOUR personal reference and can be part of your final portfolio.

End-of-Lab Reflection

Take the last 5-10 minutes of lab time to:


Pair Programming Guidelines (Our Version)

Do: Start at the whiteboard - sketch algorithms and pseudocode together
Do: Ask before explaining - “Would you like to hear my approach?”
Do: Challenge constructively - “What about edge cases?” “Will this scale?”
Do: If you agree on one approach, both must understand WHY it works
Do: If you have different ideas, try both and compare results
Do: Share discoveries throughout the week - “I found a cool optimization!”
Do: Meet up between labs to work alongside each other
Do: Document insights in your solutions journal
Do: Take photos of helpful whiteboard work
Don’t: Copy code from each other, even if using the same approach
Don’t: Dominate the conversation or stay completely silent
Don’t: Rush someone who needs thinking time
Don’t: Implement something you don’t understand
Don’t: Wait until you’re desperate to reach out - collaborate continuously!

Note: These are guidelines based on what works well for many students, not strict rules. Find the collaborative style that works best for your partnership!


Contact

If you have any issues with your pair programming partnership, please let me know ASAP so we can address it.

After Project 1, I’ll collect feedback to see what’s working and what could improve.

Remember: The goal is to learn from each other and build a supportive classroom community where no one has to debug alone!