Portafolio Programación en Assembler

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Portafolio del Curso CC3005

Josué Rendón Estrada Carnet: 08168 Sección 10 20 de noviembre de 2009

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Tabla de Contenido
• Introducción • Programa del Curso • Trabajos realizados por el estudiante durante el curso o Exámenes Escritos  Examen Escrito 1  Examen Escrito 2  Examen Escrito 3  Examen Escrito 4  Análisis: Exámenes Escritos o Proyectos  Proyecto 1: Juego Box World  Proyecto 2: Hoja de Cálculo  Proyecto 3: Multi-tarea  Análisis: Proyectos o Investigación  Programas Residentes en Lenguaje Ensamblador  Análisis: Investigación o Laboratorios  Instrucciones de Laboratorios 2,5,8 y 10  Análisis: Laboratorios o Actividades de Participación  Actividad de Participación 1  Actividad de Participación 3  Análisis: Actividad de Participación 1 • Conclusiones o Conclusiones del Curso o Bibliografía

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Introducción
El portafolio académico es una recopilación de los trabajos, proyectos, exámenes y demás tareas que un estudiante realizó durante un determinado tiempo de estudio. Más que un archivo de documentos es una herramienta de gran utilidad para observar las fortalezas, amenazas, debilidad y oportunidades del estudiante a través de un periodo determinado. En este documento se encuentran los trabajos realizados por el estudiante Josué Rendón Estrada de la sección 10 del curso CC3005 Programación en Assembler. A través de estas hojas se observará el avance del estudiante durante el ciclo estudiantil, ya que se incluyen todos los exámenes escritos, proyectos, la investigación, algunos laboratorios y algunas actividades de participación. Cada sección mencionada incluye comentarios, observaciones, auto evaluaciones y recomendaciones. Esta es la segunda vez que el autor realiza un portafolio académico con el contenido de un curso de Ciencias de la Computación. El último portafolio realizado sirvió como una reflexión y auto-desafío, pensamientos que fueron determinantes en la toma de decisiones para este curso, como el no faltar a clase, poner toda la atención y anotar, y no dejar los proyectos y tareas a última hora. computación. Se espera que la realización de este portafolio también sirva para mejorar el rendimiento del autor en el siguiente curso de

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Análisis: Exámenes Escritos
Comentarios y reflexiones
Los exámenes escritos son muy importantes ya que son una forma de demostrar el conocimiento del estudiante. En un curso como Programación en Assembler, es sumamente importante conocer la teoría al píe de la letra, y fue muy evidente, ya que la mayoría de problemas en laboratorios y proyectos eran conceptuales. Estos exámenes contenían gran parte práctica, como corregir programas con rutinas invalidas, escribir el pseudo-código de un algoritmo o explicar como funcionaba algún trabajo realizado anteriormente. Considero que eso está muy bien, ya que esa es la única forma de saber si un concepto fue entendido o solamente memorizado mecánicamente.

Resultados
En total hubo 4 exámenes escritos, cuyas calificaciones fueron 71, 63.5, 56 y 75 puntos. A continuación una gráfica de las calificaciones:

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Autoevaluación
Tengo en mi conciencia que durante el curso si estudié y me preparé para todos los exámenes escritos que realicé. En el caso de los exámenes considero que es más importante aprender que sacar una nota (ya que muchas veces se obtiene una buena nota en un examen y talvez no se aprendió nada, como el caso de los que memorizan mecánicamente), por lo que estoy satisfecho con mi trabajo realizado en ellos. Puedo asegurar que aprendí lo que era necesario aprender, y todo se ve reflejado en la práctica: laboratorios y proyectos Las notas del primer y último examen escrito (71 y 75, respectivamente) son bastante aceptables. No hay nada que discutir, a excepción que los errores cometidos fueron en enunciados donde se exigía una respuesta de sintaxis, la cual debía ser aprendida de memoria. En el segundo examen escrito, donde saqué 63.5, se vio una diferencia en el resultado respecto al examen anterior. Los errores cometidos en esta segunda evaluación fueron debido a la falta de habilidad de memorización. Los enunciados que respondí erróneamente, los cuales equivalían casi a 25 puntos del examen, trataban de escribir la sintaxis de ciertos operadores booleanos y aritméticos, algo que no se me quedó de memoria (mi memoria es pésima), pero si conocía la lógica de su funcionamiento. En el tercer examen escrito, el cual resultó con la nota más baja (56 puntos), perdí casi 20 puntos por responder erróneamente las preguntas que trataban de las exposiciones de mis compañeros (aquellas investigaciones realizadas en tríos). El error fue mío, ya que subestimé dichas enseñanzas, y nos les presté la suficiente atención al momento de estudiar. La mayoría del resto del contenido está bien contestado.

