sábado, 16 de enero de 2021

323 Computación I

Estimado estudiante, es un placer darle la más cordial bienvenida a la Universidad Nacional  

Abierta y su interesante modalidad de educación a distancia, en especial a una asignatura tan 

interesante y útil como lo es la Computación I.


En primera instancia le invito a revisar de manera detallada y minuciosa el contenido del plan de 

curso correspondiente a la asignatura Computación I 323, en él encontrará los objetivos a 

evaluar, el contenido que debe dominar para aprobar cada objetivo y las estrategias de 

evaluación a utilizar para la aprobación de cada uno.


Los planes de curso de esta y las restantes asignaturas, además del material instruccional y 

los trabajos prácticos a realizar, los puede encontrar en el siguiente enlace:


https://subprogramadisenoacademicouna826543778.wordpress.com/

El objetivo final de la asignatura es resolver problemas algoritmicos con la ayuda de la computadora digital.

Se espera lograr dicho objetivo final con el estudio de temas relevantes en esta área como lo son la teoría de conjuntos y funciones, la lógica proporsicional, el estudio de problemas algoritmicos  y su solucion, finalizando con la codificación de estas soluciones en lenguajes computacionales de alto nivel.


La asignatura Computación I es un curso básico de las carreras Ingeniería de Sistemas, 

Industrial y el Técnico Superior Universitario en Mantenimiento de Sistemas Informáticos que 

comprende el estudio de los procedimientos y técnicas de desarrollo de programas, introduce 

las ideas fundamentales para la resolución de problemas algorítmicos, así como la aplicación 

del diseño de algoritmos para su codificación e implantación con el uso del computador.


El curso está diseñado bajo un enfoque teórico-práctico, con la finalidad de proporcionarle al 

estudiante los conceptos fundamentales de algoritmo y el procedimiento para emplearlo, lo 

cual le permitirá resolver problemas, basados en casos reales.


Una vez que el estudiante haya adquirido conocimientos previos que hacen posible el uso 

adecuado de la computadora, es necesario que adquiera herramientas básicas para el diseño 

de algoritmos y programas, que le serán útiles para posteriores aprendizajes, razón por la cual 

se incluye la asignatura “Computación I” en el plan de estudio. Es de carácter obligatorio, debido 

a que ofrece una introducción básica de los conceptos de algoritmos y lenguaje de 

programación, que servirá de apoyo para abordar el estudio de asignaturas subsiguientes.


El curso contribuye a la formación de un profesional capaz de resolver problemas sencillos 

mediante el uso del computador, lo cual lleva al egresado a desarrollarse con una mentalidad 

lógica y coherente, y sirve de soporte para su utilización en las diferentes áreas del desempeño 

laboral.


El material instruccional de la asignatura Computación I se encuentra en el siguiente enlace:

 

https://drive.google.com/drive/folders/1BWDv7eomEHArujhkg9MzMiGH8GKa8isz?usp=sharing





Objetivo global de la asignatura:


El objetivo global de la asignatura consiste en codificar, de manera coherente y lógica, en un 

lenguaje de programación adecuado el algoritmo diseñado para una situación dada, utilizando 

la metodología MAPS y los conceptos de robustez y diseño descendente y modular, esto se 

logrará mediante el dominio paulatino de los siguientes objetivos:


Unidad temática I: CONJUNTOS, FUNCIONES Y LÓGICA PROPOSICIONAL


Objetivo de la Unidad I: Resolver de forma analítica problemas de Conjuntos, Funciones y 

Lógica Proposicional.


Objetivo Específico I.1: Resolver de forma analítica y lógica problemas de conjuntos, utilizando 

las operaciones y las características de funciones definidas sobre ellos.


Un conjunto es una colección de elementos con características similares considerada en sí 

misma como un objeto.

Una función es una tabla con dos columnas que indican una correspondencia entre los valores 

de la primera columna y los de la segunda.


La teoría de conjuntos es una parte de las matemáticas que forma parte de la fundamentación 

de la lógica y de la informática.


Relación entre conjuntos

Variables tipos y estados

Operaciones entre conjuntos.

Propiedades de las operaciones entre conjuntos.

