Software">
Nothing Special   »   [go: up one dir, main page]

Memoria de Informática I

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Memoria

Informática

Cristina Lara Hernández Bermudo.

PDI: Francisco José Guerra Santana.

Asignatura: Informática.

13 de Noviembre de 2022.
Página 2 de 20
Resumen
En esta memoria se verá reflejado tanto el contenido impartido hasta el
momento como las opiniones asociadas al progreso personal en la asignatura, también
se harán observaciones y puntualizaciones con respecto al contenido. Se presentará un
diario con el contenido expuesto y por último, se expondrán las conclusiones obtenidas
después de meses cursando la asignatura.

Página 3 de 20
Índice
Resumen........................................................................................................................................ 3
Introducción .................................................................................................................................. 5
Diario ............................................................................................................................................. 6
Semana del 12 al 18 de septiembre. ......................................................................................... 6
¿Qué es GitLab? .................................................................................................................... 6
Semana del 19 al 25 de septiembre. ......................................................................................... 7
¿Qué es Eclipse? .................................................................................................................... 7
¿Qué es la POO? .................................................................................................................... 8
Semana del 26 de septiembre al 12 de octubre. ...................................................................... 8
............................................................................................................................................... 9
¿En qué se basa el TDD?........................................................................................................ 9
Semana del 3 al 9 de octubre. ................................................................................................. 10
Semana del 10 al 16 de octubre. ............................................................................................. 12
Semana del 17 al 23 de octubre. ............................................................................................. 13
Semana del 24 al 30 de octubre. ............................................................................................. 13
Semana del 31 de octubre al 6 de noviembre. ....................................................................... 14
Definiciones ................................................................................................................................. 15
Conclusiones ............................................................................................................................... 17
Referencias .................................................................................................................................. 19

Página 4 de 20
Introducción
La asignatura Informática pretende introducir la programación orientada a
objetos (POO), después de completar los conocimientos y habilidades adquiridos en
bachillerato en el manejo de ordenadores (arquitectura, ofimática y programación).
Estos conocimientos serán la base de otras asignaturas para continuar la formación.
Todos los conceptos explicados en esta asignatura son ampliamente usados en el
entorno de un graduado en el perfil del título, tanto a nivel de usuario como a nivel de
desarrollador.

Cabe mencionar que se han trabajado también competencias como el trabajo


colaborativo y la exposición oral.

Página 5 de 20
Diario
Semana del 12 al 18 de septiembre.
Esta es la primera semana del curso y comienza la asignatura en el laboratorio.
Se presenta por primera vez la herramienta GitLab con la que trabajaré el resto del curso
mediante una práctica que consistirá en crear una cuenta y un token de acceso personal,
el cual utilizaré para identificarme en el campus virtual a la hora de hacer los ejercicios
propuestos, siempre y cuando estos sean en Eclipse.

Una vez creada la cuenta asociada al correo de la universidad, el profesor me


incluirá en el grupo correspondiente a nuestro turno de laboratorio a través de nuestro
nombre de usuario.

¿Qué es GitLab?
GitLab (Ilustración 1 [1]) es una suite completa que
permite gestionar, administrar, crear y conectar los repositorios
con diferentes aplicaciones y hacer todo tipo de integraciones,
ofreciendo un ambiente y una plataforma para realizar varias
etapas de su SDLC/ADLC y DevOps. [2]
Ilustración 1

Por lo que respecta a la clase de teoría, conocí Ubuntu, un sistema operativo escritorio
de código abierto, distribución de
Linux (Ilustración 2 [3] ) [4].
Además, se explicó el proyecto
docente, aprendí a poner la foto
de perfil del Campus Virtual y se
advirtió la futura realización de
una presentación acerca de un
tema escogido en clase por el Ilustración 2

profesor.