Críticas, gustos y disgustos
No me pareció que la mayoría de enunciados que tuve malos en los exámenes escritos exigían la memorización de sintaxis. Considero que no es necesario conocer de memoria la sintaxis de los operadores, ya que existen cientos de tutoriales al alcance de un clic en Internet; pero si es necesario conocer la lógica del operador y su funcionalidad. A pesar de eso, me pareció muy acertado que la gran parte de los exámenes era enunciados de ejercicios prácticos, que considero es la mejor forma de evaluar conocimientos.

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Análisis: Proyectos
Comentarios y reflexiones
Los proyectos y aplicaciones son la parte más importante del Es aquí donde el estudiante realmente aprende a profundidad, ya que retiene mejor la información cuando interactúa con ella. Durante siglos hemos visto que muchos de los proyectos que hacen millonarios a personas y las aplicaciones donde se descubren cosas que cambian al mundo entero, han sido fruto de un proyecto académico.

Resultados
Durante todo el curso, realizamos tres proyectos: • • • El Juego (en mi caso Box World), realizado junto al compañero Ernesto Rodríguez. En este primer proyecto obtuve 79.5 puntos de calificación. La Hoja de Cálculo, también realizado junto al compañero Ernesto Rodríguez. En este segundo proyecto obtuve 89 puntos de calificación La práctica de Multi-Tasking, tercer proyecto que estuve realizando junto al compañero Hans Noak durante la entrega de este portafolio, por lo que no hay documentación del mismo.

A continuación se presenta una gráfica con las calificaciones de los proyectos:

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Autoevaluación
Durante los dos primeros proyectos realicé un trabajo en equipo espectacular junto al compañero Ernesto Rodríguez. Creo que llegamos entender bien nuestra modalidad de trabajo. Antes de iniciar a programar cada proyecto, acordamos una forma de pensar, la cual se basó en lo que creímos lógico y correcto: elaborar primero lo que la rúbrica de los proyectos exigía, sin enfocarnos demasiado en que “se viera extremadamente bonito”, y cuando termináramos esto proceder a “embellecerlo”. Y así lo hicimos. En ambos proyectos tuvimos el tiempo para hacerlo funcional y que cumpliera todos los aspectos de la rúbrica. Sin embargo no dio tiempo de volverlo “bello” Al parecer, esta forma de trabajo no aplica en este curso, porque a mi criterio no obtuvimos la nota que merecía un trabajo que cumplía exactamente lo que la rúbrica exigía. Durante el tercer proyecto trabajé junto a Hans Noak. Como se mencionó, este estaba en desarrollo durante la entrega de este documento, pero a menos de una semana del día de entrega puedo evaluar mi trabajo. Me costó muchísimo trabajar en equipo junto a Hans, ya que yo jamás le había hablado a él. No me quejo de eso, porque estoy consciente que la vida real es así, pero hago notar que debo mejorar mis habilidades para trabajar con desconocidos. A pesar de todo estoy satisfecho, porque en los tres proyectos aprendí mucho más de lo que pude haber aprendido en clase o a la hora de estudiar para los exámenes escritos, hecho que se aplica en cualquier curso o incluso en cualquier acción en la vida.

Críticas, gustos y disgustos
Personalmente me gustó elaborar estos proyectos, en especial el primero y el segundo, (el tercero estuvo más difícil). Considero que la elección de estos proyectos es la ideal, ya que en cada uno podemos practicar todo lo aprendido en clase. No me gustó para nada el hecho que durante el primer proyecto no obtuvimos la nota que considero merecía un trabajo que cumplía exactamente lo que la rúbrica exigía. Perdimos 15 puntos en la calificación de Interfaz gráfica, por estas razones descritas por la catedrática en la hoja de notas: “Modo texto. Juego muy sencillo, interfaz para jugar demasiado pequeña, no se observaba el juego. Solo avisa que ganó”. Sin embargo nosotros realizamos todo lo que la rúbrica exigía y permitía realizar. Talvez fuimos calificados siendo comparados con otros compañeros que realizaron excelentes trabajos, muy vistosos y elaborados.

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Análisis: Investigación
Comentarios y reflexiones
La investigación es vital en un estudiante universitario. Creo que esta iniciativa es más que buena. La auto enseñanza siempre es efectiva. Creo que se deberían hacer más de estas.