Conjuntos de cadenas de caracteres.

Funciones. Tipos de Funciones.


En el siguiente libro digital se trata el tema de los conjuntos y la teoría de conjuntos:

https://openlibra.com/es/book/teoria-de-conjuntos-basica


Lista de reproducción de videos sobre los conjuntos y la teoría de conjuntos:

https://www.youtube.com/playlist?list=PLCZKC1YTwC0l8HRkAW-so7U-lVXV6bzyJ


Carpeta Drive con información sobre los conjuntos y la teoría de conjuntos:

https://drive.google.com/drive/folders/1LMVIwa4TbN_LGy8qBV5OKsuxXbwGR_oW?usp=sharing


Objetivo Específico I.2: Aplicar de forma analítica la Lógica Proposicional para la solución de 

problemas o situaciones dadas.


La lógica proposicional trata sobre la verdad o la falsedad de las proposiciones y de cómo la 

verdad se transmite de unas proposiciones (premisas) a otras (conclusión). Una proposición 

es la unidad mínima de significado susceptible de ser verdadera o falsa.


La lógica proposicional es una parcela, relativamente pequeña y simple, del mundo mucho más 

amplio de la lógica en general.


Lógica Proposicional:

Representación de frases en castellano 

Tablas de Verdad. 

Tautologías.

Razonamiento con proposiciones. 

Lógica de predicados.


En el siguiente libro digital se trata el tema de la lógica proposicional:

https://openlibra.com/es/book/logica-de-enunciados


Lista de reproducción de videos sobre lógica proposicional:

https://www.youtube.com/playlist?list=PLCZKC1YTwC0knKWHaPD8sY8JZTCnKeMhm


Carpeta Drive con información sobre la lógica proposicional:

https://drive.google.com/drive/folders/1mUvz0rExFgvqbxe2_ipiBmg8sRcPt2t3?usp=sharing


Unidad temática II: RESOLUCIÓN DE PROBLEMAS ALGORÍTMICOS Y LA 

CODIFICACIÓN EN LENGUAJE DE PROGRAMACIÓN


Objetivo de la Unidad II: Codificar con carácter analítico en un lenguaje de programación 

adecuado, utilizando la metodología MAPS en problemas planteados algorítmicamente.


Objetivo Específico II.1: Aplicar los conceptos y técnicas de manera coherente para la 

construcción de algoritmos en la solución de problemas o situaciones dadas.


Un algoritmo es un método para resolver un problema. Además, se debe conocer la data y las 

operaciones elementales necesarias para el diseño del algoritmo. Según el profesor NiKlaus 

Wirth inventor del Pascal: Algoritmos + Estructuras de Datos = Programas, significándonos que 

solo se puede llegar a realizar un buen programa con el diseño de un algoritmo y una correcta 

estructura de datos.


Concepto de algoritmo.


Presentación de conceptos de algoritmo

https://view.genial.ly/5b1052cd724fd966817c0f33/interactive-content-algoritmos


En el siguiente libro se tratan los temas fundamentales de los algoritmos:

https://openlibra.com/es/book/introduccion-a-la-algoritmica


Para mayor información sobre los algoritmos, se puede consultar el siguiente recurso

https://github.com/dbcolmenaresp/fundamentosalgoritmos


Características de los algoritmos.

Datos, tipos de datos y operaciones primitivas.

Constantes y variables.

Expresiones aritméticas y lógicas.

Funciones internas.

La operación de asignación.

Entrada y salida de información.


Metodología del análisis descendente: Comprender el problema propuesto.

En el siguiente libro digital se trata el interesante y útil tema de la metodología de análisis 

descendente de algoritmos, el cual facilita el análisis y diseño de algoritmos de gran envergadura:

https://openlibra.com/es/book/introduccion-a-la-metodologia-de-diseno-descendente


Diseño del algoritmo para la resolución del problema.

El siguiente libro digital presenta los fundamentos de diseño de algoritmos para la resolución de 

problemas:

https://openlibra.com/es/book/tecnicas-de-diseno-de-algoritmos


Verificación del algoritmo.


Lista de reproducción de videos sobre fundamentos de algoritmos:

