Students as Knowledge Constructors

In computer science courses, students are asked to form groups to solve a particular problem.  Such group projects give students the opportunity to address real-world issues and problems, allowing students to make meaningful learning exercises for themselves and others.  Such projects turn students into knowledge constructors, asking students to take on an open-ended inquiry using recently gained programming skills. These experiences, as well as all of the knowledge constructor indicators listed in the ISTE Standard for Students, empower student voice and ensure that learning is a student-driven process.

The practice of using real-world problems in the classroom is referred to as project-based (or problem-based) learning (PBL).  PBL is used in a experiential learning frameworks:

Problem-based learning (PBL) is integrated at Two Rivers Public Charter School in Washington, DC, at every grade level—pre-K through eighth grade. Students are presented with a real-world problem, undertake a series of investigations, and create a product that they present to an authentic audience as part of the Expeditionary Learning (EL) Education framework.

(Edutopia, 2016)

The group projects used in computer science courses require students to understand the problem, build requirements, and research resources required to build a solution. In addition, the students must work together to divide up the problem, research ways to solve the problem, and divide the problem up among group members in a reasonable and fair way.  While giving students a great experience in digital literacy, all of these activities put together satisfy the four fundamental competencies described in Kingsley & Tancock:

Past research, including statistically significant outcomes from our research study, has revealed the following four fundamental competencies students must possess and attain to successfully complete Internet-based tasks:

1. Generate high-quality inquiry topics
2. Effectively and efficiently search for information
3. Critically evaluate Internet resources
4. Connect ideas across Internet texts

(Kingsley & Tancook, 2014)

Unfortunately, the results of group programming assignments are not often used as learning artifacts.  Students work for weeks on a group project, turn in the final results to the instructor, and never look at the project again.  Over a typical computer science curriculum, a student may implement 5 or 6 group projects. This represents a considerable portfolio of work for any student.

I wanted to find a simple way for students to display the results of the hard work put into group projects, for themselves and for future educators and/or employers.  My first approach had the students build a website that highlighted the project with screenshots or other project results. However, this involved a bunch of work around obtaining an Internet domain, selecting a web hosting service, and learning how to launch and maintain a website.  This quickly became overwhelming, even to computer science students. Luckily, I discovered a simpler approach that leverages skills that students likely already have – GitHub Pages.

The GitHub Pages tool takes a bit of explaining.  In software projects involving multiple developers, there is a need to use source control to track what changes are made by which developer as well as to control what happens when two developers change the same source code file.  This is similar to revision control in a word processor – such as Microsoft Word – in which two or more people are authoring the same document. One of the most popular software source control packages used today is Git. By itself, Git is just the software that allows one to checkin and checkout files containing computer source code from a central repository.  A software repository is the collection of computer source code files that make up a software project. Git does not provide the repository in itself – it is just the software used for source control. However, GitHub.com is a website that offers free accounts where users can use the Git source control software to create and manage any number of software repositories.

Students working on a group project often create a repository on GitHub for source control purposes.  This allows individual members of the project to share their work with other students in their group as well as control access to shared files.  GitHub Pages is a free website for students with a GitHub account. Students that use GitHub Pages do not have to set up any databases or web servers.  Students can use GitHub Pages to highlight the projects they have created on GitHub as well as other skills. In essence, GitHub Pages provides computer science students a digital portfolio of their software projects.  In addition, by using GitHub Pages to build a software portfolio in which that other developers can share and contribute, students develop their digital literacy skills using the functional, social, and transformative models described in McLoughlin:

In viewing literacy within the context of a digital society as, at one level functional, at another engaged with the social context, and at a third as transformative, we can see it as a powerful tool for the individual and the group to understand their own relationships to affordances of digital tools that enable these skills and competencies to develop.

(McLoughlin, 2011)

References

 

5 comments / Add your comment below

  1. Nat,

    I can see the GitHub Pages is a good tool for a group project which allows a group of students working on the same project together and track different developers’ codes and changes they made. It can help students to build a digital portfolio to share with others and contribute their knowledge to others in which process students can foster digital citizenship. Since accounts are for free, and there is no complex settings, I think your students will like to use it.

  2. What a purposeful digital tool that gets the job done – in a variety of ways. I love that hits on the functional, social and transformative literacy skills that are so important for students to be interacting with when using digital tools and engaging in digital education. Also, what a great way to set your students up for success by having a solid digital portfolio when they leave school as well as a way to continue a professional portfolio once they are in the work field.

  3. Nat,
    I appreciate how you are finding real-world and job related tools to use with your students. I found myself wondering if there was a way to link this project portfolio to a LinkedIn Profile as this seems to be networking space that creates job opportunities. I would love to an example of this once your students use it if you are able to share.

  4. Nat,
    This is a great resource in that they leave your class with a digital portfolio. I think it is a great way for students to see their growth and be able to curate projects that will help them gain employment in the future. I also agree with Helen, that you can’t beat the price.

  5. Nat, your students are fortunate that you are trying to come up with ways for them to showcase their work in your class. They may not think of it now but they will once they start looking for work. Thank you for the nice explanation of GitHub. I have never fully understood it before.

Leave a Reply

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