Tutorial for distance on-line learning (by EDUMOTIVA)

7. Development of guidelines in the form of scenarios on how to support students’ projects/activities online

This section presents guidelines on how teachers could form a scenario which aims to be implemented by students during distance online learning. Different stages and implementation proposals will be cited. In higher education, knowledge, attitudes and skills are the main areas on which teachers should focus.

Initially, the problem should be set, as a result of teachers and students cooperation, pointing out all project’s details in order any ambiguous point be clarified. Continuously, teacher ask students to brainstorm on project subdivision, type of solutions and a time planning towards project’s completion. Consecutively, the teacher is responsible for forming teams which must be as many as the number of the project’s sections are. Creation and sharing follows the previous stage, which is very important for the quality and effectiveness of the final product or solution, which is obtained by assembly of all partial solutions. Evaluation is the last stage where conclusions are made about the proposed solution and the creators’ earned knowledge, skills and attitudes.

Setting the problem. Let us assume that a Python project is intended for 2nd or 3rd year students. At that level, students are familiar with object oriented programming (i.e. Java, C++) and have been familiar with working in small teams. The project’s topic will come as a result of dialog amongst teacher and students, taking into account all necessary parameters (the project’s size, the level of difficulty, and the number of teams). Project’s size should meet class’s needs with respect to the number of teams which are needed in order to address it. Furthermore, the project’s level of difficulty is also a fundamental aspect, as the target group to whom it is intended are students (2nd or 3rd year) with some programming experience.

Ideation and Planning. During that stage, the main project’s characteristics should be initialized. First, using an appropriate tool, i.e. mentimeter, all participants are able to propose the project’s title. Brainstorming is welcome as it increases students’ engagement and also is always a reason for exchanging opinions. Dialog amongst participants should include arguments about the reasons that a particular topic can be accepted, if a topic is suitable for students’ level of knowledge, take into account students’ interest in each proposal, the knowledge which will be gained by the end of the project and any other detail which may be vital for the project’s successful fulfillment. During the first online meeting teacher and students should choose what the project’s topic will be. Let us assume that the project title which has been selected is the “Library Application”. Database creation and application’s graphical user interface are amongst the most important parts of the project.

Having chosen the project’s title during the first meeting, the second step is about breaking the main project into smaller sup-projects, hence, each team should complete a small part of the whole work. Teacher in cooperation with students has to define the number and the members of each team. Knowing that the maximum number of students, which is for instance twenty (20), the teacher is aiming to form five (5) teams with four (4) members each.  Chat, polls and synchronous communication may be some indicative tools for exchanging views amongst participants over forming teams as well as each team’s tasks. As a result of the above mentioned dialog, there are five (5) teams with the obligations, which are described in the following table.

Team No

Tasks

Team 1

  • Create database for the books including all the necessary fields
  • Create database for people who borrow & return books

Team 2

  • Create Graphic User Interface
  • User Interface offers the ability for search in database

Team 3

  • Code creation for borrowing & returning a book whereas the data base is updated

Team 4

  • Write code for insert & delete a book form the data base
  • Write code for insert & delete a person from the data base

Team 5

  • Write code to present statistic diagrams like which book borrowed most, who is the most popular author, which book category was the most favored etc.

At the end of the project, teams will deliver the “Library Application” which will arise from the concatenation of the five contributions as they were indicated above. In order for the project to be completed successfully, teams must cooperate on a weekly basis for four (4) weeks, which will be the total given time for this project. During the first week, teams must clearly understand what they have to deliver and continuously allocate responsibilities amongst team members. It is obviously that Team 1, has taken over the most important part of the project and should give information to all the other teams regarding data bases structure. All teams, in cooperation with the teacher, should adopt a timetable which will depict work progress all throughout these four (4) weeks.

The next step is going to be the creation part where teams should create their corresponding segment of the project. Communication between teams will be a vital issue for the project’s success and works towards teams’ mutual interest. The tools that will be deployed by the teams should be open source software and will include:

·         Python IDE environment

·         Google Colaboratory for Python

·         MySQL or MariaDB

·         Moodle platform

·         Slack

·         Padlet

The Python IDE environment is suitable for local code develop and design graphical user interface while Google Colaboratory allows students to share code and increase interaction amongst teams. Additionally, the Moodle platform can also be adopted as a place for sharing Python files along with exchanging views and proposals between teams and members of each team. Finally, an open source widespread database software like MySQL or MariaDB will support students to create stable and powerful databases.