https://www.youtube.com/playlist?list=PLCZKC1YTwC0mOa4g5QyCNS52-N6VMTmsJ


Carpeta Drive con información relacionada con el análisis y construcción de algoritmos:

https://drive.google.com/drive/folders/1y6AfgH2cZtWOCVIQIemgIr38thSIP56Y?usp=sharing


Objetivo Específico II.2: Resolver con sentido lógico y coherente utilizando la metodología 

MAPS problemas de algoritmos dada una situación.


En esta unidad para poder resolver problemas algorítmicos más extensos y complejos, 

necesitamos proveernos de un conjunto de técnicas de resolución de problemas más robustos. 

Es decir, «la programación a gran escala» requiere la utilización de una metodología unificada y 

robusta que pueda utilizarse de manera fiable en una variada área de aplicaciones. Una 

Metodología de Resolución de Problemas Algorítmicos*, MAPS, se desarrollará e ilustrará en 

este capítulo. MAPS (Methodology for Algorithmic Problem Solving).


Carpeta Drive con información relacionada con la metodología MAPS

https://drive.google.com/drive/folders/1pBx-rHMcGTEEnaLrff4qHG5ImK7fFbKw?usp=sharing


Lista de reproducción con videos relacionados con el uso de metodologías de diseño en el 

desarrollo de programas:

https://www.youtube.com/playlist?list=PLCZKC1YTwC0mx6CXG9bdwp_Qawt5r9RjS


Objetivo Específico II.3: Codificar en forma lógica y coherente algoritmos en lenguaje C, 

aplicando tipo de datos y/o procedimientos y funciones y/o métodos de archivos.


El lenguaje de programación C es un lenguaje de programación orientado inicialmente al 

desarrollo de sistemas, que puede ser usado también para el desarrollo de programas de 

propósito general. 

El lenguaje de programación C puede ser usado en las etapas tempranas del aprendizaje de 

programación para aclarar el uso adecuado de los diferentes conceptos básicos de la 

programación, como el uso adecuado de los tipos de datos, el uso de las diferentes estructuras 

como condicionales, repeticiones, etc. Fue desarrollado en los laboratorios AT&T por Dennis 

Ritchie, quien en colaboración con Ken Thompson crearon el sistema operativo UNIX. C 

es el lenguaje de programación de alto nivel de propósito general más popular.


El lenguaje C es un lenguaje de programación de tipo compilado y en este sentido, requiere del 

uso de un programa compilador para codificar el código fuente en un código binario llamado 

 código objeto, que representa el archivo ejecutable del programa, para esta finalidad 

recomiendo el uso de DEV C++. Dev-C++ es un entorno de desarrollo integrado para 

programar en lenguaje C/C++. Usa MinGW, que es una versión de GCC como su compilador. 

Dev-C++ puede además ser usado en combinación con Cygwin y cualquier compilador basado 

en GCC. El entorno está desarrollado en el lenguaje Delphi de Borland.


Este programa se puede encontrar en la siguiente dirección:

http://orwelldevcpp.blogspot.com/


En el siguiente enlace se encuentra un video que explica como descargar, instalar y usar el 

compilador DEVC++:

https://www.youtube.com/watch?v=rtGFCn4LZx8


Para una mejor referencia de los fundamentos del lenguaje C puede consultar el siguiente 

recurso:

https://github.com/dbcolmenaresp/Fundamentos-lenguaje-C


Carpeta Drive con información relevante sobre la codificación de algoritmos y la programación:

https://drive.google.com/drive/folders/1g_hSrFg1_eBZG-0HFih8XjGjT18sBZiL?usp=sharing


Libro electrónico sobre los fundamentos de la programación en el lenguaje de programación C

https://openlibra.com/es/book/introduccion-a-la-programacion-con-c


Lista de reproducción sobre los fundamentos del lenguaje de programación C

https://www.youtube.com/playlist?list=PLpOqH6AE0tNgqknxjMAJ8bX_L1a7lnBaH


Lista de reproducción sobre codificación en el lenguaje de programación C:

https://www.youtube.com/playlist?list=PLCZKC1YTwC0miD2BDa_JhP4dxB1M3-iRR


