1.1: Collaboration & Why it’s Important for the Industry

Video 1

  • Example: Facebook

    • Special areas that encourage collaboration

  • Effective collaboration produces computing innovation that reflects the diversity of talents and perspectives of those who design it

  • Computing innovation

    • Program as an integral part of its function

    • Can be physical (ex. Self-driving cars), non-physical computing software, or a computing concept like e-commerce

  • Super Mario Brothers 3

    • Kensuke Tanabe & Shigeru Miyamoto collaborated to use both their ideas for how game levels should be structured to make SMB3

    • Tanabe liked vertical (up-down) levels

    • Miyamoto liked horizontal (left-right) levels

    • Characters could move up, down, left, right, etc.

  • Collaboration w/ people w/ diverse perspectives helps avoid bias in development of computing innovations

  • Practice: What are the benefits of collaborating with your peers?

    • B: Effective collaboration produces computing innovation that reflects the diversity of talents and perspectives of those who design it

  • Takeaways

    • Interpersonal skills learned through collaboration:

      • Communication

      • Consensus building

      • Conflict resolution

      • Negotiation

      • Matter in all fields

Video 2

  • Pair programming: when two programmers work together as a pair

    • Driver: writes the program code

    • observer/Pointer/navigator: reviews each line of program code as it is typed in, helps the driver when they need it, provides their perspective

  • Think-pair-share: think through a problem alone –> pair with a partner to share ideas –> share results with the class

    • Ex. like charades

    • The thoughts and ideas of others help you come up with new things

  • Leave comments in code

    • Helps communicate with partner

    • Helps you communicate/remember your ideas for yourself

    • Acknowledge code segments used from other sources; reference where U got them from

    • Acknowledge media used from other sources: reference where u got them from in a comment

    • Differentiate what you did and what your partner(s) did

    • Clarify the functionality of your code

  • Tools to help collaborate in class

    • Repl.it

    • GitHub - collaboration & repository

      • Repository = a place where you can put all your projects and get comments/feedback on them

    • Shared document or folder

    • Ask friends to test drive program & give feedback

  • Takeaways

    • Consultation & communication with users are important aspects of the development of computing innovations

    • Information gathered from potential users can be used to understand the purpose of a program from diverse perspectives & to develop a program that fully incorporates these perspectives

    • Online tools support collaboration by allowing programmers to share & provide feedback to each other