Teams will start to interact as long as databases have been defined as well as their fields, which are fundamental details for the other teams. Any database modification should be announced to the other teams in order to prevent any malfunction during project assembly. Team 1 after complete databases design, should start to implement the database server and create the databases needed, actions that are irrelevant to other teams’ work. Team 2 may start design user interface (GUI) which is not affected by any other team, whereas for databases search option in GUI has to cooperate with Team 1. Teams 2 & 1 have to decide jointly on what criteria should search option will be based on, as the searching criteria affect database’s architecture. Borrow and return book Python code cannot be started before Team 1 defines the two (2) databases, hence Team 3 has to cooperate with Team 1 in order to launch its work. Team 3 has to be updated for any change in databases otherwise its code will not fit into the final project. Python code for add/delete a book/person has been assigned to Team 4 which is also has to further get in contact with Team 1 to receive details about the databases. Moreover, Team 5 has to communicate with Team 1, 3 & 4 in order to carry out the statistical data and draw graphs.



It is obvious that the databases are very important for all teams in order to continue their work, hence Team 1 has to define the fields and their type as soon as possible and announce them to the other teams. Team 2 is also productive from the beginning due to the fact that GUI design does not have as requirement the existence of the databases. Moreover during week 1, Team 3, 4 & 5 should have online meeting to discuss their part of the project and make some proposals/ideas waiting for the Team’s 1 update about databases’ structure. Week 2 is an active week for all teams as they have the information that they need. Team 1 starts database creation while any changes must be reported to the other teams. As long as the databases are built, Team1 limits its productivity to cooperate with the other teams for making their code function and productive. All the other teams have to focus on their task, whereas Team 1 have to be available for any declarations. During week 3 students continue their effort to deliver on time. Project’s completion must take place all along week 4 where all teams have to assembly the five (5) parts and present one application. In case of any incompatibility, teams should make the necessary corrections and test again until everything fits. Once again, Team 1 has a critical role to play as everything has to be connected to the databases regarding the initial scenario. 

The biggest challenge of the project is how teams will cooperate and how smoothly synthesis will be. Teams via sharing information and their work through Moodle or Google Colab could avoid most of the major problems which could be occurred.  Teacher should be the coordinator of all the teams. By using Teachers.io application teacher will organize one weekly meeting and set any deadlines for work submission. Additionally, teacher can post any information or guidelines regarding teams’ cooperation. During the weekly meeting, teams will present their progress so far and the teacher can make any comments or corrections in relation to what has been done up until the meeting time.  Teacher should notice if a team is ahead or behind the schedule and make his/her comments. In any case, where a team needs an urgent answer in order to continue its work, the teacher should be available for communication via email or any application that has been utilized for the project.

Communication amongst teacher and students can also be enhanced with Slack application. The idea would be that the teacher will create a channel for each team hence, teams’ messages will not be mixed up. Slack application is an excellent tool for participants which will increase students’ engagement.

The teacher, in order to prevent any team from not completing its part, must supervise and guide all the teams concurrently.

Having granted that all parts should fit to the databases, which have been created by Team 1, unification has to be handled by the last mentioned team and Team 2 which has design the GUI. Each team must have a leader to whom will be directed all members’ queries. In case that a question cannot be answered by the team leader, question will be forwarded to the team which is responsible for that particular topic. Moodle forum option may be the best choice for having organized all questions in one place where all participants would be able to reply or give a piece of advice. Jupyter Notebook could be an alternative for Google Colab for sharing Python code segments, whereas Slack (https://slack.com/) is also a substitute for Moodle forum. As Team 1 & 2 are in charge of assembly effort, any code incompatibility found should be noticed, and the team which owns that part must make the necessary amendments and return the corrected part back to Team 1 & 2. Padlet (https://padlet.com/) also is a useful tool which could be adopted as a board for each team or a general board for announcements/posts as well as a cloud for sharing files amongst members. The teacher, as the creator of the Slack’s channels and Padlet’s board, can monitor students’ activities on a daily basis, having a clear picture about the progress of each team as well as possible can give any guidance considered would help the students.

When a project is about to conclude, evaluation of the submitted work and determination of what were the students’ benefits of such an educational activity is the ultimate stage.  Evaluation during a higher education training, aims to validate the students’ gained knowledge after project’s accomplishment. The easiest part is the application’s assessment, because any malfunctions will be obvious. Students will have the opportunity to present their work and answer any questions. The presentation could be online by using Zoom as a synchronous platform while other tools can also be adopted such as Google Colab, Jupyter and Nearpod. During the application’s demonstration teacher’s goal will be to examine the depth of students’ knowledge regarding the particular project. Furthermore, the project’s evaluation involves measuring learning effectiveness by determining three basic factors, which are knowledge, skills and attitudes. Hence, a feedback form or a questionnaire should be submitted by all participants in order to all the above factors being represented.