Está en la página 1de 148

PREINSCRIPCIONES 2023

TECNICATURA SUPERIOR EN

CIENCIA DE DATOS E
INTELIGENCIA ARTIFICIAL

MÓDULO
Ser Técnico/a de Nivel Superior
ÍNDICE
Ser Técnico/a de Nivel Superior - SEMANA 1

Tema 1: Presentación Institucional 1


¿Quiénes somos?: Un poco de nuestra historia… 1
Fundamentos institucionales:
Misión, visión, valores. 4
Misión: NUESTRA RAZÓN DE SER 4
Visión: EN BUSCA DE NUESTROS OBJETIVOS 4
Nuestros valores 5
Tema 2: Reglas de Convivencia Institucional 7
REGLAS DE CONVIVENCIA INSTITUCIONAL 7
CONDUCTAS ESPERADAS 8
CONDUCTAS NO TOLERADAS 10
Solicitud de bajas/Bajas automáticas 11
Información Académica
Sobre la Tecnicatura Superior 13
Carreras a término 13
Modalidad de cursado 13
¿Qué es la modularidad? 14
Condiciones y sistema de calificación 15
Sobre Equivalencias 15
Sobre Reconocimiento de Saberes 16
Los pasos a seguir son los siguientes: 16
¿Qué son las Prácticas Profesionalizantes? 17
Objetivos: 18
Pueden realizarse de las siguientes maneras: 18
Plan de Estudios 20
Correlatividades 21
Introducción a la Tecnicatura Superior en
Ciencia de Datos e Inteligencia Artificial 22
INTRODUCCIÓN: 22
Marcos de referencia ministeriales 22
Ciclo de Vida de un proyecto de Data Science 29
Perfiles profesionales requeridos para trabajar en Data Science 29
Tema 3: SIU Guaraní
Playlist tutoriales 31
Tema 4: Sobre el buen uso de la Plataforma Virtual 31
¿Cómo acceder a la plataforma? 32
¿Cómo editar la información del perfil de usuario? 33
¿Cómo ingresar a un curso? 35
Durante el cursado de la plataforma encontrarás: 35
TECNICATURA SUPERIOR EN CIENCIA DE DATOS E INTELIGENCIA
ARTIFICIAL 37
Introducción 37
Objetivos 38
Fundamentación pedagógica disciplinar 39
Conceptos básicos y metodología para la solución de problemas por medio de
computadoras 41
Introducción 41
HARDWARE 42
SOFTWARE 42
Tipos de software 43
Software de Base 43
Tipos de software de sistema: 45
Software de Aplicación 45
Software de Desarrollo 46
Software de Comunicaciones 46
Software propietario, software libre y open source 47
Software Propietario 47
Software libre 48
Las cuatro libertades esenciales 49
Conceptos de Programación 50
¿Qué es la programación? 50
¿Qué es programar? 50
Ámbitos de la programación 50
Lenguaje De Programación 51
Lenguajes De Bajo Nivel 53
Lenguajes De Alto Nivel 55
Lenguajes interpretados y compilados 57
Interpretación Vs Compilación 57
Ventajas y desventajas de la compilación e interpretación 58
Fases en la resolución de problemas 59
Definición del Problema
(Análisis de los requerimientos del cliente) 60
Análisis del Problema 60
Diseño del Algoritmo 61
Codificación 62
Prueba y Depuración 62
Documentación 63
Resolución de un problema en base a la algoritmia 64
Análisis del Problema 65
Diseño del Algoritmo 68
Resolución de un Problema por un Sistema computacional 71
Diagrama de flujo o Pseudocódigo 72
Programación estructurada 72
Recursos abstractos 73
Diseño descendente (top-down) 75
Solución de problemas secuenciales con programación estructurada 76
Herramientas de programación para la solución de problemas
computacionales 76
Entidades primitivas para el desarrollo de algoritmos 78
Tipos de Datos 78
Expresiones 79
Operadores y Operandos 80
Prioridad de los Operadores Aritméticos 81
Identificadores 85
¿Qué son los identificadores? 85
Reglas para formar un identificador 86
Constantes 86
Variables 87
Por su Contenido 88
Técnicas para la formulación de Algoritmos 90
Diagramas de flujo 90
Recomendaciones para el diseño de
Diagramas de Flujo 93
Pseudocódigo 93
Ventajas de utilizar un Pseudocódigo a un
Diagrama de Flujo 95
Diagramas estructurados (Nassi-Schneiderman) 95
Estructuras Algorítmicas 96
Estructuras de control 97
Estructuras Secuenciales 97
Tipos de estructuras secuenciales 98
Estructuras condicionales 105
Estructuras cíclicas o repetitivas 114
PSeInt 123
¿Qué es? 123
¿Quién y cuándo se creó? 123
Stack tecnológico 130
Tipos de stacks de desarrollo 130
Mean 130
MERN Stacks 131
MEVN Stacks 131
LAMP Stacks 131
Ventajas: 132
Ética profesional 133
La Ética 133
La ética del profesional 133
La ética en el ejercicio de las profesiones en Ciencias Informáticas 135
Capacitación en temas vinculados a la ética 136
La experiencia educativa en el ISPC 137
Para seguir aprendiendo 140
Referencias Bibliográficas 141
1

Ser Técnico/a de Nivel Superior - SEMANA 1

Tema 1: Presentación Institucional

¿Quiénes somos?: Un poco de nuestra historia…

Todo comenzó con una idea, y como ocurre con muchas de ellas, creció y

tomó formas impensadas. Al principio parecía difícil de alcanzar porque se

trataba de un espacio que estaba vacante en la educación técnica; un instituto

que tuviera cómo eje la innovación, lo cual suponía un desafío inédito a nivel

académico e institucional. En otras palabras, rompía con los esquemas

educativos que se estaban llevando adelante hasta ese momento en el país. De

esta manera, la Dirección General de Educación Técnica y Formación

Profesional del Ministerio de Educación de la Provincia de Córdoba desde

el inicio tomó la posta para darle forma a esta idea, desarrollarla y llevarla

adelante.

El éxito de los programas CLIP, PIL (Programa de Inserción Laboral) y PIT

(Programa de Inserción al Trabajo) desarrollados desde la Dirección y puestos

en marcha en diferentes puntos de Córdoba y en otras provincias, fue el

puntapié inicial para fortalecer la convicción de todos y todas.

La iniciativa de formar el Instituto Superior Politécnico Córdoba tuvo como

objetivo central la creación de una institución pública y gratuita, que ofreciera

educación técnica superior de calidad y que fuera desarrollada en

consonancia con el sector productivo, instituciones y demás actores


2

involucrados. Además, contar con un carácter abierto, que incluyera el

aprendizaje multimedial, flexible e inclusivo para que quienes tuvieran el deseo

de formarse no encontrarán obstáculos de ninguna índole.

Y así, después de mucho trabajo y esfuerzo, el 07 de julio de 2020, el

Gobernador de la Provincia de Córdoba, Juan Schiaretti, creó mediante el

Decreto N° 507 al Instituto Superior Politécnico Córdoba. Lo que en principio era

una idea para muchos utópica, ya estaba sucediendo.

En largas jornadas de reuniones y, trabajando codo a codo con los

sectores productivos, esta idea comenzó a crecer, tomar forma y poner en

marcha sus primeras propuestas educativas en Tecnicaturas Superiores

orientadas a Desarrollo Web y Aplicaciones Digitales, Ciencia de Datos e

Inteligencia Artificial y Ambiente y Desarrollo Sostenible. La decisión de

formar vínculos con diferentes sectores surge de la necesidad de insertar en el

mercado perfiles profesionales que sepan enfrentar y adaptarse al paradigma

tecnológico que atraviesa el mundo; flexibles, proactivos/as, autogestivos/as,

dotados de habilidades blandas y técnicas.

Estas carreras con orientación en desarrollo de software, tecnologías,

data science y desarrollo sustentable, apuntan a ser la continuación del proceso

iniciado por los y las estudiantes de escuelas técnicas, orientadas y ProA (que

en la Provincia de Córdoba nuclea la misma Dirección), lo cual representa una

posibilidad para quienes quisieran seguir formándose en una instancia de Nivel

Superior y evitar la deserción una vez finalizado el trayecto escolar obligatorio.

Pero la idea de innovar y continuar creciendo no se detuvo allí. Se

incorporaron nuevos sectores que atravesaban momentos críticos, tal como

sucedió con las problemáticas provocadas por la pandemia “COVID-19” y la


3

imperiosa necesidad de fortalecer el sistema de salud. Como resultado de

entender a la educación como el único camino real y concreto para nutrir los

pilares fundamentales de la sociedad, el ISPC se expandió, y en 2021 sumó

nuevas ofertas académicas que incluían especialidades tales cómo: Innovación

con Tecnología 4.0, Ortesis y Prótesis, Gestión y Mantenimiento de

Equipamiento Biomédico y Biotecnología. De esa manera, incrementó su

oferta académica a siete tecnicaturas superiores con alcance y validez nacional,

avaladas por el Instituto Nacional de Educación Tecnológica (INET). ¿Podría

haberse detenido allí? Tal vez, pero la lógica de crecimiento que mantiene la

Dirección y la proyección del ISPC en cantidad de inscriptos/as e interesados/as

en sumarse no eran precisamente indicadores que marcaran un momento de

pausa, sino todo lo contrario. Lo que arrancó como una “idea" se convirtió en

una realidad, pero había que redoblar esfuerzos y hacer correr la voz. Fue

necesario recorrer toda la provincia y contar que nuestra institución ya estaba

funcionando, que era virtual, flexible, pública y gratuita. De esta manera, en la

segunda mitad de 2021 el equipo del Politécnico recorrió una gran cantidad de

escuelas técnicas y orientadas. Estos encuentros con los y las estudiantes del

último año sirvieron también para alentarlos a crecer y a no dejar de capacitarse.

Precisamente, ése es el sentido del Politécnico permite estudiar desde

casa (o desde los puntos de conexión brindados por los municipios y comunas,

gracias a convenios de colaboración con diferentes municipios), con horarios

flexibles, material de estudio a disposición las veinticuatro horas en la plataforma

virtual.

En 2022, con una altísima demanda de inscripciones de todo el país, el

Politécnico sumó cinco nuevas carreras: Administración,


4

Telecomunicaciones, Industria del Plástico, Nuevas Tecnologías aplicadas

al Agro y Guión Audiovisual, ampliando su oferta a doce Tecnicaturas

Superiores con certificaciones de Formación Profesional en cada una de ellas…

Fundamentos institucionales:

Misión, visión, valores.

Misión: NUESTRA RAZÓN DE SER

El Politécnico tiene opciones educativas inclusivas e innovadoras,

marcadas por su carácter flexible, gratuito y creadas para formar perfiles

profesionales autogestivos, proactivos y adaptables, que puedan insertarse en el

mercado laboral rápida y eficazmente. Con una modalidad de cursado

combinada que integra lo académico, basado en nuevas tecnologías, junto con

prácticas profesionalizantes en contextos reales de trabajo desde el primer año.

Ofrece títulos y certificaciones oficiales, con alcance nacional, más

especialización y en menos tiempo de formación.

Visión: EN BUSCA DE NUESTROS OBJETIVOS

El ISPC procura brindar herramientas concretas e innovadoras para la

formación y el desarrollo académico de los y las estudiantes. En el marco de una

educación dinámica, interdisciplinaria y centrada en el aprendizaje basado en

proyectos, busca promover una inserción laboral rápida y efectiva de nuestra

comunidad de estudiantes. Para ello, se potencian y fortalecen continuamente

los vínculos con los sectores socioproductivos y todos aquellos espacios


5

generadores de empleo calificado. Buscando acortar distancias, superar

obstáculos, llevar ésta propuesta académica a toda la Provincia, el país y

convirtiéndose en un centro de formación educativa técnico profesional de

referencia en la región.

Nuestros valores

Inclusión y Gratuidad: El Politécnico es una institución de gestión estatal

que promueve la democratización educativa con una propuesta abierta, libre y

sin costo.

La educación pública de nivel superior es un derecho irrenunciable y con

la virtualidad se pretende superar cualquier límite geográfico y llegar a todos los

rincones de la provincia con esta innovadora oferta académica.

Innovación: El contenido académico está basado en la economía del

conocimiento. Las nuevas tecnologías y su desarrollo atraviesan todos los

saberes y aspectos de la sociedad en general, es fundamental no perderle

pisada a su constante progreso. Por eso se dota de herramientas a los y las

estudiantes con material actualizado, acorde a los tiempos que corren y las

demandas del mundo del trabajo.

Autogestión: Desde el inicio y hasta el final de su formación,se pregona

el sentido y valor de la autogestión de los y las estudiantes. Tanto para su

camino académico, como para el uso de la plataforma virtual o para la

realización de trámites; se alienta la iniciativa personal - una habilidad muy

requerida en el mercado laboral-, haciendo hincapié también en la

responsabilidad y el valor de la educación pública.


6

Trabajo en equipo: La labor colaborativa es un eje transversal de la

institución, no solo referida al que realizan los y las estudiantes, sino también el

que se desarrolla con otros actores, como los sectores productivos, la

comunidad educativa, las áreas de gobernación y la sociedad en general. El

Politécnico entiende a las metas conjuntas cómo más satisfactorias y

beneficiosas que resultados y/o objetivos individualizados.


7

Tema 2: Reglas de Convivencia Institucional

REGLAS DE CONVIVENCIA INSTITUCIONAL

Las presentes normas de convivencia institucional tienen como objetivo

primordial regular las relaciones entre los miembros del Instituto Superior

Politécnico Córdoba. En este sentido, las mismas se orientan a:

a. Garantizar el derecho a una convivencia pacífica, integrada y libre de

violencia física, psicológica y verbal dentro del Instituto, durante el

desarrollo de todas las actividades que se organicen en el marco de él,

como así también aquellas acciones que se desarrollen fuera;

b. Orientar la formación y las acciones institucionales hacia criterios que

eviten la discriminación, fomenten la cultura de la paz y la ausencia de

maltrato de cualquier tipo;

c. Definir e impulsar estrategias y acciones que fortalezcan a los actores

institucionales para la prevención y abordaje de situaciones de violencia

de cualquier tipo;

d. Repudiar cualquier tipo de lenguaje que incite al odio y ataque a la

dignidad de las personas;

e. Fomentar que los debates e intercambios de opinión se realicen bajo

condiciones de respeto;

f. Propiciar un ambiente sano, desprovisto de prejuicios, que promueva la

solidaridad y la colaboración, fuera de cualquier forma de discriminación

basada en la etnia, nacionalidad, religión, postura política, situación


8

socio-económica, orientación sexual, sexo, identidad de género,

discapacidad, características físicas y/o enfermedad, etc;

g. Crear y favorecer a un ambiente institucional que facilite el desarrollo

integral de los/as estudiantes.

CONDUCTAS ESPERADAS

1. De los encuentros sincrónicos: durante los encuentros sincrónicos

los/as estudiantes deberán permitir el desarrollo normal de las actividades

formativas. Para ello, se requiere:

- Se encuentren debidamente identificados con los datos personales

solicitados;

- Empleen un vocabulario respetuoso con las personas presentes en

el encuentro, evitando expresiones ofensivas, discriminatorias y/o

estigmatizantes;

- Respeten las diferencias de opinión y utilicen el diálogo como

metodología para la identificación y resolución de conflictos o

diferencias;

- Propicien a un ambiente disciplinado y pacífico institucional,

respetando a los/as compañeros/as estudiantes, a los/as docentes,

tutores/as, equipo técnico, y demás actores

académicos/administrativos.

- El cuidado de su imagen y presentación personal;


9

2. De la utilización de foros y otros canales de comunicación:

- Los/as estudiantes deberán utilizar adecuadamente las vías de

comunicación puestas a disposición por el Instituto, teniendo en

cuenta los incisos mencionados anteriormente;

- Es plena responsabilidad del estudiante el ingreso permanente y

cotidiano a los canales oficiales de comunicación (foros,

mensajería interna, mail, página web, SIU guaraní, entre otros) a

los fines de recibir las notificaciones e información

correspondientes al desarrollo del cursado académico y novedades

administrativas;

- Mantener las cordialidades y buenos modales correspondientes al

dirigirse al resto de la comunidad educativa institucional.

3. De los exámenes:

- Cada estudiante deberá respetar los horarios establecidos de

conexión y tolerancia;

- Es responsabilidad de cada estudiante presentar los elementos y/o

constancia de identificación legibles, como la transmisión de audio

e imagen clara, sin distorsiones;

- Se espera una escucha activa y respetuosa ante las posibles

devoluciones de la autoridad docente, tutores, coordinadores,

administrativos que estuvieran presentes.

4. De las instancias presenciales:

- Mantener una conducta decorosa y responsable, ya que en el

desarrollo de las prácticas profesionalizantes/visitas educativas

también estará representando a la Institución;


10

- Se espera de los/as estudiantes un cuidadoso, responsable y

respetuoso uso del edificio, del mobiliario, de las instalaciones y

materiales del Instituto, de la Dirección General de Educación

Técnica y Formación Profesional y del Ministerio de Educación de

la Provincia con las que tome contacto, conforme a su destino y

normas de funcionamiento.

CONDUCTAS NO TOLERADAS

El Instituto Superior Politécnico Córdoba no hará lugar a las conductas

enumeradas a continuación, reservándose el derecho de tomar las medidas que

considere necesarias para respetar los valores y principios propios de todo

ámbito educativo que hacen al óptimo ambiente escolar. Serán consideradas

faltas graves:

1. Cualquier forma de discriminación, hostigamiento, violencia, gestos