Resultados
La investigación de “Programas residentes en Lenguaje ensamblador” fue realizada junto a Luis Monteros y Hugo Chinchilla. Obtuve una nota de 83.25 puntos.

Autoevaluación
Recordemos que el 60% de la nota es el trabajo escrito (nota grupal), y 40% la exposición (nota individual). A pesar de la nota aceptable (83.25 puntos), creo que pude haber obtenido una mejor. A pesar que trabajarnos parejamente, obtuve la nota más baja del trío. La razón fue que me bajaron puntos por “dominio del tema”. Creo saber la razón. Por alguna razón, me pongo muy nervioso al momento de exponer un tema que acabo de conocer y el cual jamás he practicado con constancia. Entonces al momento de la exposición me puse muy nervioso. Recuerdo claramente que sucedió. Estaba exponiendo mi parte, las características de un programa residente, y olvidé algunos puntos que tenía que decir. Por insensato no llevé conmigo una copia en papel y no tuve opción que decir “no me recuerdo”, ya que tratar de ocultar la realidad hubiese sido peor. Supongo que eso fue tomado como la falta de dominio del tema. Sin duda el error fue mío, y eso me motiva a estudiar y practicar mejor un tema antes de exponerlo, y por supuesto llevar una copia en papel para respaldo en caso que olvide lo que tengo que decir.

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Análisis: Laboratorios
Comentarios y reflexiones
Los laboratorios ayudan al estudiante a poner en práctica lo aprendido en clase. Es de suma importancia que el estudiante lo haga. Como cualquier curso científico, la práctica es la que le enseña al estudiante. Además es importante hacerlas para conocer cuales temas no se dominan al 100% y para resolver dudas.

Resultados
En total hubo 8 laboratorios, cuyas calificaciones fueron 100, 92, 100,100, 100, 96, 20 y 85 puntos. A continuación una gráfica de las calificaciones:

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Autoevaluación
En general puedo decir que los laboratorios me sirvieron muchísimo para aplicar y entender más todo lo aprendido en clase. Creo que la frecuencia de trabajo (casi uno por semana, contando actividades de participación) es la ideal. A continuación se presenta un análisis de 4 de los 8 laboratorios: el 2, 5, 7 y 8. • Laboratorio 2: Obtuve 92 en la calificación. Recordemos, este laboratorio contenía una parte de preguntas y otras de programación. Toda la parte de programación la tuve buena, pero fallé en las preguntas (usar el debugger). Laboratorio 5: Obtuve 100 como en la calificación. Seguí todas las instrucciones al píe de la letra y efectivamente obtuve un buena calificación. Laboratorio 7: Obtuve 20 puntos en la calificación. Fue la peor nota de laboratorios, de hecho fue la única baja. El tema evaluado, manejo de cadenas, fue talvez el que menos entendí y más me costó aplicar. Incluso en el proyecto 2, donde se utilizó esto, tuve problema al usarlo. Nota merecida. Debí haberle dedicado más tiempo, incluso al pre-laboratorio, el cual intenté hacer pero no me salió y decidí no entregar nada. Laboratorio 8: Obtuve 85 puntos en la calificación. Fue un trabajo realizado junto a Ernesto Rodríguez. Pude dominar efectivamente el tema y efectivamente obtuvimos una buena calificación.

• •

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Análisis: Actividades de Participación
Comentarios y reflexiones
Las actividades de participación juegan un papel importante en el desarrollo del curso. Son como laboratorios, pero con la variante de que se trabaja en grupo. Prácticamente están diseñadas para que cada miembro del grupo realice una bloque del programa y luego se una en un solo programa. Estas actividades son sumamente importante porque son una especie de entrenamiento para los proyectos, para aprender a trabajar en conjunto: compartir ideas, repartirse el trabajo, etc.