Quien esté interesado en la historia del lenguaje de programación C, puede consultar el siguiente 

audio:

 

 


Objetivo Específico II.4: Aplicar analíticamente el concepto de robustez en algoritmos dados.


Al momento de diseñar un programa, se deben tomar en consideración una serie de 

características imprescindibles para su correcto y adecuado funcionamiento, entre otras 

que sea sintácticamente correcto, es decir que las sentencias usadas cumplan con el 

estándar y el formato del lenguaje utilizado, que sea lógicamente coherente, es decir que 

cumpla a cabalidad y de manera inequívoca con el objetivo de su creación, que sea 

estructuralmente comprensible para facilitar la labor de quien deba revisarlo y corregirlo, 

que cumpla con el principio de modularidad y se evite la repetición innecesaria de código, 

que realice su labor de manera eficiente usando adecuadamente los recursos de tiempo 

de procesador y cantidad de memoria utilizada. 

La intención de diseñar programas es que estos funcionen bien cuando se les ingresan las 

entradas correctas, además de comportarse elegantemente para un amplio rango de 

entradas incorrectas. 

Para que un programa se considere como adecuadamente construido, que sea de calidad 

y confiable, debe cumplir con tres elementos esenciales, debe ser correcto, robusto

 amigable. Si un programa no funciona de manera correcta, el trabajo realizado para su 

desarrollo resulta inútil, ya que no se garantiza un adecuado funcionamiento del programa 

construido.


Presentación que trata sobre el concepto de robustez


https://view.genial.ly/5d893cf23012720fcd8966f9/presentation-robustez


    Lista de reproducción con información sobre la robustez y la validación de datos en el desarrollo de 

programas:


https://www.youtube.com/playlist?list=PLCZKC1YTwC0nI7-f9q_AJ08p1j4u6IWgu


Material complementario


Le invito a revisar los siguientes enlaces, en los cuales encontrará información complementaria 

relacionada con esta asignatura y espero le sirvan para que logre un aprendizaje exitoso de los 

objetivos planteados durante este lapso académico.


Carpeta Drive con información sobre Computación I 323


https://drive.google.com/drive/folders/1k9Eb_Vc1vjvzBKwGa0RpD9lMKs58syAO?usp=sharing


Lista de reproducción con videos relacionados con los objetivos de la asignatura

https://www.youtube.com/playlist?list=PLCZKC1YTwC0lO3lo6RflpWjHacIhpMyHl


Listado de libros en la plataforma Openlibra relacionados con la asignatura

https://openlibra.com/es/lists/id/VNbNwV


En el siguiente enlace encontrará información relacionada con cada objetivo de la asignatura

https://dcolmenaresuna.wixsite.com/sistemasunatachira/computacion-i-323


Le informo que debe crear una cuenta en la red social GitHub, con la finalidad de que presente 

los códigos correspondientes a los trabajos asignados, para facilitar su revisión, puede seguir mi 

perfil en el siguiente enlace

https://github.com/dbcolmenaresp


A continuación un breve tutorial del uso de la plataforma GitHub

 

https://www.youtube.com/watch?v=ggD808TwCvU


Para la codificación de los programas que debe realizar para el trabajo práctico, le sugiero que 

utilice el lenguaje de programación C, este es mas versatil y moderno que el sugerido lenguaje 

de programación Pascal, adicionalmente esto le preparará para la asignatura Computación II, en 

la cual deberá codificar en el lenguaje de programación C++.


Espero le sea de provecho esta información, revise con detalle y prepare el material y los 

conocimientos necesarios para la realización exitosa de las actividades que se le van a plantear 

durante el semestre


Exitos


Redes sociales

https://twitter.com/dbcolmenaresp

https://www.instagram.com/dcolmenaresuna/

https://www.youtube.com/channel/UCpTCpgQm3FKkmbZpYtzXzAg

https://www.facebook.com/groups/1850252368388043/

https://github.com/dbcolmenaresp

No hay comentarios:

Publicar un comentario

316 MICROPROCESADORES

 Buen día, bienvenidos a esta interesante asignatura relacionada con el conocimiento y manejo práctico de los Microprocesadores, el elemento...