obscenos vulgaridades y/o exclusión entre/con los/as integrantes de la

comunidad educativa, durante los encuentros sincrónicos, actividades

asincrónicas y mediante cualquier vía de comunicación (foros, chats,

mensajería interna, mails, entre otros);

2. La utilización y/o difusión fuera de la plataforma educativa de imágenes,

videos ni cualquier tipo de material informativo y educativo adquiridos

durante los encuentros sincrónicos y/o actividades asincrónicas para otros

fines distintos a los académicos;

3. La utilización de herramientas digitales, sean escritos, verbales,

creaciones audiovisuales (memes, sticker, capturas de pantallas, edición


11

de fotos y videos), producción de videos, audios u otros con el fin de

realizar ciberacoso a docentes, asistentes de educación, compañeros/as

de curso o a cualquier integrante de la comunidad educativa;

4. Los malos tratos, el lenguaje inadecuado e irrespetuoso en la utilización

de los medios institucionales y académicos de comunicación;

5. No acatar indicaciones o llamados de atención del equipo directivo,

docente, tutores o administrativos durante exámenes, pudiendo la

autoridad a cargo anular y reprobar dicha instancia;

6. Cualquier otro tipo de conducta que vaya en contra de los valores

institucionales, el buen ámbito educativo, las personas y/o la Institución.

Las conductas no toleradas serán plausibles de sanción, que podrán ser

desde un llamado de atención hasta la desmatriculación del/la estudiante en la

Institución, según su envergadura, contextualización de las transgresiones, y

circunstancias en que acontecen, según las perspectivas de los actores, los

antecedentes previos y otros factores que inciden en las mismas, manteniendo

la igualdad ante la ley.

El/la estudiante tendrá derecho a ser escuchado/a y formular su descargo

ante situaciones de transgresión a las normas establecidas.

Solicitud de bajas/Bajas automáticas

El procedimiento de baja se lleva a cabo de dos maneras:

1. Aquellos/as estudiantes que hayan completado el proceso de

preinscripción correctamente (presentación de la documentación solicitada,

aprobar el módulo introductorio con 70% o más) y posteriormente hayan


12

decidido no continuar la cursada (esta situación puede emerger en cualquier

momento/período del año). Para realizar la “solicitud de baja” podrá completar un

formulario que se encuentra disponible en el espacio de Secretaria Estudiantes

que estará disponible en el aula virtual. Una vez completado dicho formulario, en

primera instancia se le enviará una constancia de su situación académica hasta

el momento. La solicitud expresa de baja es consentimiento suficiente para

borrar su actuación académica de la plataforma virtual de aprendizaje.

2. También se podrá acceder al sistema de bajas respecto de aquellos

estudiantes que no accedan por más de treinta días a los módulos de la

Tecnicatura elegida, sin notificación previa que avale dicha situación de

desconexión, y no brinde respuesta alguna, a los contactos realizados al mail

declarado en la preinscripción por parte del Instituto, mediante los Tutores de

Entornos Virtuales. De igual manera, se le enviará constancia de lo cursado y

aprobado hasta ese momento.


13

Información Académica
Sobre la Tecnicatura Superior

Carreras a término
Toda la propuesta académica del Instituto Superior Politécnico Córdoba

implica “carreras a término'': se garantiza el cursado y la continuidad en los

plazos establecidos de la carrera elegida, en éste caso por dos años y medio.

Ésto requiere un fuerte compromiso del/de la estudiante en relación a la

continuidad de la cursada y finalización en los tiempos establecidos. La apertura

de nuevas cohortes dependerá de la vacancia de los perfiles profesionales

afines a cada sector socioproductivo de la Provincia de Córdoba, por lo tanto la

disponibilidad de mesas examinadoras finales se garantizará solo dentro de la

cohorte activa.

Modalidad de cursado

La modalidad de cursado que propone el ISPC es COMBINADA y consta

de dos ejes fundamentales:

- Cursado virtual: Es el eje principal de la trayectoria académica de un

estudiante en nuestra institución, ya que incluye todo lo teórico-académico.

Tiene instancias sincrónicas (en un horario y día pactados anteriormente),

dónde podrá conectarse en vivo con los/as docentes y resto de los estudiantes

para realizar consultas sobre todo el material de estudio que estará disponible

en la plataforma virtual 24hs. Por lo tanto, el carácter asincrónico (los trabajos

prácticos, actividades, material de estudio, foros de consulta y foros de


14

intercambio) permitirá que cada estudiante administre y gestione sus tiempos

para poder cumplimentar con las entregas establecidas por el equipo docente.

- Prácticas profesionalizantes: Con el objetivo de acercar a los/as

estudiantes al mundo del trabajo real, incluyendo contenido práctico desde el

primer año en cada una de las ofertas académicas, se plantean las prácticas

formativas y profesionalizantes de manera presencial, virtual o mixtas según se

considere pertinente, cómo también salidas educativas, trabajo de campo o

trabajo real del problema . Especialmente en las prácticas de carácter presencial

se caracterizan por ser geolocalizadas (próximas al lugar de residencia del

estudiante) con el objetivo de potenciar el crecimiento de las economías

regionales. Las Prácticas son de carácter obligatorio y un requisito indispensable

para alcanzar su título de Técnico Superior.

¿Qué es la modularidad?
El Sistema Modular se implementó en el Instituto Superior Politécnico

Córdoba con el objetivo de permitir a los/as estudiantes adquirir los

conocimientos de manera integrada y articulada. Los espacios curriculares (EC)

se unifican para establecer un conjunto de saberes básicos y competencias que

avale el saber de la temática en cuestión.

Ya no se piensa a cada EC como una unidad aparte sino como un módulo

integrado para trabajar en proyectos, unificando criterios, trabajando de manera

conjunta con compañeros/as, desarrollando el pensamiento crítico e integral que

es en definitiva lo que se espera de los perfiles profesionales que se insertarán

en el mundo del trabajo a futuro.


15

Condiciones y sistema de calificación


Se establece una evaluación de proceso mediante el registro de

evidencias asociadas a las capacidades, configurando indicadores válidos de su

adquisición a lo largo del desarrollo formativo determinado por el módulo.

Todas las actividades establecidas como obligatorias, tendrán devolución

de aprobado o no aprobado con la indicación docente correspondiente. Además,

al finalizar el módulo se establecerá una evaluación cuantitativa, sintetizando el

proceso. En cada trayecto formativo se informará sobre los criterios de

evaluación y calificación correspondientes, existiendo tres condiciones: libre,

regular, promocional.

El módulo introductorio inicial, se trata de una instancia nivelatoria que no

genera una nota vinculante en relación al proceso académico que se

desarrollará posteriormente en la Tecnicatura.

Sobre Equivalencias
El/La estudiante puede convalidar los contenidos que haya cursado y

aprobado en otras instituciones de carreras de grado y/o terciarias iguales o

afines.

Al igual que el sistema de Reconocimiento de Saberes, el cual se explica

a continuación, la solicitud de Equivalencias emerge como una oportunidad para

reconocer contenidos y habilidades/competencias, en este caso, refiere a

aquellos conocimientos adquiridos formalmente en ámbitos académicos.

Para presentar la solicitud deberá contar con la documentación que avale

fehacientemente la formación académica, técnica, profesional y/o laboral.


16

Es importante destacar que quién presente la solicitud deberá cursar

normalmente hasta obtener la resolución (favorable o no) de la Equivalencia.

Sobre Reconocimiento de Saberes

El Reconocimiento de Saberes permite validar y certificar los

conocimientos adquiridos en instituciones académicas, ámbitos sociales y

experiencias laborales.

Quien egrese de escuelas técnicas, orientadas, escuelas PROA de la

Provincia de Córdoba o cuente con experiencia laboral afín a nuestras

certificaciones, el Instituto Superior Politécnico Córdoba podrá reconocer y

acreditar su experiencia formativa.

Para la realización es muy importante que cuente con la documentación

que avale fehacientemente su formación académica, técnica, profesional y/o

laboral.

Para egresados/as de Escuelas Técnicas, Escuelas PROA o Escuelas

Orientadas, la documentación a presentar es: Título Secundario Certificado

Analítico y Plan de Estudios aprobado. En cambio, si quiere calificar como

idóneo por tu experiencia laboral y capacitaciones realizadas, deberá

adjuntar aquella documentación fehaciente que legitime dicha trayectoria.

Los pasos a seguir son los siguientes:

● Elevar una nota dirigida a las autoridades del ISPC solicitando el

reconocimiento de los trayectos

● Adjuntar la documentación solicitada, según el caso y formación previa de

cada estudiante
17

● Una vez recibida y admitida la documentación completa, se convocará a

la “Comisión Evaluadora ad.hoc”, integrada por los docentes a cargo de

cada módulo, para que analicen la información enviada por los

estudiantes.

● A partir de allí se inicia el proceso de evaluación, cuyos parámetros y

metodología estarán definidos por cada Comisión y serán informados a

cada estudiante.

● Se eleva un veredicto de la petición. Allí se determinará si al estudiante se

le acredita el trayecto académico o si tiene que realizar el módulo

completo como corresponde.

La gestión de Reconocimiento de Saberes y la de Solicitud de

Equivalencias se realizan únicamente a través del Aula Virtual, en periodos

determinados con fechas de inicio y cierre. La información y formularios para

ambas gestiones, además de las fechas, se publicarán oportunamente en

la plataforma y no por otros medios.

¿Qué son las Prácticas Profesionalizantes?


Se trata de aquellas estrategias y actividades formativas que, como parte

de la propuesta curricular, tienen como propósito que los/las estudiantes

consoliden, integren y/o amplíen sus capacidades y saberes profesionales.

Propician una aproximación progresiva al campo ocupacional, se busca

relacionar los saberes adquiridos en el ámbito institucional con las demandas de

los sectores productivos.


18

Objetivos:

● Desarrollar oportunidades de formación específica que sean afines a la

profesión abordada, además de prácticas profesionalizantes dentro del

campo ocupacional elegido.

● Articular las instituciones y los programas de la Educación

Técnico-Profesional con los ámbitos de la ciencia, la tecnología, la

producción y el trabajo; de modo que se refuerce el vínculo entre ambos

sectores.

● En cuanto a lo institucional, generar propuestas formativas que

contemplen las características socioculturales.

● Facilitar la relación de los/as egresados/as con las economías locales y

regionales.

● En relación a los/as estudiantes, proporcionar conocimientos, brindar

espacios de acceso a las tecnologías, relacionarse con el mundo del

trabajo y poner especial énfasis en el desarrollo productivo y de

emprendimientos locales y regionales.

Pueden realizarse de las siguientes maneras:

- PASANTÍAS EDUCATIVAS NO RENTADAS: Son aquellas actividades

que realicen los y las estudiantes en empresas públicas o privadas, con

personería jurídica. Está relacionado con la propuesta curricular en curso

Se trata de actividades no obligatorias, con un alto valor pedagógico y

que no implican necesariamente un vínculo laboral.

La pasantía tendrá una duración mínima de dos (2) meses y un máximo

de doce (12) meses (Art. 13 Ley 26.427 – Art. 13 Ley 10.567),


19

adecuándose siempre a la carga horaria que requiera la actividad según

los marcos de referencia y planes de estudio de la tecnicatura en

cuestión. La misma, está prevista en hasta veinte (20) horas reloj

semanales, a desarrollarse entre las ocho (8) y dieciocho (18) hs. (Art. 13

Ley 26.427 – Art. 13 Ley 10.567). Se sugiere no exceder las cuatro (4)

horas diarias.

- SALIDAS EDUCATIVAS: Se trata de procedimientos en los cuales los/as

estudiantes toman contacto con entornos formativos reales y logran

aproximaciones con protocolos, objetos, procesos y procedimientos

propios del mundo del trabajo.

- TRABAJO DE CAMPO: Es un método experimental de conformación de

modelos teóricos o de simple obtención de datos específicos para

responder preguntas concretas. Su principal característica es que actúa

sobre el terreno en donde tienen lugar los hechos.

- RESOLUCIÓN DE PROBLEMA REAL: Consiste en un análisis

sistemático de una situación o problema real, con la finalidad de

determinar una o varias soluciones posibles.


20

Plan de Estudios
21

Correlatividades
22

Introducción a la Tecnicatura Superior en Ciencia de

Datos e Inteligencia Artificial

INTRODUCCIÓN:

Presentaremos brevemente algunos puntos para delinear lo que será el

desarrollo de esta tecnicatura.

Marcos de referencia ministeriales

La tecnicatura está conformada por una serie de formaciones

profesionales intermedias hasta alcanzar la titulación final que se mencionan en

los párrafos siguientes.

La Resolución Ministerial N° 213/2022 del Ministerio de Educación de la

provincia de Córdoba se aprobó para su aplicación en el Instituto Superior

Politécnico Córdoba, la Carrera superior “Tecnicatura Superior en Ciencia de

Datos e Inteligencia Artificial”. La misma toma como base el marco de referencia

de INET identificado como CFE 352/19 anexo 1.

El presente material forma parte del material correspondiente al Módulo

“Ser Técnico/a de Nivel Superior” del Instituto Superior Politécnico Córdoba para

diversas tecnicaturas superiores que comparten el dictado del módulo de

formación profesional denominado “Programador”. (Marco de referencia

aprobado por el Instituto Nacional de Educación Tecnológica según Resolución

CFE N° 289/16).
23

En la Tecnicatura Superior en Ciencia de Datos e Inteligencia

Artificial consideramos que el técnico debe ser una persona práctica con

capacidad de resolver problemas por lo que hay un fuerte enfoque en la

realización de proyectos que involucren actividades tanto del campo de la

Ciencia de Datos como de la Inteligencia Artificial.

A partir de la consulta e interpretación de las necesidades del cliente y/u

organización reales o simulados, se podrá implementar y modelar soluciones,

para lo cual realiza las tareas de diseño, programación, entrenamiento y

evaluación de resultados, para luego realizar la puesta en producción,

mantenimiento, mejoras y actualizaciones de soluciones. En éste ciclo se

revisarán los conceptos de MlOps para implementar un ciclo completo de

implementación e integración del producto obtenido.

El/La egresado/a podrá participar activamente en el desarrollo

colaborativo de proyectos de innovación, interactuando con actores relacionados

o no con su disciplina, estableciendo el diálogo con especialistas del campo

particular en el cual está inserto su proyecto de trabajo. Trabajará en la

adquisición, captura, adecuación y disponibilidad de datos siendo una parte

importante de su trabajo la capacidad de diseñar visualizaciones de información

acertadas y de comunicar eficazmente los hallazgos obtenidos, traduciéndolos

de manera comprensible a los roles no especializados de la organización y/o

clientes.

Los diversos temas que forman parte de este módulo “Ser Técnico/a de

Nivel Superior” corresponden a una introducción a unos de los primeros

módulos que el estudiante cursará en el primer cuatrimestre del plan de estudio.


24

Este módulo se denomina “Programador” y con su aprobación, se obtiene una

certificación de formación profesional.

Estos contenidos teóricos que se abordarán en el presente material serán

fundamentales para una eficaz introducción al módulo de referencia y así,

entender el funcionamiento básico, principalmente de la programación y de base

de datos para la mejor comprensión, manipulación, operatividad y uso de las

diversas tecnologías, de la ciencia de datos y de la inteligencia artificial.

Objetivos de la tecnicatura.

Formar técnicos con habilidades y competencias para la interpretación y

desarrollo de productos que requieren la implementación de inteligencia artificial

y ciencia de datos.

Figura 1: Que es Cencias de Datos por

Cassie Kozyrkov
25

En la figura 1 vemos que hay tres áreas fuertes de expertise que un

técnico debe comprender y aplicar.

Las habilidades de hacker incluye sólidos conocimientos de

programación. Incluimos Python como lenguaje de programación predilecto, sin

desmedro de otras opciones caso R. Con la evolución de la computación

distribuidas se verán conceptos de sistemas de comunicaciones para entender

los procesos de minería de datos.

Los conocimientos en matemáticas y estadísticas están incluidos en tres

espacios curriculares.

Los conocimientos especializados pueden incluir los propios de cada

negocio o área de interés, pero también los referidos a las habilidades blandas

como por ejemplo el trabajo en equipo con metodologías ágiles.

Las intersecciones también son abordadas por ejemplo en ética y

deontología profesional para comprender lo que implica la legalidad en este tipo

de proyectos.

Definamos Ciencia de Datos, en inglés Data Science, e inteligencia

artificial.

Iremos desarrollando estos conceptos a partir del segundo año. Sin

embargo en varios espacios del primer año se harán referencias a los mismos

en cada caso de aplicación.


26

Para definir estos conceptos empecemos por definir datos y los

metadatos.

Los datos son “Información concreta sobre hechos, elementos, etc., que

