Collaborative Problem Solving#
What is collaborative problem solving (and why are we doing it in this course)?
Throughout the semester, we will work through a number of collaborative problem-solving tasks designed to give you opportunities to apply skills and concepts covered in the class.
A large body of computing education research indicates that collaborative problem-solving strengthens your understanding of concepts we’re covering in the course while also creating space to build other kinds of collaboration, communication, etc. skills. If you’re interested in learning more about this research, let Prof. Walden know- I’m happy to share more about why the course is designed this way!
NOTE: I know experiences with group work can vary widely. One aspect of creating a rich collaborative learning environment involves clear expectations and frameworks that can help facilitate effective work in groups–that’s partly my (Prof. Walden’s) job. The other aspect of effective collaboration involves your preparation and active engagement. This kind of process-oriented, guided-inquiry learning is most effective when students are interacting with and learning from each other.
Practically, that means that we’ll spend in-class time applying the concepts we’re covering that week in real-world scenarios that benefit from multiple perspectives and forms of expertise to come up with a workable solution.
What this will typically look like:
Class forms small groups & decides on group roles
Prof. Walden introduces the prompt/task/problem
Class works in small groups to develop a conceptual understanding of the problem space
Class works in small groups to develop a technical/programmatic solution
Small groups work with other small groups to refine their solution/response
Each group submits documentation of their work process
Typically, documentation from these collaborative work sessions will be due on Canvas at the end of class. How the groups submit documentation of their collaborative in-class work may vary from week to week.
Sometimes it might look like solving a problem with a clear solution
Other times it might involve a set of activities with reflection questions
Other times it might involve developing a more complex program
The instructor will provide clear instructions on what you’re expected to document (and how/where). The extent of the collaborative work will happen during class meeting time. That is, you are not expected to meet or work with your group outside class time.
If your group is not able to complete a task or solve a problem during class time, make sure everyone in the group has access to shared materials. Folks can continue working on the problem/task on their own and submit their work as part of the individual lab notebook, making sure to credit the contributions of other group members.
Group Roles
class: tip
Note Taker: Primary notetaker in a shared space
Driver: Primary person responsible for testing things on a computer and sharing their screen with the group
Navigator: Primary person responsible for translating and communicating instructors for the group
Reporter: Primary person responsible for sharing highlights with the larger group & submitting the group’s work
Time Keeper: Primary person responsible for keeping an eye on the clock and keeping the group on task
Part #1 Activities#
This set of activities gives students an opportunity to build skills with moving across binary, hexadecimal, and decimal systems, under the umbrella of ASCII. This version of the activity involved a scavenger hunt that ended with each student getting a mini rubber duck and a poem from a poetry bot.
Discuss
class: tip What are some of the differences between the decimal digit, the hex representation, and ASCII code? Explain in your own words.
Solve
class: tip Resources:
Step #1: Translate the hexadecimal prompt into text using the ASCII table. Follow the prompt!
Step #2: What color ducks did your group members select? Record that information using hexadecimal and RGB color values.
Step #3: Take a group picture with your ducks and upload to a shared folder.
Step #4: Translate the binary information on the second handout into text using the ASCII table. Follow the prompt!
Step #5: Share more about your group’s poem. Anything funny, interesting, or surprising?
Part #2 Activities#
This set of activities focuses on file formats and character encoding.
Students will need to download three different files:
hello_world.txthello_world.rtfhello_world.docx
File Downloads
Links to download each file:
To download all three files as a compressed folder:
Discuss
class: tip Why does the proprietary versus open file format distinction matter in relation to character encoding? Explain in your own words.
Solve
class: tip
Step #1: Open the hello-world.txt file in your computer’s text editor (Notepad for Windows, TextEdit for Mac) or an online hex editor (HexEd.it). What are you seeing in the file? How large would you expect this file to be (in bits and bytes)?
Step #2: Test your prediction using your own computer’s file manager or the online hex editor. Was your prediction accurate? If not, why?
Step #3: Open the hello-world.rtf file in a text editor (on your computer or online). What are you seeing in the file? How large would you expect this file to be (in bits and bytes)?
Step #4: Test your prediction using your own computer’s file manager or the online hex editor. Was your prediction accurate? If not, why?
Step #5: Open the hello-world.docx file in a text editor (on your computer or online). What are you seeing in the file? How would you expect this file’s size to compare with the .txt and .rtf files?
Step #6: Test your prediction using your own computer’s file manager or the online hex editor. Was your prediction accurate? If not, why?
Discuss
class: tip Using the definitions of physical, logical, and conceptual objects from earlier in this lab, explain these layers of a digital object in your own works, referring to the helloworld examples and your experience using the hex editor.