Resultados
En total hubo 4 actividades de participación, cuyas calificaciones fueron 93, 85, 96 y 100 puntos. A continuación una gráfica de las calificaciones:

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Autoevaluación
En general puedo decir que tuve un buen desempeño en las 4 actividades de participación. En algunas me tocó un trabajo difícil, en otras un trabajo fácil, hecho que sucede siempre en la vida real. A continuación se presenta un análisis de la Actividad de participación 1 y 3: • Actividad de participación 1: Fue la primera actividad en general que hicimos en todo el curso. El tema tratado fue un pequeño repaso al curso de Organización de las Computadoras y una introducción al actual curso. El sistema de evaluación fue muy inusual, creativo y dinámico, donde por lapsos de tiempo nos turnábamos funciones con los miembros del grupo. Mientras uno leía, el otro resumía y el otro hacía otra cosa. Muy buena actividad. Fue una excelente iniciativa hacer un repaso de la maquina virtual LC-3, así como una introducción para conocer el procesador Intel 80x86. Aprendí muchísimo, prácticamente la base para todo el curso. Decidí dar un buen paso desde el principio. Actividad de participación 3: Fue una actividad un poco más tradicional. Analizamos un programa que ya estaba creado para luego modificarlo. Me tocó la parte fácil del programa, la cual realicé en poco tiempo y logré integrarla con los bloques del programa de mis compañeros.

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Conclusiones del Curso
Entre los objetivos del curso observamos: Qué el estudiante: Comprenda la importancia del lenguaje ensamblador, adquiera conceptos básicos del lenguaje ensamblador y de máquina, entienda el funcionamiento interno del software computacional, utilice el lenguaje ensamblador en el desarrollo de aplicaciones, consolide la lógica de programación y solución de problemas. Sin duda los objetivos fueron cumplidos. A diferencia de mucha gente, el curso de Programación en Assembler me pareció bastante interesante. Comprendí que actualmente se puede y debe hacer mucho en el lenguaje ensamblador, y aunque utilizamos un procesador de hace 20 años (Intel 80x86), logramos los objetivos del curso. Cabe mencionar ciertas mejorías que el estudiante tuvo respecto al curso predecesor (Organización de las Computadoras), y que en cuyo portafolio documentó algunas metas que se cumplieron durante el curso: • • • • No faltar a clase. El estudiante no faltó a ninguna clase magistral. Poner atención en clase y preguntar todas las dudas. No dejar las cosas a última hora, tanto estudiar para los exámenes como proyectos. Entregar todos los trabajos exigidos.

Respecto al estudiante podemos notar varias cosas positivas: • Su rendimiento fue muy efectivo y constante durante todo el curso • Los laboratorios le sirvieron muchísimo para complementar lo aprendido en clase. • La realización de proyectos fue efectiva y satisfactoria. También podemos notar varias cosas negativas: • • • • Memorizar sintaxis no es su fuerte. No le dio mucha importancia a las exposiciones de sus compañeros. Le cuesta trabajar en equipo con gente que no conoce. Le cuesta exponer temas que no están 100% dominados.

Los anteriores factores, que fueron descubiertos gracias a la elaboración de este portafolio, hicieron que el estudiante reflexionara ciertas cosas: • Si uno se determina a hacer bien las cosas, lo logrará. • Estudiar con tiempo da su fruto. Debo mejorar mis habilidades de memorización. • Debo aprender a trabajar en equipo a pesar de no conocer a los compañeros, ya que en la vida real así son las cosas. • Cuando un compañero exponga debo poner total atención y estudiar esos temas. • Antes de exponer un tema debo corroborar que esté 100% dominado, practicarlo y

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

no ponerme nervioso.

Universidad del Valle de Guatemala Facultad de Ingeniería Departamento de Ciencias de la Computación CC3005 Proramación en Assembler Semestre 2 de 2009

Bibliografía
• NARANJO, M. 2009. Contenido del curso CC3005 Programación en Assembler. Universidad del Valle de Guatemala. Guatemala. • DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION. 2009. Programa del curso CC3005 Programación en Assembler. Universidad del Valle de Guatemala. • ABEL, P. Lenguaje Ensamblador y programación para PC IBM y compatibles. Tercera edición. Editorial Pearson Education.

Sign up to vote on this title
UsefulNot useful