Facilitating achievement and digital citizenship with computer science students

I am exploring two of the standards in the International Society for Technology in Education (ISTE) standards for educators: 1) how to instruct students to positively contribute and responsibly participate in the digital world (S3 – citizen), and 2) how to use technology in a computer science classroom to support student achievement (S6 – facilitator).  

Teachers have a unique opportunity to help students become responsible digital citizens by modeling correct behavior, particularly in how students participate in online discussions.  At the beginning of each of my courses, I tell students that they are very likely to have questions about assignments, exercises and quizzes and that these questions are best asked in the course discussion tool.  I also encourage students to answer other student’s posts. I review all of the posts, and make sure that the thread ends in an appropriate response.

You [Educators] are modeling behavior for your students at all times.  Kids are learning from us. When we share, we inspire them to share. When we cite sources, kids see how respectful sharing works. (Venosdale, 2014)

Even with this instruction, students still end up sending me direct email with a generic question about an assignment, an exercise, or a quiz.  Sometimes, these questions will have snippets of the student’s solution that a student may view as ‘revealing the answer’ if posted to a public discussion tool.  However, in most cases, I can make minor modifications to the question and post the result in the course discussion tool without revealing the solution. While this helps guide students on how to properly post to the public discussion tool, it is more of a reactive approach than a proactive approach.  I want to come up with a way to encourage students to follow the correct behavior on their first post without receiving any email. This a crucial life skill that will serve students on other public forums and social media.

Schools and teachers don’t have to be afraid of social media if they take the time to teach kids how to play on this virtual playground responsibly, ethically, and safely. (Hertz, 2015)

Upon reflection, I realized that I could use the discussion tool at the first class to introduce the course, point to the syllabus, post office hours, and give other course introduction material.  This would get students familiar with reading from the discussion tool and encourage them to post any questions. I soon realized that the default discussion tool used in our learning management system (LMS) is very primitive.  It did not allow me to do any of the standard word processing formatting such as making text bold, italics, underlined, indented, numbered/bulleted, etc. and it allowed limited flexibility in posting computer code snippets. My search for ‘a better discussion tool’ led me to a tool named Piazza, a free plugin to the LMS used at my institution.

Along with support for basic word processing formatting, Piazza allows student to set their anonymity options to encourage responses from everyone – even those shy students.  Piazza also allows educators to endorse good questions or answers. This allows the instructor to push a thread in the right direction as well as encourage other students to participate.  The Piazza feature that gets me really excited is support for computer code syntax highlighting similar to what is found in advance development environments like Visual Studio. This feature makes Piazza a far more convenient tool to ask questions than either email or the existing LMS discussion tool.

Sample of syntax highlighting in Piazza
A sample Piazza post with syntax highlighting

The other area I want to improve in my classroom is student achievement in group assignments.  Specifically, I want to facilitate how students design and implement their group programming assignments.  Students often feel that both of these activities require face-to-face meetings that are difficult to achieve when each group member has a different schedule and different communication preference.  Members of the group often complain that they are not able to complete the assignment due to the inability to physically meet with all of their teammates.

One obvious solution to the physical meeting problem is to use a screen-sharing tool like Skype or Google Hangouts.  However, these tools have the downside that only one person can control the screen at a time while other group members simply observe what is happening on the screen.  A better approach is offered by the Visual Studio Live Share tool that allows much richer support for code collaboration including co-editing and co-debugging.  Of course, this only works for programming languages supported by Visual Studio – but Microsoft is doing a great job of expanding the number supported languages as well as making Visual Studio available on PCs, MACs and Unix machines.  The real benefit of this approach is that each member of the group can use their Visual Studio customizations and editor preferences while collaborating with other group members.

Sample of a live share session in Visual Studio
Sample Visual Studio Live Share session

The other area of student achievement needing improvement is the implementation phase of a group project.  Students will often explain to me that a certain part of a group project was not completed because members of the team did not remember who got assigned a particular task.  While this seems pretty simple, it is a very typical mistake made in group settings. The frustrating part is that a group will realize their mistake on the first phase of the assignment, but not do anything to fix the issue in the next phase of the project, as most are embarrassed to admit this happened to their group.

I tell my students “mistakes are iterations in the journey toward success.” It is a part of the design thinking cycle. Students know that they will make mistakes as they test and revise their prototypes. So, whether they are publishing a blog post or building a bridge, they know ahead of time that mistakes are not only allowed. They are expected. (Ferlazzo, 2016)

Professional software developers solve this problem by using a project management tool.  However, most project management tools have a rather steep learning curve and are expensive.  Fortunately, there is a lightweight, free tool that computer science students can use that achieves most of what a project management tool delivers – Trello.

A sample showing a Trello board with lists and cards
Sample Trello board

The Trello tool is based on a board of lists, with each list made up of a set of ‘cards’ that can be assigned to group members.  In the screenshot above, there are To Do, Blocked, Doing, and Done lists.  The idea is that a person takes a card from the To Do list, assigns it to himself/herself, and moves the card to the Doing list.  If somebody is blocked by another ‘card’, the card is simply moved to the Blocked list. Finally, to inform other group members when a task is complete, a card is moved to the Done list. For group assignments that last only a week, this is a simple and effective way to manage a project!


3 comments / Add your comment below

  1. You found so many great tools to solve question and problems your students are facing – so great! They all seem very purposeful and seem like fairly easy tools to start implementing which is so important when we are solving problems by introducing new tools to use. Trello could probably be good to use for my own personal management of so many to do’s!

  2. Nat, you took on 3 big challenges for this post: group communication! collaborative coding and debugging! project management! and managed to find a viable solution for each. I would really like to try each of these tools at some point (I checked and Visual Studio Live supports Python if I ever get a chance to study it again). Thank you for doing the research and giving us clear examples of how to use the tools.

  3. Nat- I love the way you see a problem within your school or classroom and implement the knowledge you have gained through research to develop solutions. Each of the resources you have shared today are extremely useful and helpful for teachers who may be struggling with the same problems you are. I wish I would have known about Trello in my undergrad or even in High School for group projects! I feel like it is such a great resource with so many benefits! Thank you for sharing your research and knowledge!

Leave a Reply

Your email address will not be published. Required fields are marked *