permite estudiarlos, analizarlos o conocerlos”. (Veas, 2021, #)

Para un computador, los datos no son más que “Cifra, letra o palabra que

representa información la cual se suministra a la computadora como entrada y la

máquina almacena en un determinado formato”. (Veas, 2021, #)

Los metadatos por su parte son básicamente “datos que describen la

información contenida en otros datos”. (Veas, 2021, #)

Podemos definir a la Ciencia de Datos (DS) como un “Campo

interdisciplinario que involucra métodos, procesos y sistemas de la computación,

Matemáticas, Estadísticas y el área a la cual se quiere aplicar, para investigar y

sacar ventaja de la información que dan los datos”. (Veas, 2021, #)

La Inteligencia Artificial (IA) es un “campo que tiene como objetivo imitar

la inteligencia natural humana, por medio de algoritmos y tecnología para

resolver problemas complejos y aumentar las posibilidades de éxito”. (Veas,

2021, #)
27

Figura 2: Ciencia de Datos e Inteligencia Artificial

por OpenWebinars

Observamos en la figura 2, que la Ciencia de Datos y la Inteligencia

Artificial, son áreas del conocimiento distintas, pero están interrelacionadas para

poder lograr mejores objetivos. Ambas áreas de conocimiento se basan en

distintas metodologías y técnicas para lograr sus objetivos. La Ciencia de Datos

implementa el Big Data y el Data Mining, mientras que la Inteligencia Artificial

requiere del Machine Learning y el Deep Learning.

Métodos, procesos, técnicas y herramientas utilizadas en el Data Science.

Cuando hablamos de ciclo de vida del modelo de aprendizaje automático

(ML) nos referimos al proceso que inicia con la identificación del origen de los

datos y los datos que deben ser incluidos al proyecto, hasta el desarrollo,

implementación y evaluación del modelo.

Este proceso se desarrolla en una secuencia ordenada por fases o etapas cada

una con un resultado específico que a su vez es input de la etapa siguiente.


28

Figura 3: Machine Learning (ML) Model Development Lifecyle -

https://www.kdnuggets.com/2021/10/machine-learning-model-development-opera

tions-principles-practice.html

En términos generales estas etapas son:

● Obtención de los datos

● Exploración de datos

● Creación de modelos

● Ajuste de hiper parámetros del modelo

● Selección del modelo con un rendimiento óptimo.

El resultado final del proceso es impredecible por lo que es fundamental

aplicar correctamente cada etapa, con el rigor de manejo de calidad de los

datos, técnicas y herramientas usadas durante dicho ciclo de vida.


29

Ciclo de Vida de un proyecto de Data Science

Figura 4: El Proceso de la Ciencia de Datos

por Chanin Nantasenamat

A modo general, el Proceso de la Ciencia de Datos consta de 5 etapas las

cuales son desarrolladas como mínimo por 4 perfiles profesionales.

Perfiles profesionales requeridos para trabajar en Data Science

Los perfiles profesionales de las personas que trabajan en estos campos,

los cuales, al fin del día, son las mentes maestras detrás de los avances

tecnológicos asociados a la Ciencia de Datos y la Inteligencia Artificial:


30

● Ingeniero de Datos (Data Engineering): Profesional enfocado en el

diseño, desarrollo y mantenimiento de los sistemas de procesamiento y

almacenamiento de datos dentro de un proyecto.

● Analistas de Datos (Data Analyst): Profesional que transforma los datos

en información para poder llevar a cabo una toma de decisiones más

completa. Se encarga del procesamiento y exploración de la información

contenida en los datos.

● Ingenieros de ML e IA (ML or AI Engineering): El Ingeniero de Machine

Learning y/o Inteligencia Artificial se encarga de crear modelos y

algoritmos matemáticos para agregar valor a los datos y así aportar mayor

información a los resultados.

● Analista de Negocios (Business Analyst): El analista de negocios o

Business Analyst se encarga de la estrategia de Business Intelligence y

de elaborar visualizaciones interactivas con los datos ya procesados para

reportería gráfica, los cuales servirán para la toma de decisiones finales

por parte de la organización del proyecto.

● Científico de Datos (Data Scientist): Profesionales con alto grado de

especialización, generalmente poseen Postgrados en Estadística,

Informática o Matemáticas. Desarrollan sus labores en todas las etapas

del proceso de la Ciencia de Datos, por lo que son los que llevan a cabo

la planificación, ejecución y control del proceso completo de un proyecto.


31

Tema 3: SIU Guaraní


Playlist tutoriales

Tema 4: Sobre el buen uso de la Plataforma


Virtual
El Instituto Superior Politécnico Córdoba cuenta con un Aula Virtual

Moodle, la cual es una plataforma de enseñanza-aprendizaje diseñada para

proporcionarles a estudiantes, docentes y personal administrativo un sistema

integrado único, robusto y seguro para crear ambientes de e-learning.

Existen dos maneras para acceder al Aula Virtual del ISPC:

- A través de nuestra página web: https://www.ispc.edu.ar/. Haciendo click

en el botón “Aula Virtual”:


32

- O directamente haciendo click en la dirección:

https://acceso.ispc.edu.ar/login/index.php

¿Cómo acceder a la plataforma?


1. Si tiene un usuario registrado preexistente en nuestra plataforma

deberá ingresar el mismo y la contraseña elegida. Generalmente, el usuario es el

número de DNI sin puntos ni espacios en blanco. Si no recuerda su contraseña

podrá restablecerla haciendo click en la opción: “¿Olvidó su nombre de usuario o

contraseña?”

2. Si es un USUARIO NUEVO, recibirá un mensaje automático a su

correo electrónico, el que haya registrado en el proceso de preinscripción. En

ese correo se le asignarán las credenciales de acceso (usuario y contraseña).

Una vez que ingrese, se solicitará que genere una nueva contraseña que

contenga: una longitud mínima de 8 caracteres y al menos una mayúscula, una

minúscula, un número y un carácter no alfanumérico (por ejemplo: @, $, &, etc).


33

Le compartimos un video tutorial con los pasos detallados para que pueda

completar exitosamente el primer acceso al aula virtual.

¿Cómo editar la información del perfil de usuario?


Es importante que pueda cargar sus datos personales una vez que

ingrese, ya que serán los que se usarán de referencia en todos los aspectos

académicos referentes a la cursada.

En primera instancia, deberá acceder a su perfil y luego hacer click en

“editar perfil”, tal como se muestra en las imágenes abajo.

Algunos datos importantes que sugerimos editar:

● Imagen del usuario (Foto de perfil)

● Ciudad

● País

● Descripción (resumen de vos y tu experiencia laboral/formativa).

Dejamos un video tutorial para que puedas completar con tus datos.
34
35

¿Cómo ingresar a un curso?

Para acceder a un curso, debes ir al Área Personal, seleccionar la opción

en el filtro de “Mi aprendizaje”: TODOS. Luego hacer click en IR AL CURSO. Así

lo visualiza:

Durante el cursado de la plataforma encontrarás:

- Módulos a cursar: en estos cursos se desarrolla todo el programa de los

espacios curriculares que integran los módulos. Tendrás a disposición material

de lectura obligatorio y complementario, actividades a desarrollar obligatorias y

complementarias, interacción permanente con tus docentes y coordinador/a de

carrera.

- Mesas examinadoras finales: en estos cursos tendrás el acceso a las

mesas examinadoras finales de cada módulo y correspondiente a cada turno.

Con el acceso a la conexión sincrónica.

- Secretaría Estudiantes: aquí se concentrará toda la información

administrativa y académica específica de la carrera elegida. Tendrá interacción


36

continua con su tutor/a de entornos virtuales asignado/a y coordinador/a de la

carrera.

- Espacio Estudiantes: este es área pensado para la comunidad

estudiantil dónde se pondrá a disposición información extracurricular de interés

tales como: noticias, novedades dónde se ve aplicado el perfil profesional que se

busca formar, bolsa de trabajo, etc.

Saber navegar y utilizar el Aula Virtual es una herramienta fundamental

para un buen y fructífero cursado. Dentro de los cursos y de mesas

examinadoras finales vas a encontrar distintas actividades de práctica y

evaluativas que se pueden realizar de manera sincrónica (videoconferencia), a

través del Big Blue Buttom, o asincrónica, mediante Foro, Cuestionario, Tarea,

Lección, entre otros recursos.

Estos puntos serán trabajados directamente de manera práctica en la

plataforma una vez iniciado el módulo introductorio “Ser técnico/a de Nivel

Superior”. Vas a encontrar más acciones interactivas como:

● Tutoriales generales de uso de la plataforma.

● Actividades de Moodle (Cuestionario, Tarea, Foro).

● Acceso al Big Blue Button.


37

TECNICATURA SUPERIOR EN CIENCIA DE


DATOS E INTELIGENCIA ARTIFICIAL

Introducción

Estimados/as estudiantes;

Bienvenidos y bienvenidas al Módulo “Ser Técnico/a de Nivel Superior”

del Instituto Superior Politécnico Córdoba.

El presente espacio es introductorio, nivelatorio y de aprobación

obligatoria para poder cursar de manera regular la Tecnicatura Superior que ha

elegido.

El presente material teórico e introductorio corresponde al Módulo “Ser

Técnico/a de Nivel Superior” correspondiente a 5 tecnicaturas superiores que

se dictan en el Instituto Superior Politécnico Córdoba.

El curso tiene una duración de 4 semanas donde se propone el

aprendizaje de diversos aspectos relacionados a la educación técnica superior y

al Instituto Superior Politécnico de Córdoba de manera general y sobre aspectos

relacionados a la formación técnica elegida de modo particular.

Al finalizar cada semana se proponen actividades asincrónicas de

recolección de evidencias de aprendizaje que Ud. deberá realizar y aprobar.

Quienes completen los pasos correspondientes al proceso de

preinscripción al ciclo 2023 recibirán este material de estudio (al correo

electrónico consignado en el formulario de preinscripción) necesario para poder

realizar el “Módulo Introductorio: Ser Técnico/a de Nivel Superior”.


38

● Éste módulo es un requisito más del proceso de inscripción. Por lo cual

es una instancia obligatoria y excluyente.

● Cada estudiante deberá cursar y aprobar con un 70% (setenta por

ciento) el Módulo introductorio “Ser Técnico/a de Nivel Superior”.

● Inicia: 23 de Febrero del 2023.

● Duración de cuatro semanas.

● Quedarás formalmente inscrito o inscripta al ISPC cuando hayas

completado y aprobado el Módulo Introductorio “SER TÉCNICO/A DE

NIVEL SUPERIOR”

Objetivos

El Módulo Introductorio “Ser Técnico/a de Nivel Superior” del Instituto

Superior Politécnico Córdoba tiene como objetivo central, poder proporcionar

una serie de contenidos elaborados y planificados para obtener una introducción

básica a cuestiones medulares. Los contenidos de este espacio formarán parte

de modo transversal de distintas temáticas elementales vinculadas al Módulo

Programador, espacio que se cursará en el primer cuatrimestre para dotar a las

personas preinscritas a esta formación académica.

Se pretende proporcionar a los futuros estudiantes de la carrera de

aquellas directrices básicas para la mejor comprensión de temas y contenidos

que son considerados columna vertebral de la carrera para la construcción y

delineamiento de un perfil profesional técnico superior que se inserte

eficazmente en el mercado laboral.


39

Fundamentación pedagógica disciplinar

Los presentes contenidos disciplinares han sido planteados para la

lectura, análisis, reflexión, profundización y estudio en el marco del Módulo “Ser

Técnico/a de Nivel Superior” por una decisión pedagógica vinculada a la carrera

técnica que ha elegido.

Es así que, los estudiantes se van a formar académicamente para la

construcción de un determinado perfil profesional que es requerido en la

actualidad por el sector productivo.

Este profesional debe reunir las herramientas, saberes y capacidades

profesionales, para poderse insertar dentro del mundo del trabajo, para un

óptimo y adecuado ejercicio profesional atento a las demandas y complejidad de

la sociedad en general y del sector laboral en particular.

Para lograr tales propósitos, se pretende proporcionar en esta etapa

inicial, los contenidos que hagan una introducción a los temas medulares de la

disciplina para la aprehensión oportuna de temas vitales que hacen al técnico

superior dentro de un determinado “saber hacer”.

En el presente módulo se desarrollan contenidos específicos sobre

introducción a la programación ya que dichos contenidos serán parte del primer

módulo de cursado.

La finalidad es proporcionar conceptos fundamentales que procuran

proporcionar al futuro estudiante de bases sólidas de conocimiento.

El estudiante es artífice de su formación, capaz de abordar en simultáneo

la producción y la transformación de la realidad social, a partir de múltiples

miradas frente a un problema relevante, con características que hacen posible la


40

articulación de contenidos, instrumentos y técnicas que son un que hacer

profesional identificable y medible, para el Técnico Superior.

Proponer problemáticas del sector orientados al perfil profesional

utilizando estrategias didácticas de carácter colaborativo, como experiencias

sociales propias del campo y del perfil profesional, abordando problemas de la

realidad y favoreciendo el intercambio de ideas, de opiniones, la discusión y

crítica.

En este espacio introductorio se han planificado una serie de contenidos a

los fines de lograr las siguientes capacidades: Introducción a los contenidos

básicos relacionados al módulo Programador


41

Conceptos básicos y metodología para la


solución de problemas por medio de
computadoras

Introducción

Vivimos en un mundo donde la tecnología juega un papel muy importante

en nuestra vida diaria. Utilizamos cajeros automáticos, realizamos diferentes

transacciones a través de la web (bancarias, comerciales y otras), buscamos

información en Internet, nos mantenemos conectados a través de dispositivos

móviles (teléfonos, tabletas, etc.), nos orientamos y jugamos con tecnología de

geolocalización (Posicionamiento Global Sistema). La tecnología está

íntimamente relacionada con la programación, sin ella nada tiene sentido y nada

funciona. Cuando hablamos de programación, lo asociamos con la palabra

computación. Ahora, se deben especificar las respuestas a las siguientes

preguntas: ¿Qué es la información? ¿Qué significa procesar información? ¿Qué

significa que parte de la tarea es automática y parte racional?

Se entiende por información los hechos y representaciones de

circunstancias que pueden o no ser relevantes. Para que una máquina

(computadora) procese esta información, debe estar codificada en un lenguaje

que la máquina pueda entender. Por tanto, hablar de procesamiento automático

significa que el proceso será realizado por una máquina (autómata). ¿Cómo es

esto posible? Lo hace codificando el razonamiento humano a través de una serie

de instrucciones (programas). Actualmente, la programación no es una actividad


42

reservada a unos pocos (técnicos, ingenieros, expertos, graduados, etc.) se

amplía a otros ámbitos educativos .

Como con cualquier materia, algunas áreas son más fáciles de aprender y

otras no tan fáciles. Empezar con algo muy importante que sea accesible, nos

permitirá comenzar a programar fácilmente. Luego, cree una solución más

granular. Las preguntas más complejas nos ayudarán a integrar el conocimiento.

Mientras haya creatividad y ganas de aprender, tendremos libertad para

programar.

Los dispositivos tecnológicos actuales, como computadoras, notebook,

tablets o smartphones están compuestos por hardware y software.

HARDWARE

Es el conjunto de componentes físicos que conforman un equipo

computacional, es la parte tangible y visible.

CONCEPTOS DE HARDWARE Y SOFTWARE:

(https://sites.google.com/site/rafawebintroinformatica/unidad-1/1-6-concept

os-de-hardware-y-software).

SOFTWARE

Es un elemento indispensable para el funcionamiento del computador.

Está formado por una serie de instrucciones y datos, que permiten aprovechar

todos los recursos que el computador tiene, de manera que pueda resolver gran

cantidad de problemas.
43

El software es un conjunto de instrucciones detalladas que controlan la

operación de un sistema computacional.

Estas características siempre trabajan de la mano. Mientras el software

aporta las operaciones, el hardware es el canal físico por el cual dichas

funciones pueden realizarse. Esta combinación seguirá funcionando como la

base del desarrollo tecnológico.

Tipos de software

Como venimos describiendo en apartados anteriores, el software es el

término informático para un programa o conjunto de programas que manejan

operaciones dentro de la computadora.

Los programas pueden clasificarse en base a su utilidad en las siguientes

categorías:

● software de base

● software de aplicación

● software de desarrollo

● software de comunicaciones

Software de Base

En terminología informática el software de sistema, denominado también

software de base, consiste en un software que sirve para controlar e interactuar

con el sistema operativo, proporcionando control sobre el hardware y dando

soporte a otros programas; en contraposición del llamado software de aplicación.


44

Como ejemplos cabe mencionar a las bibliotecas, como por ejemplo OpenGL,

para la aceleración gráfica; PNG, para el sistema gráfico; o demonios que

controlan la temperatura, la velocidad del disco duro, como hdparm, o la

frecuencia del procesador como cpudyn.

Luis Olarte Gervacio. (2017). Clasificación de software de sistemas y

aplicaciones.

Conogasi.org Sitio web:

https://conogasi.org/articulos/clasificacion-de-software-de-sistemas-y-aplic

aciones/

Los software de sistema hacen referencia a los controladores (drivers) los

cuales son programas que conectan el hardware de tu computadora al sistema

operativo para que los entienda y conceda permisos para usarlos (controladores

de mouse, teclado, audio, webcam, etc) y a su vez el software de Base hace

referencia a los sistemas operativos .

Microsoft Windows, que entre todas sus versiones acumula cerca de un

90% de la cuota de mercado.1​Mención especial merece el proyecto GNU, cuyas

herramientas de programación permitieron combinarse con el núcleo informático

basado en Unix denominado Linux, formando entre ambos las conocidas como

distribuciones GNU/Linux. A diferencia de la plataforma de Microsoft u otros

ejemplos como Mac OS, es software libre.

Estos programas realizan diversas tareas, como la transferencia de datos

entre la memoria RAM y los dispositivos de almacenamiento (disco rígido,

unidades de discos ópticos, etc) entre otros.


45

Tipos de software de sistema:

● Sistemas operativos (y sus componentes, muchos de los cuales

pueden considerarse como software de sistema).

● Controladores de dispositivos.

● Entorno de escritorio / Interfaz gráfica de usuario.

● Línea de comandos.

● BIOS. Bootloaders (Gestor de arranque). Si el software de sistema

se almacena en una memoria no borrable tal como circuitos integrados,

usualmente se lo denomina firmware.

Luis Olarte Gervacio. (2017). Clasificación de software de sistemas y

aplicaciones.

Conogasi.org Sitio web:

https://conogasi.org/articulos/clasificacion-de-software-de-sistemas-y-aplic

aciones/

Software de Aplicación

Es aquel que nos ayuda a realizar una tarea determinada, existen varias

categorías de Software de Aplicación por que hay muchos programas (solo

nombramos algunos) los cuales son:

● Aplicaciones de negocio (Gestión administrativa, contable, etc).

● Aplicaciones Utilitarios.

● Aplicaciones Personales.

● Aplicaciones de Entretenimiento.
46

El software de aplicación ha sido escrito con el fin de realizar casi

cualquier tarea. Existen literalmente miles de estos programas para ser

aplicados en diferentes tareas, desde procesamiento de palabras hasta generar

comprobantes de pago.

Luis Olarte Gervacio. (2017). Clasificación de software de sistemas y

aplicaciones.

Conogasi.org Sitio web:

https://conogasi.org/articulos/clasificacion-de-software-de-sistemas-y-aplic

aciones/

Software de Desarrollo

El software de desarrollo se destaca por ser el usado para crear otros

software, es decir, son programas y herramientas a los que se le da uso para

crear otros programas y herramientas.

El software de programación es el código que se escribe en cualquier

lenguaje de programación para comunicar todo el software y mandar las

instrucciones que la computadora entiende mediante el sistema binario.

Quienes trabajan con los software de programación se conocen como

programadores y, para poder programar, deben aprender lenguajes de

programación.

Software de Comunicaciones

Los software de comunicación son programas que mandan mensajes e

información por medio de la computadora, permitiendo tener una forma fácil y


47

rápida para que las personas o los negocios se comuniquen entre sí. Los

software de comunicación ofrecen soluciones cómodas para las necesidades de

comunicación. Algunas aplicaciones incluyen el correo electrónico, el correo de

voz, los videos, los mensajes de texto, la mensajería, las llamadas telefónicas y

los buscapersonas.

Los tipos de software de comunicación. Sherry Barnhart. Techlandia.com

Sitio web: https://techlandia.com/tipos-software-comunicacion-lista_541415/

Software propietario, software libre y open source

Software Propietario

La expresión software propietario proviene del término en inglés

proprietary software. En la lengua anglosajona, proprietary significa poseído o

controlado privadamente –privately owned and controlled-, destacando, en este

caso, la reserva de derechos sobre el uso, modificación o redistribución del

software.

Los softwares propietarios son con frecuencia desarrollados por

corporaciones, como ocurre con aquel producido y distribuido por Microsoft,

Apple, Adobe, Oracle, etc. Estas compañías poseen los derechos de autor sobre

el software y, por tanto, los usuarios no pueden acceder al código fuente,

distribuir copias, mejorarlo o hacer públicas las mejoras.

Por lo tanto, cabe señalar que es factible aceptar como sinónimos las

expresiones: software propietario y software privativo, prefiriendo esta última


48

acepción ya que, claramente se trata de un tipo de software que “priva” o

restringe al usuario de alguna de las cuatro libertades promovidas por el

movimiento de software libre.

Marcelo E. Rocha Vargas - Tecnicatura en gestión Universitaria FCE -

UNC

https://oftgu.eco.catedras.unc.edu.ar/unidad-1/software-libre-y-propietario/softwa

re-propietario/

Software libre

Software libre es el software que respeta la libertad de los usuarios y la

comunidad. A grandes rasgos, significa que los usuarios tienen la libertad de

ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software. Es

decir, el «software libre» es una cuestión de libertad, no de precio. Para entender

el concepto, piense en «libre» como en «libre expresión». En inglés, a veces en

lugar de «free software» decimos «libre software», empleando ese adjetivo

francés o español, derivado de «libertad», para mostrar que no queremos decir

que el software es gratuito.

Puede haber pagado dinero para obtener copias de un programa libre, o

puede haber obtenido copias sin costo. Pero con independencia de cómo obtuvo

sus copias, siempre tiene la libertad de copiar y modificar el software, incluso de

vender copias.

FSF y GNU Traducción Luis Miguel Arteaga Mejía, 2001 -

https://www.gnu.org/philosophy/free-sw.es.html

https://www.gnu.org/philosophy/categories.html
49

Las cuatro libertades esenciales

Un programa es software libre si los usuarios tienen las cuatro libertades

esenciales: [1]

● Libertad 0: Ejecutar el programa como se desee, con cualquier

propósito.

● Libertad 1: Estudiar cómo funciona el programa, y cambiarlo para que

haga lo que se desee. El acceso al código fuente es una condición

necesaria para ello.

● Libertad 2: Redistribuir copias para ayudar a otros.

● Libertad 3: Distribuir copias de sus versiones modificadas.

El «Open source» (Código abierto) es algo distinto: su filosofía es

diferente y está basada en otros valores. Su definición práctica también es

diferente, pero de hecho casi todos los programas de código abierto son libres.

FSF y GNU Traducción Luis Miguel Arteaga Mejía, 2001 -

https://www.gnu.org/philosophy/open-source-misses-the-point.html
50

Conceptos de Programación

¿Qué es la programación?

Es el canal de comunicación que tenemos las personas para poder

entendernos con las máquinas. Se escribe de manera legible para nosotros y

pasa a ser traducido en bits para que la computadora lo entienda y ejecute las

peticiones.

Existen diversos lenguajes de programación y no hay uno mejor que otro,

siempre buscaremos el que se ajuste a nuestras necesidades y lo único que los

diferencia es su sintaxis.

Con la programación, se pueden crear producciones propias mediante la

computadora como herramienta de Hardware: se pueden hacer videojuegos,

animaciones, programas interactivos y muchas cosas más. ¿Cómo? indicando a

la computadora, a través del lenguaje de programación, lo que debe hacer.

¿Qué es programar?

Es el proceso de crear un conjunto de instrucciones para decirle a una

computadora cómo realizar una tarea. Se puede programar utilizando una

variedad de lenguajes de programación de computadora, como JavaScript,

Python y C++.

Ámbitos de la programación

Los lenguajes de programación nos ofrecen un amplio abanico de

posibilidades, en donde podemos desempeñarnos como desarrolladores en la


51

industria de los videojuegos, las aplicaciones Web, programas, sistemas de

control, Testing QA, datos, inteligencia artificial, etc. Existe hoy en día una

variedad de dispositivos como smartphones, computadoras, Smart TV,

notebooks, etc. Los usuarios necesitan programas que les permitan interactuar

con estos dispositivos.

Lenguaje De Programación

Un lenguaje de programación es un lenguaje formal (o artificial, es decir,

un lenguaje con reglas gramaticales y sintácticas bien definidas) que le

proporciona a una persona, en este caso el programador, la capacidad de

escribir (o programar) una serie de instrucciones o secuencias de órdenes en

forma de algoritmos (conocido también como conjunto de instrucciones, lista de

instrucciones, código del programa o código fuente) con el fin de controlar el

comportamiento físico o lógico de un sistema informático, de manera que se

puedan obtener diversas clases de datos o ejecutar determinadas tareas.

Su descripción la podemos descomponer en 4 elementos: Alfabético,

Léxico, Sintáctico y Semántico.

- Alfabeto: Es el conjunto de los símbolos utilizados en el lenguaje

(los caracteres, números, símbolos y signos de puntuación), también suele

llamarse Vocabulario. Ejemplo: una de las diferencias fundamentales entre el

alfabeto o vocabulario inglés y latino es que en este último existen la Ñ y los

acentos, no así en el primero.

- Léxico: Es el conjunto de reglas con las cuales se construye las

palabras, números y signos de puntuación válidos utilizando el alfabeto definido


52

previamente (cuando se trabaja esto en más profundidad, estas construcciones

son llamadas Token, no es nuestro caso de estudio, pero es necesario conocer

su existencia). Como resultado de aplicar dichas reglas, tenemos un conjunto de

palabras (Palabras reservadas) que son las instrucciones que nos ofrece el

lenguaje, al que a veces nos referimos como diccionario. Esto es lo que se utiliza

para armar las oraciones o instrucciones.

De acuerdo a las reglas Léxicas, usando el alfabeto definido, podemos

identificar los elementos (Token) Identificadores, Palabras reservadas, Literales,

Operadores, Delimitadores y Comentarios

● Identificador: nombres que elige el programador.

● Palabra Clave: nombres que ya están en el lenguaje de programación.

● Literal: literales numéricos, lógicos, textuales, de referencia.

● Operador: símbolos que operan sobre argumentos y producen

resultados.

● Delimitador o separador (también conocidos como signos de

puntuación): caracteres de puntuación y delimitadores emparejados.

● Comentario: línea, bloque (Depende del compilador o intérprete si éste

implementa comentarios como tokens, de lo contrario, se eliminará).

Nombre del Token Valor de Ejemplo

Identificador x, largo, PI

Palabra Clave If, while, return

Literal false, “cumpleaños”, 6,47989e-5


53

Operador *, +, <, >=, =, ^

Delimitador o separador (, {, “, ‘;

Comentario “””puede ser muy largo”””, #hasta fin de línea

Sintáctico: Es el conjunto de reglas formales que definen si una oración o

construcción está escrita correctamente. Como ejemplo “Yo soy un programador

principiante” es correcto y “Yo principiante un soy programador” no es correcto.

Semántico: Es el conjunto de reglas que define si una frase (renglón o

instrucción) tiene sentido y le da un significado a sus elementos y expresiones.

Como ejemplo, es correcta la primer frase, pero no la segunda: “Yo degusté un

postre”, “Un postre me degustó”.

Lenguajes De Bajo Nivel

El conjunto de instrucciones que posee el procesador, sería el diccionario

del lenguaje máquina (lenguaje binario), las instrucciones y programas escritas

con él son ejecutadas (realizadas) por el procesador sin ningún paso intermedio,

porque son entendidas directamente por la CPU. Esta forma de escribir es muy

engorrosa y propensa a errores, ya que se escribe directamente en binario, para

facilitar se creó el lenguaje ensamblador (o assembler) el cual utiliza un alfabeto

simbólico (similar al lenguaje natural, usando letras y números, no solo ceros y

unos). Pero como el ensamblador no es entendido por la CPU, se necesita de un

programa intermedio, que actúe como traductor de las instrucciones simbólicas

escritas en ensamblador y las transforme en lenguaje máquina, en ceros y unos.


54

Ambos lenguajes están considerados cercanos al hardware, dependen de

las instrucciones de la CPU del ordenador, si se lleva el programa a otra

máquina con procesador distinto no es compatible. Si bien se hace una

distinción entre lenguaje máquina y lenguaje ensamblador, ambos son

considerados lenguajes de bajo nivel, por ser dependientes del hardware del

ordenador donde se ejecutan, teniendo algunas características que los

diferencian.

Lenguaje máquina:

● Instrucciones reconocidas por los circuitos del procesador.

● Se codifican en binario.

● Los datos se referencian por su posición de memoria.

Lenguaje ensamblador:

● Codificación mnemotécnica del lenguaje máquina.

● Necesita un traductor.

● Se pueden utilizar etiquetas en vez de posiciones de memoria.

Ensamblador Código máquina Código máquina


(Binario) (Hexadecimal)

mov ax, 0003 10111000 00000011 B8 03 00


00000000

add ax, 0005 00000101 00000101 05 05 00


00000000
55

Lenguajes De Alto Nivel

Para subsanar los inconvenientes que acarrean los lenguajes de bajo

nivel, las nuevas generaciones de lenguajes de programación, incorporaron

muchas mejoras, pero como esas mejoras dependían de la orientación y uso

que se le daría al lenguaje, es que en la actualidad existen multitud de ellos,

cada uno con sus propias características, pudiendo clasificarlos desde distintos

puntos dTodas esas características permiten una gran variedad de

clasificaciones, siendo incluso un mismo lenguaje capaz de pertenecer a varias

de ellas, como ser:

● Clasificación Histórica: Lenguajes de 1ra, 2da, 3ra, 4ta y 5ta

generación.

● Clasificación Alto o Bajo Nivel: Corresponde según su abstracción al

hardware, mayor abstracción (Alto Nivel) menor abstracción (Bajo

Nivel, dependiente del procesador).

● Clasificación por paradigmas: El paradigma es el modelo, estilo y

forma de organizar las instrucciones para resolver el problema

planteado por el algoritmo. Hay lenguajes que pueden soportar

completa o parcialmente más de un estilo de paradigma. Ejemplos de

paradigma son: Imperativa, Orientada a Objetos y Dirigida por Eventos

(son considerados paradigmas Procedurales, porque describen los

pasos a seguir para encontrar la solución), funcional y lógico (sin

considerados paradigmas Declarativos, porque describen el problema a

solucionar).
56

● Clasificación por propósito: Se distinguen los lenguajes de propósito

general de aquellos de propósito específico: para enseñanza, cálculo

científico, gestión, inteligencia artificial, multiplataforma e internet.

● Clasificación según la administración de Memoria: Estático, En Pila,

Dinámico.

● Clasificación según la forma de traducir a lenguaje máquina:

Interpretados y compilados.e vista.

Para observar la mejora en la comprensión, sobre lo que se escribe

cuando se programa, y poder generar código más sencillo y fácil de comprender.

El ejemplo anterior, escrito en Ensamblador y en Código Máquina, si lo

expresáramos en alguno de los lenguajes de alto nivel (por ejemplo, Python)

sería “m = 3 + 5” (sin las comilla, solo delimitan la expresión) . Esta

simplificación en el código, reduce el tiempo de trabajo, haciendo más fácil la

escritura, lectura e interpretación por parte del programador que lo realiza, como

de terceros que deban corregir, modificar o depurar el código realizado


57

Lenguajes interpretados y compilados

Interpretación Vs Compilación

Una separación muy importante en los lenguajes es la forma en que se

traducen a lenguaje máquina (se pasa del código fuente a código binario para

que el ordenador los utilice directamente).

Un método, es a través de un programa o aplicación especial llamado

“Compilador”, éste toma el archivo fuente (código fuente) y por medio de varios

pasos que realiza sobre él, genera un nuevo archivo en el cual todas las

instrucciones anteriores fueron pasadas a lenguaje máquina, éste nuevo archivo,

resultado de la compilación es llamado archivo binario, archivo compilado, o la

“aplicación” en sí, pudiendo ser utilizado directamente ya que el ordenador lo lee

y entiende cada una de las instrucciones. Una vez realizado éste paso, solo se

utiliza el archivo binario resultante, no es necesario el código fuente, la máquina

lee el archivo binario y ejecuta sus instrucciones. Las veces que sea necesario

usar el programa solo se ejecuta el archivo binario por parte del ordenador. Para

utilizar el programa en varias máquinas solo se necesita distribuir el archivo

binario entre ellas, y de esa forma es posible ejecutar el programa en cada una

de ellas.

Otro método es a través de un programa o aplicación especial llamado

“Intérprete”, éste toma el archivo fuente y por medio de varios pasos que realiza

sobre él, lee una línea (renglón o párrafo) de instrucciones, genera el lenguaje

máquina de esa instrucción y la envía al procesador para que la ejecute (realice

la instrucción especificada), una vez terminado ese paso, lee la instrucción


58

siguiente y vuelve a realizar todo el procedimiento anterior, haciendo esto línea

por línea del código fuente, hasta que el algoritmo finalice, o se termine de leer e

interpretar la última línea del código fuente. Para utilizar el programa

nuevamente, se repite nuevamente el ciclo desde el comienzo, es decir el

intérprete lee nuevamente el código fuente desde el comienzo y realiza cada una

de sus acciones como se describió en el principio, cada vez que se necesite el

programa el intérprete debe traducir línea por línea cada una de las

instrucciones. Para distribuir el programa entre distintas máquinas, es necesario

colocar en ellas el código fuente del programa, como así también el intérprete,

para que el procesador ejecute las instrucciones.

Ventajas y desventajas de la compilación e interpretación

Compilado Interpretado

● Ejecución del código más rápido que ● Ejecución del código


interpretación. inmediatamente después de
● Código fuente sólo en posesión del escribir, no necesita pasos
programador. previos.
Ventaja
● El binario es difícil de entender, una ● Código guardado en lenguaje
vez traducido a código máquina, solo de programación,
el programador conoce los secretos independiente de la
del programa. arquitectura del procesador

● La compilación puede demorar ● La interpretación no puede


bastante tiempo hasta que el código ser implementada a alta
binario esté terminado. Las velocidad.
modificaciones estarán listas una vez ● Tanto el programador como el
se pase por ese proceso. cliente necesitan de la
Desventaja
● Cada plataforma de hardware utiliza instalación del intérprete para
un compilador diferente, se necesitan poder ejecutar el programa.
tantos como arquitecturas se posea,
el código binario es exclusivo de cada
una!

Aprender a programar, entonces, implica un aprendizaje de la ciencia y la

tecnología.
59

La tecnología puede verse como el conjunto de herramientas específicas

y estándares especiales que permiten llevar adelante la programación. Al hablar

de tecnología se hace referencia a una teoría amplia y profunda que permite

entender la programación.

Ambos conocimientos son importantes, ya que posibilitan enfrentar los

retos de la evolución tecnológica.

Es decir, hacer uso de conceptos fundamentales de la informática para

resolver problemas del quehacer cotidiano.

Fases en la resolución de problemas

El proceso de resolver problemas con una computadora lleva a escribir

programas y ejecutarlos en la computadora.

Aunque el proceso de diseño de un programa es inherentemente un

proceso creativo, se puede considerar como una serie de etapas o pasos

comunes que, en general, deben seguir todos los programadores.

Las etapas de la solución de problemas de una computadora son:

● Análisis del problema.

● Diseño del algoritmo.

● Codificación,

● Compilación y ejecución.

● Verificación.

● Depuración.

● Mantenimiento.

● Documentación
60

Figura: Etapas de resolución de problemas

Definición del Problema

(Análisis de los requerimientos del cliente)

Esta etapa está dada por el planteamiento del problema, que requiere una

definición clara y precisa.

Lo importante es que sepas lo que quieres que haga la computadora;

mientras no lo entiendas completamente, no hay necesidad de pasar a la

siguiente etapa.

Análisis del Problema

Una vez que se ha comprendido lo que se desea de la computadora, es

necesario definir:

• Los datos de entrada.

• Cual es la información que se desea producir (salida)

• Los métodos y fórmulas que se necesitan para procesar los datos.


61

Una recomendación muy práctica es que nos pongamos en el lugar de la

computadora y analicemos que hay la necesidad que nos ordenen y en qué

secuencia, para producir los resultados esperados.

Diseño del Algoritmo

En esta etapa, se determina cómo debe ser el proceso que conduce a la

resolución del problema. La palabra algoritmo se deriva del nombre de

Al-Khuwarizmi, un matemático árabe del siglo IX que describió varios métodos

para resolver ciertos problemas aritméticos. (Lovos & Goin, 2021, # 16)

El diseño de algoritmos es un recurso fundamental que puede resolver

problemas relevantes para casi todas las disciplinas.

El propósito de este libro es brindar al lector la base necesaria para poder

diseñar e implementar soluciones algorítmicas de manera fácil y rápida.

Definición de algoritmo: Una secuencia definida, finita y ordenada de

pasos para resolver un problema. (Lovos & Goin, 2021, # 16)

● No ambigua implica que cada paso del algoritmo debe poder ser

interpretado de una única forma.

● Finita significa que la cantidad de pasos que componen el algoritmo

está limitada. El algoritmo empieza y termina

● Orden. Los pasos del algoritmo deben seguirse en una determinada

secuencia para llegar a la solución del problema.


62

Las características de un buen algoritmo son:

● Tener un punto particular de inicio.

● Ser definido, no debe permitir dobles interpretaciones.

● Ser general, es decir, soportar la mayoría de las variantes que se

puedan presentar en la definición del problema.

● Ser finito en tamaño y tiempo de ejecución.

Codificación

La codificación es la operación de escribir una solución a un problema

(según la lógica de un diagrama de flujo o pseudocódigo), en una serie de

instrucciones detalladas, en forma de código reconocible por computadora, y

esta serie de instrucciones detalladas se denomina un código fuente Está escrito

en un lenguaje de programación o lenguaje de alto nivel.

Prueba y Depuración

El error humano en la programación de computadoras es abundante y

aumenta considerablemente con la complejidad del problema. El proceso de

identificar y eliminar errores para dar paso a soluciones libres de errores se

denomina depuración.

Depurar o probar es tan creativo como desarrollar la solución en sí y, por

lo tanto, debe considerarse con el mismo interés y entusiasmo.

Es conveniente observar las siguientes pautas a la hora de depurar, pues

de este trabajo depende el éxito de nuestra solución.


63

Documentación

Es la guía o comunicación escrita en sus múltiples formas, ya sea en

enunciados, procedimientos, dibujos o diagramas. (Ovideos Fadul, Marzo de

2004, capitulo 1 # 16)

A menudo un programa escrito por un desarrollador, es usado por otro. Es

por ello que la documentación sirve para ayudar a comprender o usar un

programa o en su defecto para revisiones de futuras modificaciones

(mantenimiento).

La documentación se divide en tres partes:

● Documentación Interna: Son los comentarios o mensajes que se

añaden al código fuente para hacer más claro el entendimiento de un

proceso.

● Documentación Externa: Se define en un documento escrito los

siguientes puntos:

○ Descripción del Problema

○ Nombre del Autor

○ Algoritmo (diagrama de flujo o pseudocódigo)

○ Diccionario de Datos

○ Código Fuente (programa)

● Manual del Usuario: Describe paso a paso la manera cómo funciona

el programa, con el fin de que el usuario obtenga el resultado

deseado.
64

Resolución de un problema en base a la algoritmia

La razón principal por la que las personas aprenden programación en

general, y lenguajes de programación en particular, es usar la computadora

como una herramienta para resolver problemas. Se puede dividir en tres partes

importantes:

● Análisis del problema

● Diseño o desarrollo del algoritmo

● Resolución del algoritmo en la computadora.

El primer paso, el análisis del problema, requiere que el problema esté

claramente definido y comprendido para que pueda analizarse con todo detalle.

Una vez que se ha analizado un problema, se debe desarrollar un algoritmo, que

es un proceso paso a paso para resolver un problema dado. (Lovos & Goin,

2021, #17)

Finalmente, para resolver un algoritmo utilizando una computadora, se

debe codificar el algoritmo en un lenguaje de programación, convertir el

algoritmo en un programa, ejecutarlo y verificar si el programa realmente

resuelve el problema.
65

Figura: fases para la resolución de un problema

Análisis del Problema

El propósito del análisis de problemas es ayudar a los programadores a

comprender la naturaleza del problema. Para encontrar una solución, el

problema debe estar claramente definido.

Para definir con precisión el problema, las especificaciones de entrada y

salida deben describirse en detalle. Una buena definición del problema y una

descripción detallada de las especificaciones de entrada y salida son los

requisitos más importantes para obtener una solución eficaz.

El análisis del problema exige:

● Elección de la forma de encarar el problema y su resolución a través de

un método adecuado, como, por ejemplo: estructurado, orientado a

objetos, etc.

● Una vez elegida la forma de trabajo realizar una lectura previa del

problema a fin de obtener una idea general de lo que se solicita.

● La segunda lectura deberá servir para responder a las preguntas:

¿Qué información debe proporcionar la resolución del problema?

¿Qué datos se necesitan para resolver el problema?


66

El paso “UNO” es obligado ya que todos los precedentes dependen de

esta elección.

En nuestra materia veremos el análisis y la programación desde el punto

de vista estructurado. (Carrizo et al., n.d., #2,3)

La respuesta a la primera pregunta indicará los resultados deseados o las

salidas del problema.

La respuesta a la segunda indicará qué datos se proporcionan o las

entradas del problema.

Daremos un ejemplo:

Problemática a solucionar:

“Leer el radio de un círculo y calcular e imprimir se superficie y

circunferencia.”

Análisis:

Las entradas de datos en este problema se centran en el radio del círculo.

Dado que el radio puede tomar diferentes valores dentro del tipo numérico real o

entero.

Las salidas serán dos variables: superficie y circunferencia que también

serán de tipo numérico.

Valores a tener en cuenta:

Entrada: Radio del círculo variable RADIO


67

Salidas: Superficie del círculo variable AREA

Circunferencia del círculo variable CIRCUNFERENCIA

Una técnica muy útil para analizar los problemas es la siguiente:

“Identificar la información que se posee (DATOS), lo que se quiere

obtener (RESULTADOS) y los vínculos existentes entre una y otra.”

Por Ejemplo:

“Hallar la superficie de un cuadrado conociendo el lado.”

DATOS lado

VÍNCULO superficie = lado * lado

RESULTADO Superficie del cuadrado

“Hallar la superficie de un rectángulo conociendo su altura y

sabiendo que la base es el doble de la altura.”

DATOS h

VÍNCULO b = 2 * h

superficie = b * h

RESULTADO Superficie del rectángulo

“Dados dos números a y b determinar si a es mayor que b.

DATOS a, b

¿VÍNCULO a > b?

RESULTADO Verdadero o falso

“Dado un número N, si es menor que 100 hallar su cuadrado. sino su

mitad.”
68

DATOS N

¿VÍNCULO N <100?

R1 = N * N si N < 100

R2 = N/2 si N >= 100

RESULTADO R1, R2 (carrizo et al., n.d., # 2,3 )

Diseño del Algoritmo


Las computadoras no son capaces de resolver problemas a menos que se

les dé pasos sucesivos a seguir. Estos pasos sucesivos instruyen a la máquina

para ejecutar las instrucciones. Estas etapas o instrucciones constituyen los

algoritmos.

La información proporcionada al algoritmo constituye su entrada, y la

información producida por el algoritmo constituye su salida.

Las computadoras pueden resolver problemas complejos de manera más

eficiente cuando se dividen en subproblemas que son más fáciles de resolver

que el problema original. Este método consiste en dividir problemas complejos y

convertirlos en problemas simples.

Por lo tanto, el problema de encontrar el área y la longitud de un círculo se

puede dividir en tres preguntas o subpreguntas más simples:


69

Figura: Análisis del algoritmo.

Descomponer el problema original en subproblemas más simples y luego

descomponer estos subproblemas en subproblemas más simples que se pueden

resolver en una computadora se denomina diseño descendente (rop-down

design).

A menudo, los pasos ideados en el primer boceto de un algoritmo están

incompletos y sólo se indican unos pocos pasos (hasta 12 aproximadamente).

Después de la primera descripción, se ampliarán a descripciones más detalladas

con pasos más específicos. Este proceso se llama refinamiento del algoritmo

(stepwise refinement). Para problemas complejos, a menudo se requieren

diferentes grados de refinamiento para obtener algoritmos claros, precisos y

completos. (Pinales Delgado, 2014)


70

El problema de cálculo de la circunferencia y superficie de un círculo se

puede descomponer en subproblemas más simples:

● leer datos de entrada

● calcular superficie y longitud de circunferencia y

● escribir resultados (datos de salida).

Las ventajas más importantes del diseño descendente son:

✔ El problema se comprende más fácilmente al dividirse en partes más

simples denominadas módulos.

✔ Las modificaciones en los módulos son más fáciles.

✔ La comprobación del problema se puede verificar fácilmente.

Tras los pasos anteriores (diseño descendente y refinamiento por

pasos) es preciso representar el algoritmo mediante una determinada

herramienta de programación: diagrama de flujo, pseudocódigo o

diagrama N-S.
71

Figura: Diseños de un algoritmo.

Resolución de un Problema por un Sistema computacional

Una vez que el algoritmo está diseñado y representado gráficamente

mediante una herramienta de programación, este mismo, se debe traspasar a la

fase de resolución práctica del problema.

Esta fase se descompone a su vez en las siguientes subfases:

● Codificación del algoritmo en un programa.

● Ejecución del programa.

● Comprobación del programa.

En el diseño del algoritmo, éste se describe con una herramienta de

programación llamadas:
72

Diagrama de flujo o Pseudocódigo

Sin embargo, el programa que implementa el algoritmo debe ser escrito

en un lenguaje de programación y siguiendo las reglas gramaticales o sintaxis

del mismo. La fase de conversión del algoritmo en un lenguaje de programación

se denomina codificación, ya que el algoritmo en lenguaje de programación se

denomina código. (Joyanes Aguilar, 1993, # 50)

Programación estructurada

La programación estructurada significa escribir un programa de

acuerdo a las siguientes reglas:

● El programa tiene un diseño modular.

● Los módulos están diseñados de modo descendente.

● Cada módulo se codifica utilizando las tres estructuras de control

básicas: secuencia, selección y repetición.

El término programación estructurada se refiere a un conjunto de

técnicas que han ido evolucionando desde los primeros trabajos de Edgar

Dijkstra. Estas técnicas aumentan la productividad del programa reduciendo el

elevado tiempo requerido para escribir, verificar, depurar y mantener los

programas. La programación estructurada utiliza un número limitado de

estructuras de control que minimizan la complejidad de los programas y,

por consiguiente, reducen los errores; hace los programas más fáciles de

escribir, verificar, leer y mantener. (Joyanes Aguilar, 1993, # 51 )

Los programas deben estar dotados de una estructura.


73

La programación estructurada es el conjunto de técnicas que incorporan:

● Recursos abstractos.

● diseño descendente (top-down).

● estructuras básicas.

Recursos abstractos

La programación estructurada se respalda, en los recursos abstractos,

en lugar de los recursos concretos que dispone un determinado lenguaje de

programación.

Descomponer un programa en términos de recursos abstractos -según

Dijkstra- consiste en descomponer una determinada acción compleja en un

número de acciones más simples. Que sean capaces de ser ejecutadas o que

constituyan instrucciones de computadoras disponibles.

Un programa estructurado cumple las siguientes características:

● Posee un solo punto de entrada y uno de salida. (Inicio – Fin)

● Existen caminos desde la entrada hasta la salida que se pueden seguir.

Estas mismas, pasan por todas partes del programa.

● Todas las instrucciones son ejecutables y no existen lazos o bucles

infinitos (sin fin).

A este tipo de programación se le suele denominar también algorítmico.

Dado que el significado de algoritmo es similar al de elaborar una receta. Es un

método, técnica, procedimiento o rutina, que se define como “Un conjunto finito
74

de reglas diseñadas para crear una secuencia de operaciones para resolver un

tipo específico de problemas”.

Así es qué para N. Wirth un programa viene definido por la ecuación:

Algoritmos + Estructuras de Datos = Programas (Carrizo et al., n.d., # 4)

También se define algoritmo como una estrategia que exige precisión en

las instrucciones (descripción de los pasos a seguir). Donde cada instrucción

debe ser:

● Clara y precisa para que no surja ninguna duda en cuanto a su

ejecución.

● Sencilla para que no surja ninguna duda en su comprensión y pueda

ser ejecutada sin dificultad.

Por ejemplo:

Leer dos números, escribirlos, calcular su suma y su producto y

escribirlos.

Paso 1: Leer y escribir números.

Paso 2: Calcular la suma y el producto de los dos números.

Paso 3: Escribir el resultado de la suma y el producto.

El paso siguiente, diseño de algoritmos, va a depender de esta forma de

encarar los problemas y las soluciones.


75

Diseño descendente (top-down)

El diseño descendente (top-down) es el proceso mediante el cual un

problema se descompone en una serie de niveles o pasos sucesivos de

refinamiento (stepwise). (Carrizo et al., n.d., #4) (WIRTH, n.d., #4) Consiste en

determinar una relación entre las sucesivas etapas de estructuración, de modo

que se relacionen unas con otras, mediante entradas y salidas de información.

Es decir, se descompone el problema en etapas o estructuras, de forma

que se puede considerar cada estructura desde dos puntos de vista: ¿Qué

hace? y ¿Cómo lo hace?

Si se considera un nivel n de refinamiento, las estructuras se consideran

de la siguiente manera:
76

Solución de problemas secuenciales con programación

estructurada

Herramientas de programación para la solución de problemas

computacionales

Para implementar la solución de un problema mediante el uso de una

computadora es necesario establecer una serie de pasos que permitan resolver

el problema, a este conjunto de pasos se le denomina algoritmo, el cual debe

tener como característica final la posibilidad de transcribirlo fácilmente a un

lenguaje de programación, para esto se utilizan herramientas de programación,

las cuales son métodos que permiten la elaboración de algoritmos escritos en un

lenguaje entendible.

Un algoritmo, aparte de tener como característica la facilidad para

transcribirlo, debe ser:

● Preciso. Debe indicar el orden en el cual debe realizarse cada uno de

los pasos que conducen a la solución del problema.

● Definido. Esto implica que el resultado nunca debe cambiar bajo las

mismas condiciones del problema, éste siempre debe ser el mismo.

● Finito. No se debe caer en repeticiones de procesos de manera

innecesaria; deberá terminar en algún momento. (Joyanes Aguilar,

1993, # 53)
77

Por consiguiente, el algoritmo es una serie de operaciones detalladas y no

ambiguas para ejecutar paso a paso que conducen a la resolución de un

problema, y se representan mediante una herramienta o técnica O bien, es una

forma de describir la solución de un problema planteado en forma adecuada y de

manera genérica.

Además de esto, se debe considerar que el algoritmo, que posteriormente

se transformará en un programa de computadora, debe considerar las siguientes

partes:

● Una descripción de los datos que serán manipulados.

● Una descripción de acciones que deben ser ejecutadas para manipular

los datos.

● Los resultados que se obtendrán por la manipulación de los datos.

Las herramientas o técnicas de programación que más se utilizan y que

se emplearán para la representación de algoritmos a lo largo del libro son dos:

● Pseudocódigo.

● Diagramas de flujo.

Y alternativamente se presentarán soluciones de problemas donde se

utilicen:

● Diagramas Nassi-Schneiderman (N/S).


78

Entidades primitivas para el desarrollo de


algoritmos

Tipos de Datos

Todos los datos tienen un tipo con el que se asocian. Un dato puede ser

un carácter, tal como “b”, un valor entero tal como 35. El tipo de dato determina

la naturaleza del conjunto de valores que puede tomar una variable. (Ovideos

Fadul, Marzo de 2004, # 21)

Figura: tipo de datos en la programación

Tipos de Datos Simples

✔ Datos Numéricos: Permiten representar valores escalares de

forma numérica, esto incluye a los números enteros y los reales (decimales del

tipo flotante). Este tipo de datos permiten realizar operaciones aritméticas

comunes.

✔ Datos Lógicos: Son aquellos que solo pueden tener dos valores

(cierto o falso) ya que representan el resultado de una comparación entre otros

datos (numéricos o alfanuméricos).


79

✔ Datos Alfanuméricos (String): Es una secuencia de caracteres

alfanuméricos que permiten representar valores identificables de forma

calificativa (describiendo al objeto). Esto incluye nombres de personas,

direcciones, etc. Es posible representar números como alfanuméricos, pero

estos pierden su propiedad matemática, es decir no es posible hacer

operaciones con ellos. (Joyanes Aguilar, 1993).

Ejemplo:

“Instituto Superior Politécnico Córdoba”

“2023”

Expresiones

Las expresiones son combinaciones de constantes, variables, símbolos

de operación, paréntesis y nombres de funciones especiales.

Por ejemplo:

A + (b + 3) / c
80

Cada expresión toma un valor que se determina tomando los valores de

las variables y constantes implicadas y la ejecución de las operaciones

indicadas.

Una expresión consta de operadores y operandos. Según sea el tipo de

datos que manipulan, se clasifican las expresiones en:

● Aritméticas

● Relacionales

● Lógicas

Operadores y Operandos

Operadores: Son elementos que relacionan de forma diferente, los

valores de una o más variables y/o constantes. Es decir, los operadores nos

permiten manipular valores.

Figura: tipo de operadores.

Operadores Aritméticos: Los operadores aritméticos permiten la

realización de operaciones matemáticas con los valores (variables y

constantes).
81

Los operadores aritméticos pueden ser utilizados con tipos de datos

enteros o reales (decimales).

Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el

resultado es real.

Ejemplos:

Prioridad de los Operadores Aritméticos

Todas las expresiones entre paréntesis se evalúan primero. Las

expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis

más interno se evalúa primero.

Dentro de una misma expresión los operadores se evalúan en el siguiente

orden.

1. ^ (Exponenciación)

2. * / Mod (Multiplicación, división, módulo)


82

3. + - (Suma y resta)

Los operadores en una misma expresión con igual nivel de prioridad se

evalúan de izquierda a derecha.

Ejemplos:

4 + 2 * 5 = 14 4 + 10 = 14

23 * 2 / 5 = 9.2 46 / 5 = 9.2

3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23

Operadores Relacionales: Se utilizan para establecer una relación entre

dos valores.

Compara estos valores entre sí y esta comparación produce un resultado

de certeza o falsedad (verdadero o falso).

Los operadores relacionales comparan valores del mismo tipo (numéricos

o cadenas).

Tienen el mismo nivel de prioridad en su evaluación. Los operadores

relacionales tienen menor prioridad que los aritméticos.


83

Ejemplos:

Si a = 10 b = 20 c = 30

Operadores Lógicos: Estos operadores se utilizan para establecer

relaciones entre valores lógicos.

Estos valores pueden ser el resultado de expresiones relacionales.


84

Ejemplos:

Prioridad de los Operadores Lógicos

Not

And

Or

Prioridad de los Operadores en General

1. ( )

2. ^

3. * / Mod Not

4. +, -, And

5. >, <, > =, < =, < >, =, Or


85

Ejemplos:

a = 10 b = 12 c = 13 d =10

Identificadores

Antes de analizar cada herramienta utilizada para representar un

algoritmo para la solución de un problema, se determinará cuáles son los

identificadores utilizados en el algoritmo.

¿Qué son los identificadores?

Los identificadores son nombres asignados a objetos, que pueden ser

considerados variables o constantes, que intervienen en el proceso que se

realiza para resolver un problema, por lo que es necesario determinar qué

características tienen. (Joyanes Aguilar, 1993)

Para establecer los nombres de los identificadores se deben obedecer

ciertas reglas establecidas por cada lenguaje de programación, en el presente

caso se establecen vagamente de acuerdo al problema a resolver, no siguen


86

ninguna regla, generalmente una o más letras, comienza con el nombre de la

variable que representa el objeto a reconocer.

Así, los identificadores representan datos del programa (constantes,

variables, tipo de datos). Un identificador es una serie de caracteres que

identifica una ubicación en la memoria de una computadora, permitiéndonos

acceder a su contenido.

Ejemplo:

Nombre

Num_hrs

Calif2

Reglas para formar un identificador

✔ Debe comenzar con una letra, mayúsculas o minúsculas, y no deben

contener espacios en blanco.

✔ Letras, dígitos y caracteres como la subraya ( _ ) están permitidos

después del primer carácter.

✔ La longitud de identificadores puede ser de hasta 8 caracteres.

Constantes

Los identificadores se clasifican como constantes cuando el valor

asignado al identificador no cambia durante la ejecución o resolución de

problemas. Por ejemplo, en el problema de utilizar el valor de PI, si el lenguaje

utilizado para escribir el programa y ejecutarlo en la computadora no lo define,


87

se puede configurar continuamente configurando un identificador llamado PI y

asignándole el valor correspondiente, como sigue:

PI = 3.1416.

Asimismo, se pueden asignar valores constantes a otros identificadores

según lo requiera el algoritmo que se está diseñando.

Variables

Es un espacio en la memoria de la computadora que permite que los

datos se almacenen temporalmente durante la ejecución de un proceso; su

contenido se puede cambiar durante la ejecución del programa. Para identificar

una variable en la memoria de la computadora, es necesario darle un nombre

por el cual podamos identificarla en un algoritmo.

Ejemplo:

area = pi * radio ^ 2

Las variables son: el radio, el área y la constate es pi


88

Figura : Clasificación de variables

Por su Contenido

Variables Numéricas: Son aquellas en las cuales se almacenan valores

numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos

(+ y -) y el punto decimal.

Ejemplo:

Iva = 0.15 pi = 3.1416 costo = 2500

Variables Lógicas: Son aquellas que solo pueden tener dos valores

(Verdadero o Falso) estos representan el resultado de una comparación entre

otros datos. (Ovideos Fadul, Marzo de 2004, # 21)


89

Verdadero (true) Falso (false)

Variables Alfanuméricas: Están formadas por caracteres alfanuméricos

(letras, números y caracteres especiales). (Ovideos Fadul, Marzo de 2004, #

21)

Ejemplo:

letra = ’a’ apellido = ’López’ dirección = ’Av. Libertad #190’

Por su Uso

Variables de Trabajo: Una variable que recibe el resultado de una

operación matemática completa, generalmente utilizada en programas.

Ejemplo:

suma = a + b / c

Contadores: Se utilizan para realizar un seguimiento del número de

veces que se realiza una acción o se cumple una condición. Por lo general, se

incrementa uno a la vez.

Ejemplo:

c =c+1 (suma al valor “c”, una unidad y lo vuelve a devolver en la

misma variable)

Acumuladores: Forma que adopta una variable para contener la suma

acumulativa de una serie de valores que se leen o calculan de forma

incremental.

Ejemplo

acum = acum + valor (suma el valor de una operación y lo vuelve a

acumular en la misma variable)


90

Técnicas para la formulación de Algoritmos

Las dos herramientas utilizadas comúnmente para diseñar algoritmos son:

● Diagrama de Flujo

● Pseudocódigo

Diagramas de flujo
Un diagrama de flujo es una herramienta que le permite representar

visualmente las acciones requeridas para resolver un problema determinado y el

orden en que se deben realizar esas acciones. Por lo tanto, un diagrama de flujo

es una representación gráfica de los pasos o procesos que se deben realizar

para resolver un problema dado de manera secuencial y lógica a través de

símbolos especiales. (Ovideos Fadul, Marzo de 2004, # 35)

Los diagramas de flujo juegan un papel vital en la programación de

problemas porque ayudan en la comprensión de problemas complejos,

especialmente aquellos en los que el proceso es largo; por lo general, los

diagramas de flujo se dibujan antes de comenzar a escribir el código fuente, que

luego se ingresa en una computadora.

Los diagramas de flujo facilitan la comunicación entre programadores y

usuarios, además de permitir una detección más rápida de errores lógicos que

pueden ocurrir al implementar algoritmos.

Un diagrama de flujo es una representación gráfica de un algoritmo.

(Ovideos Fadul, Marzo de 2004, # 35)


91

Esta representación gráfica ocurre cuando varios símbolos (que

representan diferentes procesos en una computadora) se relacionan entre sí

mediante líneas que indican el orden en que deben ejecutarse los procesos.

Los símbolos utilizados han sido normalizados por el instituto

norteamericano de normalización (ANSI).

Figura : símbolos utilizados en los diagramas de flujo y su significado

En el ejemplo, se puede observar la solución del diagrama de flujo para

determinar el volumen de una caja de dimensiones “a”, “b” y “c” como se

muestra en la figura:
92

Figura : diagrama de flujo para el cálculo de volumen de un cubo.


93

Recomendaciones para el diseño de

Diagramas de Flujo

● Usar solamente líneas de flujo horizontales y/o verticales.

● Evitar el cruce de líneas utilizando los conectores.

● Usar conectores solo cuando sea necesario.

● No dejar líneas de flujo sin conectar.

● Trazar los símbolos de manera que se puedan leer de arriba hacia

abajo y de izquierda a derecha.

● Todo texto escrito dentro de un símbolo deberá ser escrito claramente,

evitando el uso de muchas palabras.

Pseudocódigo
No hay duda de que en el mundo de la programación, el pseudocódigo es

una de las herramientas de diseño para resolver problemas informáticos más

famosas. Esta herramienta te permite trasladar la solución de un problema casi

directamente a un lenguaje de programación específico. El pseudocódigo es una

serie de pasos detallados y claros para resolver un problema.

Es una mezcla de programación y lenguaje (español, inglés o cualquier

otro).
94

Se utiliza en programación estructurada para diseñar programas.

Esencialmente, el pseudocódigo se puede definir como un lenguaje de

especificación de algoritmos.

Representa los pasos que debe seguir un algoritmo para resolver un

problema dado. El pseudocódigo utiliza palabras que indican el procedimiento a

realizar. (Pinales Delgado, 2014,# 134 )

La conveniencia de transferir el pseudocódigo casi directamente a la

computadora ha llevado a muchos programadores a implementar programas

directamente en la computadora, lo que se desaconseja encarecidamente,

especialmente si uno no tiene la experiencia suficiente para emprender tal

empresa. Porque pueden cometer errores típicos con un poco de experiencia

acumulada en la resolución de diferentes problemas.

Por ejemplo, el pseudocódigo para determinar el volumen de una caja de

dimensiones “a”, “b” y “c” se puede establecer de la siguiente forma:

Como se puede ver, se establece de forma precisa la secuencia de los

pasos por realizar; además, si se le proporciona siempre los mismos valores a


95

las variables “a”, “b” y “c” el resultado del volumen será el mismo y, por

consiguiente, se cuenta con un final.

Ventajas de utilizar un Pseudocódigo a un

Diagrama de Flujo

● Ocupa menos espacio en una hoja de papel.

● Permite representar en forma fácil operaciones repetitivas complejas.

● Es muy fácil pasar de pseudocódigo a un programa en algún lenguaje

de programación.

● Si se siguen las reglas se puede observar claramente los niveles que

tiene cada operación.

Diagramas estructurados
(Nassi-Schneiderman)
Un diagrama de estructura N-S, también conocido como diagrama de

Chapin, es como un diagrama de flujo en el que se omiten las flechas de

conexión y los cuadros son continuos. Las acciones secuenciales se pueden

escribir en cuadros consecutivos, al igual que un diagrama de flujo, se pueden

escribir diferentes acciones en un solo cuadro.


96

Estructuras Algorítmicas

Una estructura del tipo algorítmica, es un conjunto de métodos de trabajo

que nos permiten realizar ciertos procesos a través de la operación de variables,

llevándonos así a resolver problemas. Estas estructuras se clasifican según su

complejidad: (Pinales Delgado, 2014, # 27,28)

Figura: clasificación de estructuras algorítmicas


97

Estructuras de control

Cualquiera que sea la herramienta o técnica que se utilice para resolver

un determinado problema tendrá una estructura, la cual se refiere a la secuencia

en la que se realizan las operaciones o acciones para resolver el problema,

estas estructuras pueden ser: secuenciales, deterministas, cíclicas o repetitivas.

analizado en su momento.

Hay que recordar que la solución de un determinado problema mediante

el uso de una computadora es un sistema que debe tener entrada de datos los

cuales serán procesados ​para obtener una salida, la solución o información

buscada.

El diagrama muestra un esquema de sistema para transformar datos en

información a través de procesos.

Figura: secuencias de operaciones

Estructuras Secuenciales

Una estructura secuencial es aquella en la que una acción (instrucción)

sigue a otra acción (instrucción) en secuencia. (Lovos & Goin, 2021,)


98

Las tareas se suceden de tal manera que la salida de una tarea es la

entrada de la siguiente tarea, y así sucesivamente, hasta el final del proceso. La

estructura de la secuencia se representa de la siguiente manera:

Inicio

Acción 1

Acción 2

Acción N

Fin

Tipos de estructuras secuenciales

Asignación: La asignación consiste en pasar un valor o resultado a un

área de memoria.

Esta área se reconocerá como el nombre de la variable que recibe el

valor. Las asignaciones se pueden clasificar de la siguiente manera:

● Simples: Consiste en pasar un valor constante a una variable (a=15)

● Contador: Consiste en usarla como un verificador del número de veces

que se realiza un proceso

(a=a+1)

● Acumulador: Consiste en usarla como un sumador en un proceso

(a=a+b)

● De trabajo: Donde puede recibir el resultado de una operación

matemática que involucre muchas variables (a=c+b*2/4).


99

Lectura: Leer implica recibir un valor de un dispositivo de entrada como

un teclado.

La operación se expresa en pseudocódigo de la siguiente manera.

Leer a, b Donde “a” y “b” son las variables que recibirán los valores

Escritura: Implica el envío de resultados o mensajes a través de

dispositivos de salida como monitores o impresoras. Este proceso se expresa en

pseudocódigo de la siguiente manera:

Escribe “El resultado es:”, R donde “El resultado es: ” es un mensaje que

se desea aparezca y R es una variable que contiene un valor.

Para que la solución de cualquier problema sea representada por alguna

de las herramientas ya mencionadas, siempre tendremos que representar por

letras, abreviaturas o palabras completas los elementos que intervienen en el

proceso de solución, llamados variables o constantes.

Por ejemplo:

Sueldo con S; horas trabajadas con HT; edad con E, o bien con la palabra

completa según el gusto de cada diseñador.

En base a esto, para facilitar la lectura de un algoritmo, se recomienda

crear una tabla en la que se declaren las variables a utilizar y sus características

o tipos, tal como se muestra en la tabla que muestra las variables a utilizar.

Encuentra el área de un rectángulo.


100

Figura: Tabla de definición de variables para el problema planteado.

Como se puede ver en la tabla, las variables "a" y "b" se utilizarán para

representar la altura y la base del rectángulo respectivamente, y se les pueden

asignar diferentes valores, y al usar estos valores y aplicando la fórmula

correspondiente, el área del rectángulo, y asígnelo a una variable llamada

"área". Además, se describe que estas variables son de tipo real, lo que significa

que pueden tomar valores fraccionarios, pero también pueden ser números

enteros.

Como se mencionó anteriormente, los tipos de variables que existen son:

enteras, reales y string o de cadena.

Sin embargo, se permiten otros tipos según el lenguaje de programación

utilizado para crear el programa.

En este tipo de estructura, las instrucciones se ejecutan o ejecutan una

detrás de otra, generalmente esperando proporcionar uno o más datos, los

cuales se asignan a variables para que puedan ser utilizados para producir un

resultado. Representa una solución a un problema planteado. El propósito de un

algoritmo es actuar sobre los datos proporcionados por el usuario y aplicarle un


101

proceso para generar información o resultados. Un algoritmo es en realidad una

representación funcional de un sistema, como se muestra en la Figura.

Para resolver un problema utilizando cualquier herramienta, es necesario

comprender y determinar qué datos están disponibles, el proceso que se debe

realizar y la secuencia adecuada para llegar a la solución deseada.

Desea implementar un algoritmo para obtener la suma de dos números

cualesquiera. Se debe suponer que, para obtener la suma, deben existir dos

números, ya que el proceso que tenemos que realizar es exactamente la suma

de estos números, la cual se asigna a una variable que se reporta como

resultado del proceso.

Los pasos a seguir son los que se muestran en el siguiente pseudocódigo,

que corresponde a un algoritmo que permite determinar la suma de dos números

cualesquiera.

1. Inicio

2. Leer a, b

3. Hacer S = a + b

4. Escribir S

5. Fin

Se puede observar que a y b representan los valores a sumar, y S es el

resultado de la suma.

Al expresar una solución a un problema usando pseudocódigo, estás

usando un lenguaje que usamos todo el tiempo, de manera ordenada y precisa.

Es recomendable indicar las variables utilizadas por medio de una tabla,

indicando lo que representan y sus características, esta operación facilitará la


102

lectura de la solución a un problema dado, independientemente de la

herramienta de programación que se utilice para representar el problema de la

solución.

Figura: Tabla de definición de variables para el problema planteado.

La construcción de la tabla de variables se puede hacer en paralelo, o

también al final del pseudocódigo o diagrama, según sea el caso.

Un algoritmo se representa usando un diagrama de flujo como se muestra

en el diagrama de flujo.
103

Figura: Diagrama de Flujo de un Algoritmo Secuencial y su descripción Narrada

Como puede ver, el proceso de solución es el mismo para ambas

herramientas, la diferencia está en la presentación, para las herramientas solo

se usan palabras, para otros métodos se usan elementos gráficos.

Ejemplo 2

Un estudiante realiza cuatro exámenes durante el semestre, los cuales

tienen la misma ponderación. Realice el pseudocódigo y el diagrama de flujo que

representen el algoritmo correspondiente para obtener el promedio de las

calificaciones obtenidas.

Las variables que se van a utilizar en la solución de este problema se

muestran en la tabla.
104

Figura: Tabla de definición de variables para el problema planteado.

Por consiguiente, el pseudocódigo muestra la solución correspondiente:

1. Inicio

2. Leer C1, C2, C3, C4

3. Hacer S = C1 + C2 + C3 + C4

4. Hacer P = S/4

5. Escribir P

6. Fin

Para explicar este proceso, primeramente, se parte de que para poder

obtener un promedio de calificaciones es necesario conocer estas calificaciones,

las cuales las tenemos que leer de alguna parte (C1, C2, C3, C4);

posteriormente, se tienen que sumar para saber el total de calificaciones

obtenidas (S), y con base en el número de calificaciones proporcionadas (4),

poder calcular el promedio obtenido (P) y presentar el resultado obtenido, éste

de manera escrita.
105

Ahora bien, el diagrama de flujo muestra la representación

correspondiente mediante la cual se debe utilizar el mismo razonamiento que se

utilizó al crear el pseudocódigo.

Figura: Diagrama de Flujo de un Algoritmo Secuencial y su descripción Narrada

Estructuras condicionales

Las estructuras condicionales comparan una variable con otros valores

para que se tome un curso de acción dentro del programa basado en el

resultado de esa comparación. Cabe mencionar que la comparación se puede

hacer contra otra variable o contra una constante, dependiendo de tus

necesidades. Hay dos tipos básicos, simples y múltiples. (Joyanes Aguilar, 1993)
106

Simples: Las estructuras condicionales simples se denominan "toma de

decisiones". Esta toma de decisiones se presenta de la siguiente forma:

Si <condición> entonces

Acción(es)

Fin-si

Figura: Pseudocódigo y Diagrama de Flujo de Estructura Condicional Simple

Dobles: Las estructuras condicionales duales le permiten elegir entre dos

posibles opciones o alternativas dependiendo de si se cumple o no una

determinada condición.

Se presenta de la siguiente manera:

Si <condición> entonces

Acción(es)

si no

Acción(es)

Fin-si

En donde:

Figura: Pseudocódigo y Diagrama de Flujo de Estructura Condicional Doble


107

● Si Indica el comando de comparación.

● Condición Indica la condición a evaluar.

● Entonces Precede a las acciones a realizar cuando se cumple la

Condición.

● Acción(es) Son las acciones a realizar cuando se cumple o no la

condición.

En el ejemplo, se puede observar la solución del diagrama de flujo para

determinar el volumen de una caja de dimensiones “a”, “b” y “c” como se

muestra en la figura:

● si no Precede a las acciones a realizar cuando no se cumple la

condición.

Dependiendo de si la comparación es cierta o falsa, se pueden realizar

una o más acciones.

Múltiples o anidadas: Las estructuras de comparación múltiple son

tomas de decisiones especializadas que permiten comparar una variable con

diferentes resultados posibles y ejecutar un conjunto de declaraciones

específicas para cada caso. La forma habitual es la siguiente:


108

Si <condición> entonces

Acción(es)

si no

Si <condición> entonces

Acción(es)

si no

..

Varias condiciones

Fin-si

Fin-si

Figura: Pseudocódigo y Diagrama de Flujo de Estructura Condicional Anidada

Ejemplo :

Se desea implementar un algoritmo para determinar cuál de dos valores

proporcionados es el mayor. Representarlo con pseudocódigo y diagrama de

flujo.

El pseudocódigo presenta el algoritmo que permite determinar cuál de dos

cantidades proporcionadas es la mayor.

1. Inicio

2. Leer a, b

3. Si a > b

Entonces

Hacer M = a

Si no

Hacer M = b
109

4. Fin de comparación

5. Escribir “el mayor es”, M

6. Fin

Como se puede observar, se comparan los dos valores asociados

respectivamente a las variables a y b, que previamente deben obtenerse por

lectura. posteriormente se comparan para determinar qué proceso se debe

realizar. En caso de que a sea mayor que b, se asigna a en la variable M; de lo

contrario, el valor asignado a M es el almacenado en b.

Después de determinar cuál es el mayor y almacenarlo en la variable M,

se escribe el resultado, completando el proceso de resolución.

Cabe señalar que la lectura del pseudocódigo o diagrama de flujo debe

ser de la siguiente manera:

Lea a y b, compare si a es mayor que b, si es verdadero, asigne el valor

de a en la variable M, escriba M y salga.

Esta sería la consecuencia que se daría si la comparación de las variables

fuera verdadera, pero si fuera falsa el proceso cambia, ya que el valor que

tomaría la variable M es el de b para escribir ese valor y terminar el proceso.

Como se puede observar, primero se debe seguir el camino de confirmación

hasta llegar al final, y luego se sigue el camino de negación solo para comprobar

la funcionalidad del algoritmo.

Partiendo del planteamiento del problema se puede establecer que las

variables que se deben utilizar son las mostradas en la tabla.


110

Figura: Tabla de definición de variables para el problema planteado.

De la misma forma, el diagrama de flujo muestra el algoritmo que permite

establecer cuál de las dos cantidades es la mayor.

Ejemplo

Escribe un algoritmo para determinar si un número es positivo o negativo.

Represéntalo en pseudocódigo y diagramas de flujo.


111

Figura: Diagrama de flujo de algoritmo para determinar si un número es positivo o negativo.

Como se mencionó anteriormente, para resolver cualquier problema, debe

comenzar con saber qué variables se necesitan para resolverlo, especialmente

aquellas que no necesitan muchos identificadores en el proceso de solución.

Cuando esto ocurre, puede continuar generando la tabla de variables primero,

aunque puede construirse al final o al mismo tiempo que resuelve el problema,

ya que se requerirán nuevas variables a medida que avanza la solución.


112

Para este caso, la tabla muestra las variables necesarias para resolver el

problema.

Figura: Tabla de definición de variables para el problema planteado.

Mediante el pseudocódigo se representa el algoritmo que permite

determinar si el número que se proporciona es positivo o negativo.

1. Inicio.

2. Leer num

3. Si num > = 0

Entonces

Hacer R = “POSITIVO”

Si no

Hacer R = “NEGATIVO”

4. Fin de comparación

5. Escribir “el número es”, R

6. Fin
113

Como se puede ver, para determinar si un número es positivo o negativo,

sólo es necesario establecer si éste es mayor o igual a cero; si el resultado de la

comparación es afirmativo, a la variable R se le asignará el valor de “POSITIVO”,

si resulta una negación, por consiguiente, el valor que tome R será de

“NEGATIVO”.

Ahora, el diagrama de flujo desarrolla el algoritmo que permite obtener la

solución del problema mediante la utilización de pseudocódigo.

Figura: Correlación entre Pseudocódigo y su Diagrama de flujo


114

Estructuras cíclicas o repetitivas

Las soluciones a problemas repetitivos o circulares requieren el uso del

mismo conjunto de operaciones que se pueden realizar un número específico de

veces. Esta cantidad puede ser fija (determinada previamente por el

programador) o variable (dependiendo de algunos datos del programa).

Los ciclos se clasifican en:

Ciclos con un número determinado de iteraciones (Hacer-Para)

Ciclos tipo “FOR”

El número de iteraciones y operaciones se conoce antes de ejecutar el

ciclo.

La forma de esta estructura es la siguiente:

Hacer para V.C = L.I hasta L.S

Acción1

Acción2

….

Acción n

Fin-para

Figura: Pseudocódigo y Diagrama de flujo ciclo Hacer-Para


115

En donde:

V.C. = Variable de control del ciclo

L.I. = Límite inferior

L.S. = Límite superior

En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo

se repite hasta que la variable de control llegue al límite superior.

Ejemplo

Se requiere un algoritmo para obtener la suma de diez cantidades

mediante la utilización de un ciclo Desde. Realice el diagrama de flujo y el

pseudocódigo para representar.

El ciclo Desde es conocido como ciclo For en los diferentes lenguajes

de programación.

Se utilizarán las mismas variables mostradas en la tabla del ciclo

Mientras que.

El diagrama de flujo muestra la solución correspondiente utilizando el ciclo

Desde.
116

Figura: Diagrama de flujo del ejemplo (con explicaciones)

El pseudocódigo se presenta en el algoritmo correspondiente de la

solución de este problema mediante la utilización de estas herramientas.

1. Inicio

2. Hacer SU = 0

3. Desde C = 1 hasta C = 10

Leer VA

Hacer SU = SU + VA

Fin desde
117

4. Escribir SU

5. Fin

Ciclos con un número indeterminado de iteraciones

(Hacer-Mientras, Repetir-Hasta)

Son aquellos en que el número de ciclos a ejecutarse no se conoce con

exactitud, ya que está dado en función de un dato dentro del mismo programa.

Ciclos Hacer - Mientras

Tipo While

Esta es una estructura que repetirá un proceso durante “n” veces, donde

“n” puede ser fijo o variable. Para esto, la instrucción se vale de una condición

que es la que debe cumplirse para que se siga ejecutando. Cuando la condición

ya no se cumple, entonces ya no se ejecuta el proceso.

La forma de esta estructura es la siguiente:

Hacer mientras <condición>

Acción 1

Acción2

Acción n

Fin-mientras

Figura: Pseudocódigo y Diagrama de flujo ciclo Hacer - Mientras


118

● Para el caso de la estructura “Mientras que”, el ciclo se repite

hasta que la condición lógica resulta ser falsa.

● La estructura “Hasta que”, el ciclo se repite siempre y cuando, el

resultado de la condición lógica sea falso.

● En la estructura “Mientras que” primero se evalúa y luego se

realiza el proceso y para el caso de “Hasta que”, primero se realiza el proceso y

luego se evalúa, por consiguiente, este tipo de estructura siempre realizará por

lo menos un proceso.

Ejemplo

Se requiere un algoritmo para obtener la suma de diez cantidades

mediante la utilización de un ciclo “Mientras”. Realice el diagrama de flujo y el

pseudocódigo. Con base en lo que se requiere determinar se puede establecer

que las variables requeridas para la solución del problema son las mostradas en

la tabla.

Figura: Tabla de definición de variables para el problema planteado.


119

La solución de este problema mediante el ciclo Mientras, que también es

conocido como ciclo While en los diferentes lenguajes de programación, se

puede establecer mediante el diagrama de flujo.

Figura: Diagrama de flujo, ejemplo uso ciclo Mientras

Como se puede ver en esta propuesta de solución, primero se inicializa a

1 el contador de bucles "C", y luego se verifica que sea menor o igual a 10, eso

es lo que debe durar el bucle (diez veces), ya dentro del ciclo, el contador por

vuelta incrementa cada vuelta y realiza el proceso de lectura del valor y adición a
120

la suma. En general, cada bucle debe tener un valor inicial, un incremento y un

verificador (init, incremento, "while") que establece los límites de ejecución.

Los pseudocódigos se basan en los algoritmos correspondientes para

resolver este problema usando estas herramientas.

1. Inicio

2. Hacer SU = 0

3. Hacer C = 1

4. Mientras C < = 10

Leer VA

Hacer SU = SU + VA

Hacer C = C + 1

Fin mientras

5. Escribir SU

6. Fin

Ciclos Repetir - Hasta

Tipo Do While

Esto es similar a la estructura anterior en algunas características. Repite

un proceso varias veces, pero a diferencia de Do While, Repetir - Hasta, inicia

una interacción de ciclo sin validar la condición y luego continúa hasta que se

cumpla la misma.

Cumple al menos una vez el ciclo sin importar la condición y luego se

comporta (repitiendo el ciclo), como el Hacer - Mientras.


121

Por otro lado, esta estructura permite que el proceso se ejecute al menos

una vez, ya que la condición se evalúa al final del proceso, mientras que en

Hacer - Mientras nunca podrá entrar si la condición no se cumple desde el

principio.

La forma de esta estructura es la siguiente:

Repetir

Acción 1

Acción2

Acción n

Hasta <condición>

Figura: Pseudocódigo y Diagrama de flujo ciclo Repetir

Ejemplo

Se requiere un algoritmo para obtener la suma de diez cantidades

mediante la utilización de un ciclo repetitivo. Realice el diagrama de flujo y el

pseudocódigo para representarlo.

La solución de este problema mediante el ciclo Repite, que también es

conocido como ciclo Repeat en los diferentes lenguajes de programación, se

puede establecer mediante el diagrama de flujo siguiente. Las variables que se

requieren son las que se muestran en la tabla (el ejemplo anterior del caso del

ciclo mientras que y el presente son el mismo, lo que cambia es el


122

planteamiento de solución del problema en lo que respecta al tipo de ciclo por

utilizar). El diagrama de flujo muestra la solución correspondiente mediante la

utilización de este tipo de ciclo.

Figura: Diagrama de flujo, ejemplo uso ciclo Repetir.

El pseudocódigo se presenta en el algoritmo correspondiente de la

solución de este problema mediante la utilización de estas herramientas.


123

1. Inicio

2. Hacer SU = 0

3. Hacer C = 1

4. Repite

Leer VA

Hacer SU = SU + VA

Hacer C = C + 1

Hasta que C > 10

5. Escribir SU

6. Fin

PSeInt

¿Qué es?

PSeInt es un software educativo libre y multiplataforma, dirigido a aquellos

que quieren comenzar a incursionar en la programación y el desarrollo de la

lógica.

¿Quién y cuándo se creó?

El software fue creado en el año 2003 por el ingeniero en informática

Pablo Novara en la Facultad de Ingeniería y Ciencias Hídricas (FICH) de la


124

Universidad Nacional del Litoral (UNL) de la República Argentina. (Pinales

Delgado, 2014)

PSeInt se distribuye bajo licencia GPL (General Public License) y es uno

de los softwares más utilizados en las universidades latinoamericanas para la

construcción de algoritmos.

Su manejo es simple e intuitivo a través de un editor de programas

escritos en un pseudolenguaje en español.

Su interfaz gráfica permite crear, almacenar, ejecutar y corregir fácilmente

los programas.

El objetivo es permitir centrar la atención en conceptos fundamentales de

aprendizaje sin detenerse en detalles para la interpretación de un compilador.

De esta forma, se facilita la tarea de escritura de algoritmos y se

proporciona un conjunto de ayudas y asistencias, junto a algunas herramientas

que asisten a un programador “junior” a encontrar errores y comprender la lógica

de los algoritmos.

El software no deja de actualizarse periódicamente y para descargarlo

tenemos que dirigirnos al siguiente vínculo:

http://pseint.sourceforge.net/

Una vez descargado e instalado se puede ejecutar a través del icono:

Figura: Logo PSeInt


125

La primera ventana que aparece es la que muestra la figura:

Figura: primer pantalla de PSeInt

En la barra ubicada arriba de la pantalla figura el menú

principal que contiene el total de las opciones.

En el panel derecho, los comandos para armar el

algoritmo.

En el centro, aparece el sector de trabajo o edición.

A continuación, se muestra paso a paso cómo editar y

probar el primer ejercicio, en el que se ingresaban dos números

enteros para hallar y mostrar la suma.

Figura: Diagrama
de flujo primer ejercicio
126

Se describen con detalle todos los pasos a seguir en PSeInt para resolver

el problema.

1. Escribir el nombre del programa a la derecha de «Proceso», en el

espacio que dice “sin_titulo”

En este caso, recomendamos que escriban “Problema 1”

Nota: El título no debe contener espacios en blanco.

Figura: Líneas de código PSeInt.

Definición Proceso

2. Ubicamos el cursor en la línea 2 haciendo un click y luego elegimos

el comando «Leer».

Figura: Líneas de código PSeInt.

Instrucción Leer

En la lista de variables escribimos las variables A, B.


127

3. Insertamos en la línea 3 el comando de asignación.

Allí escribiremos en «variable<-expresión» lo siguiente:

C<-A+B

4. Para finalizar el algoritmo, insertamos en la línea 4 el

comando.

Reemplazamos en la lista de expresiones la variable C.

Una vez terminado el programa en el sector de trabajo es

necesario probarlo ejecutándolo con el icono o directamente con la tecla F9.

Figura: Ventana de solución de PSeInt


128

Se ingresa por teclado un número y <Enter> y luego otro número y

<Enter>. Finalmente, el resultado será el siguiente:

Figura: Ventana de solución de PSeInt

En caso de error se muestra en un panel inferior el número del error

cometido y la información detallada.

Importante:

✔ Evitar dejar líneas de comando en blanco.

✔ Tener en cuenta al nombrar variables que no se diferencian minúsculas

de mayúsculas.

✔ Las palabras reservadas del programa aparecen en negrita.

✔ Guardar los archivos.

✔ Probar el funcionamiento de cada programa.

✔ Para empezar un nuevo algoritmo hacer un click en el icono “nuevo”.

Nota: Realizar en PSeInt el problema 2 (del capítulo 2).


129

Con respecto a la estructura de control de decisión el comando del PSeInt

es:

Figura: Estructura de control de decisión.

Atención: Es muy importante tomar en cuenta las tabulaciones que se

presentan. En este caso, lo que va dentro del Si y Sino se tabula. Esta acción

tiene por nombre indentación y PSeInt la realiza automáticamente.

La indentación es lo que permite determinar un bloque de acciones que se

ejecutarán juntas.

Luego, cada lenguaje de programación usará sus propios símbolos para

esto, por ejemplo, en el lenguaje C se usan las llaves {}; en Pascal, las palabras

reservadas ≪Begin-End≫.

Es muy importante acostumbrarse a escribir código indentado ya que

facilita la lectura y la detección de errores.


130

Stack tecnológico
En el mundo de la programación existen diversas tecnologías, framework,

lenguajes y forma de organizar el trabajo al momento de emprender un

desarrollo de software. Esta amplia variedad de oportunidades nos lleva a tener

que tomar decisiones de cuál es la combinación más óptima para el producto

que estamos desarrollando.

“Un stack tecnológico, también llamado stack de soluciones o ecosistema

de datos, es una lista de todos los servicios tecnológicos utilizados para construir

y ejecutar una sola aplicación. El sitio social Facebook, por ejemplo, está

compuesto por una combinación de frameworks de codificación y lenguajes,

entre los que se incluyen JavaScript, HTML, CSS, PHP y ReactJS. Este es el

“stack tecnológico” de Facebook.”

Stack tecnológico: qué es y cómo construir uno

(https://mixpanel.com/es/topics/what-is-a-technology-stack/)

Para los stack se debe tener en cuenta tanto el front end como el back

end y los diferentes frameworks que estos utilizan.

Tipos de stacks de desarrollo

Podemos diferenciar en:

Mean

(MongoDB, Express.js, AngularJS y Node.js) es un stack de JavaScript de

extremo a extremo. Utiliza un solo idioma en todo el paquete, así que tienes la
131

oportunidad de reutilizar el código en toda la aplicación, lo que reduce la

reinvención innecesaria. Su tecnología es gratuita y de código abierto, sus

aplicaciones son muy flexibles, ideales para el desarrollo en la nube, y se puede

implementar fácilmente ya que incluye su propio servidor web.

MERN Stacks

MERN Stacks es muy similar a MEAN, con la diferencia de que en lugar

de Angular se implementa React.

MEVN Stacks

Utiliza Vue.js en lugar de Angular como marco de interfaz de usuario. Es

un marco muy popular por ser una solución liviana en comparación con

Angular.Vue.js ofrece una funcionalidad básica lista para usar, pero ofrece la

posibilidad de ampliarse con servicios de terceros.

LAMP Stacks

Es un stack clásico con trayectoria comprobada. Incorpora Linux, Apache,

MySQL y PHP y sigue siendo una de las formas más comunes de entregar

aplicaciones web. Fue uno de los primeros software de código abierto y todavía

hoy día sigue siendo uno de los más populares. Los CMS populares de código

abierto, como WordPress y Drupal, usan LAMP y lo eligen por encima de otros

por su estabilidad y potencia.


132

Ejemplo de soluciones en la nube:

Figura: Distintas Soluciones en la Nube

Alejandro Baldominos Gómez, 2015,

https://e-archivo.uc3m.es/bitstream/handle/10016/27780/PFC_GiancarloAlfredo_

Munoz_Reinoso.pdf?sequence=1&isAllowed=y

Ventajas:

● Facilidad al cambio entre el desarrollo de la parte front y back

● Estructura de diseño segura

● Flexibilidad para el cambio de tareas

● Posibilidad de solucionar problemas de manera general y completa.

Al momento de elegir un stack es muy importante conocer el producto a

desarrollar, contar con los profesionales capaces de adaptarse y ser idóneos

para las necesidades que requieren las tecnologías de los diferentes stacks.
133

Ética profesional

La Ética

La ética se la puede explicar cómo una rama de la filosofía que analiza y

estudia a la conducta humana en lo concerniente a su corrección o carencia. Se

analizan aspectos relacionados a lo bueno y lo malo, la moral, el buen vivir, la

virtud, la felicidad y el deber. Cabe aclarar que la ética no es igual a la moral. La

ética es una disciplina que estudia la oral entre otros aspectos

Excede los objetivos del presente documento, pero hablar en detalle de la

ética nos haría remontarnos a los orígenes mismos de la antigua Grecia.

En otro orden de ideas, cuando nos enfocamos acerca del actuar de los

profesionales, debemos hablar de la deontología la cual estudia y analiza los

valores que guían a los profesionales.

La ética del profesional

El Ab. Pablo Andrés Figueroa ha sostenido que “los dilemas éticos que

enfrentamos los profesionales son de variada índole. Abrir el tema a debate y

reflexión es dar un inmenso paso en este desafío. Los temas vinculados con la

ética profesional, actualmente se encuentran en un -inexplicable- margen de

análisis, investigación y difusión”. (Figueroa, 2022, p. 3)

Los profesionales del mañana no solo deberán reunir habilidades propias

de su disciplina, sino que tendrán que contar para su éxito personal con el

manejo de una serie de habilidades blandas y también de conocimientos en


134

principios éticos en el ejercicio de su profesión para con el cliente, sus colegas y

el colegio profesional respectivo.

El término “ética profesional” como Deontología puede lograr una

definición como conjunto de reglas y principios a que debe ajustarse la conducta

de una persona en el ejercicio de su profesión. Diccionario panhispánico del

español jurídico de la Real Academia Española

Ahora bien, ¿qué es ser profesional? ¿Se lo es solo con el mero hecho de

aprobar todas las materias de un plan de estudio de una facultad y que se emita

un título de grado? o ¿es algo más? El factor de obtener el título es solo el

primer paso para la debida construcción del perfil del profesional. Luego de ese

primer peldaño cada uno, con vocación, interés y perfeccionamiento irá armando

su ser profesional. Pero los contenidos teóricos solamente no bastan, es

necesario un plus, un agregado de valor en el ejercicio del nivel profesional y

ese plus es como se desenvuelve, cómo actúa y cómo ejecuta el ejercicio

intelectual en cada caso en particular y en interrelación con sus colegas, clientes

y público en general.

Alcanzar el ser profesional amerita cumplir con el deber ser de cada

código deontológico respectivo. De otro modo, solo podríamos ser idóneos

técnicos aplicando un determinado saber y no podríamos llamarnos

profesionales.
135

La ética en el ejercicio de las profesiones en

Ciencias Informáticas

Los dilemas éticos que subyacen en la informática son de variada índole y

van en franco crecimiento. Los profesionales de la informática, tienen que

desarrollar un conjunto de principios deontológicos y éticos que les permita

desarrollar su profesión y especialidad de forma tal que no constituya

menoscabo de los derechos de otros.

Es recomendable que los profesionales de la informática durante su

formación académica reciban la educación ética necesaria, para que se nutran

de valores que les permitan desarrollar su profesión de forma óptima y

respetuosa de los demás.

En la provincia de Córdoba, rige la ley 7642 que determina las

condiciones para el ejercicio profesional de ciencias informáticas y constituye el

consejo profesional correspondiente. En el capítulo 2, en solo tres artículos se

desarrolla un código de ética que establece normas generales para el ejercicio

profesional (Art. 20), deberes del profesional para con sus colegas (Art. 21) y

deberes para con los clientes y el público en general (Art. 22).

La norma indica que el Tribunal Arbitral y de Disciplina ejercerá el poder

disciplinario sobre todos los profesionales matriculados del Consejo Profesional

para lo que conocerá y juzgará según las normas del Código de Ética, las faltas

cometidas por los profesionales en el ejercicio de la profesión o contra el decoro

de éstos, o contra las disposiciones y jerarquías del Consejo Profesional.


136

Capacitación en temas vinculados a la ética

De manera muy alentadora, reconocidas instituciones han empezado a

brindar capacitaciones relacionadas a la ética y a la deontología profesional. Son

instancias que ayudan con el propósito de instalar el tema y proporcionarles la

importancia y relevancia que detenta estás temáticas en la formación

profesional.

En lo que respecta a la formación informática, el Instituto Superior

Politécnico Córdoba dependiente del Ministerio de Educación de Córdoba en la

mayoría de los espacios curriculares de los planes de estudios de las

tecnicaturas que componen su oferta académica, se ofrece sólida formación en

temas relacionados con la ética y la deontología profesional informática en

dónde se ofrecen desde contenidos teóricos hasta prácticos para brindar al

futuro técnico una mirada transversal a estos tópicos, asignando la relevancia

formativa desde los primeros años de cursado.

Cabe agregar que este instituto académico provincial organizó de manera

conjunta con el Consejo Profesional de Ciencias Informáticas de la Provincia de

Córdoba el Webinar sobre la “Ética en el ejercicio profesional del Informático” .

En la oportunidad, las autoridades del Tribunal Arbitral y de Disciplina hicieron

hincapié en lo que refiere a las normas del Código de ética, lo que puede

entenderse como faltas cometidas en el ejercicio de la profesión o que afecten al

decoro de ésta. (Canal Instituto Superior Politécnico Córdoba , 2022).


137

La experiencia educativa en el ISPC


En el caso de análisis, el Instituto Superior Politécnico Córdoba,

reconocido por implementar la innovación tecnológica que abraza a la

educación, se caracteriza desde su creación de ofrecer diferentes carreras

técnicas de nivel superior que son requeridas por el sector empresarial, industrial

y de servicios de nuestra provincia justamente en la necesidad imperiosa de

formar personas idóneas más y mejores preparados a ese futuro cercano.

Formamos personas, personas que luego egresan como técnicos y luego

cada uno de ellos elegirá su camino. Nosotros le mostramos la “hoja de ruta”.

Este instituto brinda en la actualidad doce tecnicaturas superiores de

fuerte impacto en la sociedad en la generación de nuevos recursos humanos

preparados para el trabajo de mañana, brindando mediante las ventajas y

flexibilidad que brinda la virtualidad de una serie de aprendizajes y habilidades

para la vida y el trabajo.

En el primer año de cursado de cinco carreras de la institución educativa

se imparte el módulo “Programador” que detenta ser una formación profesional

de reconocimiento y validez nacional en el contexto de un marco de referencia

aprobado por el Instituto Nacional de Educación Tecnológica según Resolución

CFE N° 289/16.

Esta forma de enseñar, coordinando una unidad de saberes posibilita a

nuestros estudiantes encontrar sentido en los conocimientos técnicos de la

mano de mostrarles el mundo laboral en el que se insertarán.

Nuestro instituto no solo innova en la educación, no solo por la flexibilidad,

no solo por su gratuidad, no solo por el modo de entender la educación y sus


138

complejos procesos. La innovación no solo queda atrapada en el concepto de

aula virtual, sino que va más allá en la disrupción de trabajar en la idea de la

modularidad para brindar contenidos teóricos de diversos espacios curriculares y

en el aprendizaje basado en proyectos con el propósito de no solo enseñar

conceptos y teóricas sino enseñar un “saber hacer”. Ese modo de entender el

complejo mecanismo de la educación, genera que nuestros estudiantes en el

tránsito de los diversos espacios modulares vayan entendiendo para qué se

estudia cada concepto o tema pues su aplicación es inmediata en el módulo y en

el mundo exterior.

En ese modo de brindar nuestro servicio educativo y con su finalidad,

intentar enseñar ética y deontología profesional deviene un enorme desafío pero

que el cuerpo docente interdisciplinario ha podido saber mostrar a nuestros

estudiantes los diversos caminos en el contexto de una determinada

responsabilidad social. Aprender a insertarse y convivir en una sociedad,

también es un modo de saber hacer.

Con relación a la formación superior en general y en carreras superiores

vinculadas a la informática o a las nuevas tecnologías en particular, es imperioso

no sólo ofrecer de modo organizado contenidos vinculados a la programación y

a las bases de datos, sino que deviene urgente hablar, debatir y discutir acerca

de dilemas éticos que subyacen en la tarea del técnico superior.

Por ello se busca mostrarle al estudiante sus derechos laborales y sus

obligaciones éticas para con la sociedad. Se les enseña sus deberes, pero no de

modo aislados o declarativos sino contextualizados en un obrar determinado.

Hablar y trabajar con relación a la ética en las profesiones debería ser una

tarea permanente y en permanente crecimiento. Sin parecer que sean solo


139

meros actos altruistas, sino que irradien un nuevo paradigma de moralidad en

las profesiones.

Resulta de incuestionable importancia que todas las profesiones cuenten

con la correspondiente regulación de un código deontológico que legisle acerca

de temas de ética, marco legislativo por el cual los profesionales, el Estado y la

sociedad podrán avizorar cuál es el actuar correcto de todos aquellos que

ejercen una determinada profesión.

Las cuestiones relativas a la ética deberían estar más presentes en el

estudio, la investigación y el análisis de todas las profesiones pues quién ejerce

una profesión lo debería hacer con la técnica y ciencia respectiva pero también

bajo el respeto y cumplimiento de cánones morales y éticos que asegure un

servicio profesional de calidad en todos los sentidos.

Ejercer una profesión hoy en día, sea la que fuere, nos obliga a transitar

con la correcta aplicación de los principios y bajo la técnica respectiva, pero sin

olvidar que nuestro servicio lo ofrecemos en el marco de una sociedad que nos

obliga a trabajar de modo íntegro y ético.

Unos de los desafíos más grandes que se enfrentan las profesiones es la

permanente actualización de saberes, pero también nunca olvidar las raíces de

un buen profesional y un buen profesional nunca lo será si olvida la existencia de

la ética y de las buenas prácticas en su obrar.

La ética lo es todo, sin ella no importa cuán inteligentes seamos, cuanta

experiencia tengas o a que nos dediquemos. Sin Ética, simplemente no somos

nada.
140

Para seguir aprendiendo


● Instituto Superior Politécnico Córdoba. 12/11/2022. Jornada de

"Ética en el rol profesional del informático". Youtube.

https://www.youtube.com/watch?v=Loc3LmHkbgQ

● Ley N° 7642. Ejercicio profesional de Ciencias informáticas. Boletín

Oficial Córdoba 12/01/1988. Disponible en

http://web2.cba.gov.ar/web/leyes.nsf/0/3427DD4665E7DAED832575D800

58794A?OpenDocument&Highlight=0,7642
141

Referencias Bibliográficas
● Manuales y cuadernillos digitales de Ciencias de la Computación

https://program.ar/material-didactico/

● Unidad 1. Fundamentos de Informática SOPORTE LÓGICO EN UN

ORDENADOR PERSONAL: EL SOFTWARE

https://www3.gobiernodecanarias.org/medusa/ecoblog/mgoncal/

● Lenguajes de programación (14 nov 2022) Wikipedia

https://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n

● Lenguajes formales (20 oct 2022) Wikipedia

https://es.wikipedia.org/wiki/Lenguaje_formal

● Analizador Léxico (28 ene 2022) Wikipedia

https://es.wikipedia.org/wiki/Analizador_l%C3%A9xico

● Tema 2: Lenguajes formales

http://informatica.uv.es/iiguia/AED/teoria/apuntes/cuatr1/AED.Tema.02.pdf

● Figueroa, P.. (2022, 6 octubre). La ética en la educación superior.

Un debate necesario y pendiente. V Congreso Municipal de Educación.

Córdoba, Argentina. Disponible en

https://cme2022.cordoba.gob.ar/wp-content/uploads/2022/10/3-Figueroa-La-etica

-en-la-educacion-superior.-Instituto-Superior-Politecnico-Cordoba.pdf

● Instituto Superior Politécnico Córdoba. 12/11/2022. Jornada de

"Ética en el rol profesional del informático". Youtube.

https://www.youtube.com/watch?v=Loc3LmHkbgQ
142

● Ley N° 7642. Ejercicio profesional de Ciencias informáticas. Boletín

Oficial Córdoba 12/01/1988. Disponible en

http://web2.cba.gov.ar/web/leyes.nsf/0/3427DD4665E7DAED832575D800

58794A?OpenDocument&Highlight=0,7642

● Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman (1990). Compiladores:

principios, técnicas y herramientas. México. Addison Wesley Iberoamericana

S.A.

● Clasificación de software de sistemas y aplicaciones - Luis Olarte

Gervacio. (2017). Clasificación de software de sistemas y aplicaciones. 2022,

Noviembre 16, Conogasi.org Sitio web:

https://conogasi.org/articulos/clasificacion-de-software-de-sistemas-y-aplicacione

s/

● Luis Joyanes Aguilar, “Metodología de la programación, diagramas

de flujo, algoritmos y programación estructurada”, España, Mc Graw Hill, 1993.

● Alexander Ovideos Fadul, “Diseño Estructurado de Algoritmos”,

Colombia, Primera Edición: Sincelejo, Marzo de 2004.

● Francisco Javier Pinales Delgado – Cesar Eduardo Velázquez

Amador, “Algoritmos resueltos con Diagramas de flujo y Pseudocodigo”, México,

Departamento Editorial de la Dirección General de Difusión y Vinculación de la

Universidad Autónoma de Aguascalientes. Primera edición 2014.

● Edith Lovos y Martin Goin, “Problemas y algoritmos: un enfoque

práctico”, Argentina, Primera edición. Viedma: Universidad Nacional de Río

Negro, 2021.
143

● Carrizo, I., Olmedo, I., & Serra, I. (n.d.). Informática 1 y

Fundamentos de la Informática (Material de la Tecnicatura Superior en

Programacion ed., Vol. Apunte). Apunte de Cátedra.

● Joyanes Aguilar, L. (1993). Metodología de la Programación

,diagrama de flujo algoritmo y programación estructurada. Mc Graw.

● Lovos, E., & Goin, M. (2021). Problemas y algoritmos: un enfoque

práctico (Primera edición. ed.). Universidad Nacional de Río Negro.

● Ovideos Fadul, A. (Marzo de 2004). Diseño Estructurado de

Algoritmos (Primera Edición ed.). Sincelejo.

● Pinales Delgado, F. J. (2014). Algoritmos resueltos con Diagramas

de flujo y Pseudocódigo. Departamento Editorial de la Dirección General de

Difusión y Vinculación de la Universidad Autónoma de Aguascalientes.

● WIRTH, N. (n.d.).

● Mihaela Juganaru Mathieu. Introducción a la Programación. Grupo

Editorial Patria, 21 oct 2014 - Cap1 del algoritmo al programa.

● Fernando Barber y Ricardo Ferrís. “Lenguajes de Programación”.

Universidad de Valencia. Cátedra “Algoritmos y estructuras de Datos I”. Año

2005.

También podría gustarte