Página 6 de 20
Semana del 19 al 25 de septiembre.
¿Qué es Eclipse?
Eclipse es un entorno de desarrollo integrado,
de Código abierto y Multiplataforma. Mayoritariamente
se utiliza para desarrollar lo que se conoce
como Aplicaciones de Cliente Enriquecido, entorno de
desarrollo integrado, opuesto a las aplicaciones Cliente-
liviano, entorno de desarrollo integrado basadas en
Ilustración 3
navegadores. Es una potente y completa plataforma
de Programación, desarrollo y compilación de elementos tan variados como sitios web,
programas en C++ o aplicaciones Java. No es más que un entorno de desarrollo
integrado (IDE) en el que encontrarás todas las herramientas y funciones necesarias para
tu trabajo, recogidas además en una atractiva interfaz que lo hace fácil y agradable de
usar. [5] (Ilustración 3 [6])

En el laboratorio empecé a tomar contacto de forma más directa con la


programación orientada a objetos. Declaré clases, añadí objetos al mundo y les asocié
una imagen a cada uno mediante setters. (Ilustración 4 [7])

Ilustración 4

Página 7 de 20
¿Qué es la POO?
La programación orientada a objetos (POO) es un estilo de programación
caracterizado por la identificación de clases de objetos estrechamente vinculadas con
los métodos (funciones) a los que están asociadas. También incluye ideas de herencia
de atributos y métodos. [8]

Semana del 26 de septiembre al 12 de octubre.


Esta semana mi compañera María Amparo Marrero García y yo hicimos nuestra
presentación PowerPoint en la clase de teoría. El tema que abordamos fue: ¿Qué es
Eclipse?, ¿Qué Gitlab? y ¿Cómo trabajar con estas herramientas pasando un proyecto
de GitLab a Eclipse?

El objetivo de esta semana es repasar la programación basada en el diseño de


pruebas TDD y estudiar conceptos básicos de programación:

En clase de teoría se introduce el tema de la creación de monografías para que


se pueda ir desarrollando la memoria de la asignatura con este formato. Además, se
estudian las variables en Java y los sistemas de numeración. Finalmente se introduce el
funcionamiento de la tarea Trabajo en Grupo G1, que consistirá en la creación de un
juego de tablero.

En el Laboratorio repasé los getters y setter, aplicando la programación basada


en el diseño de pruebas (TDD). (Ilustración 5 [7])

Página 8 de 20
Ilustración 5

¿En qué se basa el TDD?


Es una práctica de programación que consiste en escribir primero las pruebas
(generalmente unitarias), después escribir el código fuente que pase la prueba
satisfactoriamente y, por último, refactorizar el código escrito. [9]

Página 9 de 20
Semana del 3 al 9 de octubre.
En clase de teoría aprendí por primera vez lo que eran las estructuras básicas de
control: secuencial, condicional y repetitiva, utilizando VPL+eclipse. A continuación, se
mostrará cómo se deben representar dichas estructuras.

Condicional:

If (condición) {

AcciónSiEsVerdadera;

} else {

AcciónSiEsFalsa;

Repetitiva:

(bucles for)

for (declara variable con valor inicial; condición; incremento) {

AcciónQueSeRepite;

Secuencial:

Acción_1;

Acción_2;

Página 10 de 20
En el laboratorio realicé ejercicios equivalentes a los ya hechos en el problema
de la semana anterior, es decir, ejercicios con los que seguí practicando la programación
basada en el diseño de pruebas (TDD). (Ilustración 6)

Ilustración 6

Página 11 de 20
Semana del 10 al 16 de octubre.
Repasé las estructuras de control. Se presenta la herramienta de depuración en
Eclipse (Debug [10]). Se explica la sentencia de control repetitiva (bucles for). Se
introduce el concepto de array y se trata el concepto de base de datos. Cabe mencionar
que los arrays son lo que más me ha costado hasta el momento.

Comenzamos nuestro trabajo en grupo, esta semana elegimos el juego que


íbamos a programar, resultó ser un ajedrez con algunos cambios como, por ejemplo, la
ausencia de peones. Este trabajo me ha parecido especialmente interesante pues, de
todos los que hemos hecho es el que más se acerca a algo que podríamos hacer como
proyecto en el mundo laboral.

En el laboratorio continué haciendo ejercicios para reforzar lo aprendido durante


las semanas anteriores. Además, aprendí cómo hacer funcional el click del ratón en el
programa. En la imagen se puede observar el método empleado para ello
“EvenDispatch.mouseClicked(snake.getx(),snake.getY();”. (Ilustración 7)

Ilustración 7

Página 12 de 20
Semana del 17 al 23 de octubre.
Durante esta semana repasé las estructuras de control. Utilicé la herramienta de
depuración en Eclipse para estudiar con más facilidad el concepto de array. Luego se
analizaron conceptos previamente estudiados de programación orientada a objetos
(tras el diario habrá una lista con todos ellos y sus definiciones). Se explica cómo utilizar
la herencia para evitar duplicidad en el código. Finalmente se introduce el concepto de
clase abstracta (void) como medio para evitar crear objetos que no deben existir en la
ejecución del programa.

Los ejercicios realizados esta semana han sido orientados principalmente hacia
el uso de los atributos y los métodos de manera que hemos guardado lo que ha calculado
el método en el atributo. También he hecho los mismos ejercicios sin atributo, es decir,
el método devolvía directamente lo calculado y por último, cabe mencionar que al estar
trabajando con la programación orientada al diseño de pruebas, en el paso de
refactorización practiqué los bucles for.

Semana del 24 al 30 de octubre.


En teoría se estudia el diagrama de clases UML y los constructores. Se utiliza
el problema semana 06.2 para repasar las estructuras de control, los arrays y la
programación guiada por pruebas (TDD). (Ilustración 8)

Ilustración 8

Página 13 de 20
En laboratorio se realiza el producto mediante sumas y/o restas para practicar
con las estructuras de control condicional (if) y repetitiva (for) .

Semana del 31 de octubre al 6 de noviembre.


En teoría se explica el manejo de excepciones, que trabajaré esta semana
también en la tarea de laboratorio, ya que es importante para usar correctamente las
clases que nos ofrece Java.

En laboratorio se realicé el cociente mediante sumas y/o restas para practicar


todas las herramientas aprendidas anteriormente y se propone que se analicen las
semejanzas y diferencias que existen entre este ejercicio y el producto mediante sumas
y/o restas realizado la semana pasada. (clase Ilustración 9) (test Ilustración 10)

Ilustración 9

Página 14 de 20
Ilustración 10

Definiciones
Clase: Una clase en Java es como una plantilla o molde que permite definir la
forma que van a tener los objetos que se creen de esa clase.

public class EjemploNombreClase {

Constructor: El constructor de una clase Java tiene el mismo nombre que la clase
y se utiliza para iniciar los valores de los objetos que se creen de esa clase.
public

Given-When-Then es un estilo de representación de pruebas:

1. Given: describe el estado de los objetos que se necesita para hacer la


prueba, es decir, el estado de los objetos antes de comenzar el
comportamiento que se desea experimentar.
2. When: describe las acciones a llevar a cabo para la aplicación del
comportamiento que se desea experimentar.

Página 15 de 20
3. Then: describe los cambios que se esperan debido a la aplicación de las
acciones del When que se están probando en el experimento a los
objetos del Given.

Atributo: Se dice que una variable es un atributo cuando las llaves donde se
encuentra su declaración pertenecen a una clase. Un atributo existe mientras existe el
objeto de la clase donde fue declarado y almacena un dato que define una propiedad
de este objeto. El atributo privado proporciona ocultación del dato que almacena y más
control sobre el estado del objeto porque es sólo accesible desde dentro de la clase
donde está declarado.

public class EjemploNombreClase {

private int memoria;

Getter: es un método utilizado para controlar las consultas del valor almacenado
en un atributo. Los métodos getters, combinados con los atributos privados, protegen
eficazmente las consultas de los datos almacenados en los atributos de un objeto.

public int getMemoria() {

return memoria;

Setter: es un método utilizado para controlar los cambios en un atributo. Los


métodos setters, combinados con los atributos privados, protegen eficazmente los
cambios de los datos almacenados en los atributos de un objeto.

public void setMemoria (int memoria) {

this.memoria = memoria;

Página 16 de 20
Array: es una zona de almacenamiento contiguo que contiene una serie de
elementos de tipo equivalente. (Ilustración 11 [11])

Ilustración 11

1. UML: Lenguaje Unificado de Diseño


2. TDD: Desarrollo Dirigido por Test
3. OOP: Programación Orientada a Objetos

Conclusiones
Informática es una asignatura que precisa tiempo, un tiempo no solo dedicado a
las tareas, laboratorios, problemas y trabajos sino también tiempo orientado a entender
y a tratar de llegar al punto en el que el cerebro empiece a pensar de forma parecida a
la máquina. El objetivo real es que seamos capaces de ver casi perfectamente el código
que debemos escribir.

En cuanto al contenido impartido, he de decir que lo más que me ha costado


entender ha sido cómo se recorre un array y cómo refactorizar un método con bucles
for. No obstante, aún siendo consciente de que hay ciertas partes del contenido que no
domino como me gustaría, he notado un gran avance. La primera semana, no sabía nada
de programación en Java, lo único con lo que había trabajado era HTML y ahora conozco
y controlo gran parte del contenido impartido a excepción de los arrays, que deberé
seguir trabajando para lograr controlar su funcionamiento.

Página 17 de 20
Puede parecer tal vez que informática es una asignatura cuyo único campo de
aplicabilidad es el tecnológico, sin embargo, al ser una asignatura que, como he
mencionado anteriormente, trata de cambiar la forma de pensar, propicia el desarrollo
analítico y es este tipo de pensamiento el que podemos aplicar en cualquier sector.

Por lo que respecta a la forma de trabajo que hemos empleado en la asignatura,


debo decir que es muy gratificante saber que herramientas como Eclipse están siendo
utilizadas hoy en día en el ámbito profesional ya que, por cómo está organizado el
sistema educativo el alumnado tiende a pensar que la mayoría de contenido que cursa
no va a ser aplicable en el futuro.

Para finalizar con el apartado de conclusiones de esta memoria, solo he de


mencionar que es una asignatura que nunca se deja de estudiar, a la que hay que dedicar
tiempo y una asignatura que hay que tomar casi con cariño, aunque cueste al principio
porque desde luego, vale la pena.

Página 18 de 20
Referencias
[1] “Press kit | GitLab.” https://about.gitlab.com/press/press-kit/ (accessed Nov. 12,
2022).

[2] “¿Qué es GitLab? | TurinGears.” https://turingears.com/que-es-gitlab/ (accessed


Nov. 07, 2022).

[3] “File: Ubuntu-18.04-Desktop.png - Wikimedia Commons.”


https://commons.wikimedia.org/wiki/File:Ubuntu-18.04-Desktop.png (accessed
Nov. 12, 2022).

[4] “Download Ubuntu Desktop | Download | Ubuntu.”


https://ubuntu.com/download/desktop (accessed Nov. 12, 2022).

[5] “Eclipse, entorno de desarrollo integrado - EcuRed.”


https://www.ecured.cu/Eclipse,_entorno_de_desarrollo_integrado (accessed
Nov. 12, 2022).

[6] “Eclipse Cocoa: Version 4.9.0 Released - Hands on • Crunchify.”


https://crunchify.com/eclipse-mars-version-4-5-0-release-on-june-24th-2015-
hands-on/ (accessed Nov. 12, 2022).

[7] “43703-INFORMÁTICA”, Accessed: Nov. 04, 2022. [Online]. Available:


https://eite.ulpgc.es/index.php/es/formacion/grado-en-ingenieria-en-
tecnologias-de-latelecomunica

[8] “Definition of Object-oriented Programming - Gartner Information Technology


Glossary.” https://www.gartner.com/en/information-technology/glossary/oop-
object-oriented-programming (accessed Nov. 12, 2022).

[9] “TDD como metodología de diseño de software - Paradigma.”


https://www.paradigmadigital.com/dev/tdd-como-metodologia-de-diseno-de-
software/ (accessed Nov. 12, 2022).

[10] “(1) ¿Como usar el Debug en Eclipse? - YouTube.”


https://www.youtube.com/watch?v=lFLFxVUUD74 (accessed Nov. 12, 2022).

Página 19 de 20
[11] “5. Arreglos y Matrices (Arrays) | Academia Códigos de Programación.”
https://codigosdeprogramacion.com/cursos/?lesson=5-arreglos-y-matrices-
arrays (accessed Nov. 12, 2022).

Página 20 de 20

También podría gustarte