You are on page 1of 22

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/359477883

SOLUTIONS TO PROGRAMMING PROBLEMS AS LEARNING OBJECTS


ON A GITHUB REPOSITORY

Conference Paper · March 2022


DOI: 10.21125/inted.2022.2607

CITATIONS READS

0 8

4 authors, including:

Clara Marcela Miranda R. Guirado


Universidad de Almería Universidad de Almería
6 PUBLICATIONS 2 CITATIONS 17 PUBLICATIONS 16 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Isabel María del Águila on 12 December 2023.

The user has requested enhancement of the downloaded file.


SOLUTIONS TO
PROGRAMMING PROBLEMS
AS LEARNING OBJECTS ON
A GITHUB REPOSITORY
Supported by University of Almeria, for
Clara Marcela Miranda Sarmiento, its funding of the “Programming”
Rafael Guirado Clavijo, Project, within the call for the creation
Isabel María del Águila Cano, of Lecturing Groups for Innovation and
José Rafael García Lázaro. Good Practices, for the Creation of
Lecturing Materials of the UAL.

Solution to programming problems as learning object on GitHub repository


Introduction

An innovation project to define and solve a set of


PROGRAMMING problems.

Making them available to students and teachers in


GitHub

Industrial Engineering degrees

The problems are learning objects of small content

2 Solution to programming problems as learning object on GitHub repository


Project
Objective:
Make programming concepts more tangible, for ease of
understanding by students.
Through:
Simple and meaningful examples, of the main programming
concepts.
Tools:
GitHub repository
• Download
• Duplicate/bifurcate (fork)
• Available website of this platform

3 Solution to programming problems as learning object on GitHub repository


This innovation project seek to

For students and lecturers


A set of problems to be used
With small learning objects
In the subject of programming, in the basic training module,
in the first year of he degree courses of the Industrial Branch
at the UAL.
It covers specific competences such as:
Cross-cutting competences of
• Teamwork
• Basic knowledge of the profession
• Problem-solving skills

4 Solution to programming problems as learning object on GitHub repository


Programming subject

Eminently practical discipline

The group of problems is displayed and solved

The resulting a software


Deployed on the GitHub collaborative platform.

5 Solution to programming problems as learning object on GitHub repository


GitHub

Platform for creating open


projects of tools and
applications.
Characterized by its
collaborative functions to
improve the code.
Its expansion in the world is
certain, due to its
functionality and new
capabilities.

6 Solution to programming problems as learning object on GitHub repository


Existing repositories on GitHub

AIGORA Project, Polytechnic University of Madrid


(2021)
Programmes proposed and solved by students in the degree
of Industrial Engineering.
It facilities the assessment of students in large groups.
Our repository is unique on GitHub
Specialized in small programming problems in field of
Industrial Engineering (mechanical, electrical, electronic and
industrial chemistry).
Use of problems as a micro learning object
• Seeking to motivate students of these degrees who are starting
out in the discipline of programming.

7 Solution to programming problems as learning object on GitHub repository


Methodology
Based on experience in lecturing the subject (16th
years in industrial Lecturing Engineering and 11th
years in Mechanical Engineering, Electrical
Engineering, Industrial Electronics and Industrial
Chemistry)
We decided
Extend previous works on lecturing improvement based on
collaborative learning and problem-based learning as
elements of learning within the GitHub platform in the
repository.
ProblemsProgramming 2021.
https://materialesprogramacion.github.io/ProblemasProgramacion/

8 Solution to programming problems as learning object on GitHub repository


Methodology

There are different methodologies for the


development of learning objects, which define
different stages.
We have defined 5 stages
Planning, Analysis, Development, Validation and
Implementation.
The first three have been almost fully implemented yet
In the second half of this year it will be possible to carry out
the final implementation of the work done.

9 Solution to programming problems as learning object on GitHub repository


Planning Stage
Set the actions to be carried out, including the timing.
The innovation project is being developed over two
academic years:
Fisrt year
• Study of needs
• Technological decisions
• First prototypes
Second year
• Development will be complemented during the first half of this
year.
• Implementation and validation will be completed.
All this during the period in which the course is taken.

10 Solution to programming problems as learning object on GitHub repository


Analysis Stage
Key decision
Definition of the architecture, in which the learning objects
will be deployed.
Basic needs:
It Identified that the deployment is to be public Version
control platform, basic for the development of software
applications.
Support over solutions to be offered to the students.
Facilities the solution code to the proposed problems
It must be in a Version Control System open to software
developer and not only to students

Solution: GitHub

11 Solution to programming problems as learning object on GitHub repository


GitHub Features

Allows
Project management, code version control
Promotes
Collaborative work
Website
GitHub Pages
• Easy and free to create a multi-page website
• Host it as “github.io”

All of the above influenced our decision

12 Solution to programming problems as learning object on GitHub repository


Development

We are currently
in the process of
developing the
content.
The figure shows
the appearance
of the page
already
published

13 Solution to programming problems as learning object on GitHub repository


Page description

Simple and representative icons for each of the


programming languages used.
All C programs and pseudo code
There are implementations in
• JAVA

• C++

• Python

• Assembler

14 Solution to programming problems as learning object on GitHub repository


Validation and Implementation

General approach
Students duplicate/fork the repository.
Expand with their own contributions or alternatives solutions
to the problems.
Generating new shareable content.
Collaborative work, starting with working groups that
collectively build knowledge.
Mixed skills development
• Learning, personal an social development.
• Each team member is responsible for his or her own learning
as well as that of the other members of the team.

15 Solution to programming problems as learning object on GitHub repository


Task to be solved

Structure in such a way that the members of the


group need each other (positive interdependence).
These are distributed among the members of the group.
• Each student is responsible for his o her own work and the
work of the rest of his or her team partner.
Collaborative work teams, promotes
• Explanation
• Discussion
• Constructive conflict resolution
• Knowing and trusting or communicating with others.

16 Solution to programming problems as learning object on GitHub repository


Results
Structured problems according to the classification of:
Macro learning
Meso learning
Micro learning: At this level would be the problems of
Sample structure:
First steps
Structured Programming
Modular design
Data Structures
Searching and ordering algorithms
Files

17 Solution to programming problems as learning object on GitHub repository


Results

18 Solution to programming problems as learning object on GitHub repository


https://materialesprogr
amacion.github.io/Prob
lemasProgramacion/

19 Solution to programming problems as learning object on GitHub repository


Conclusions

With relative ease, attractive programming content


can be generated for university students.
A set of problems from the Industrial Engineering
domain have been deployed on the GitHub platform.
It can be used as a learning object and for collaborative work
in programming subjects in technological studies.
The interest shown by GitHub users, not directly related to
the subject.
The full apprenticeship model is planned to be
implemented next year.

20 Solution to programming problems as learning object on GitHub repository


Thanking you for your
attention

21 Solution to programming problems as learning object on GitHub repository


View publication stats

You might also like