Lista de videos de la metodologia de la programacion
Tercera interpretacion de las clases de metodologia de la programacion por Meheran.
0.25
-Profesor Meharan comienza dando un breve resumen del programa Karel y sus funciones.
-Explica como todos archivos donde fueron implementado los codigos del programa Karel terminan en .java
-Karel esta implemtado en Java
-El profesor Meharan imita a un estudiante diciendo, "hey se algo de Java, puedo trabajar con el programa?"
-luego, responde que no, lo unico se se usaran son las funciones o firmas predterminadas en el programa.
*El programa de Karel es un programa creado exclusivamente por los estudiantes y profesores de Stanford, y por lo mismo se encuentra en el eclipse modificado para la misma universidad.
-El profesor Meharan continua explicando que lo aprendido en Karel es solo la introduccion a la metodologia de programacion, y ya la proxima semana comenzaran a ver el contenido principal, despidiendose asi de Karel, quien a su vez donosamente simula la despedida del programa.
1.09
-El profesor continua diciendo que si conocen de Java o programacion, por lo momentos solo enfoquence en lo aprendido de Karel, que todo lo que se conoce de Java sera enseñado
-Alguna pregunta antes de comenzar algo nuevo?
-un estudiante le pregunta sobre el programa de Karel.
-Como se detiene el objeto, o Karel, luego de terminar su funcion?
-El profesor responde que se cierre la ventana, el programa esta diseñado para que cuando termine su funcion el usuario detenga el programa cerrando la ventana.
*o todavia no han implemantado una funcion que cierre el prgrama sin afectar la ventana.
-Luego el profesor atribuye esa pregunta para comenzar el tema sobre los errores comunes.
2.03
-los errores comunes son todos aquellos que uno se encuentra cuando amenudo.
-Asimismo le pregunta a los estudiantes sobre las indicaciones de un producto de limpieza.
-Cuantos aqui han leido las indicaciones de un Shampoo, que estan detras de este?
-el profesor se sorprende al ver que mucha gente alzo la mano, respondiendoles en su caracteristico modo ligero y donoso que deberian salir un poco mas.
-los estudiantes reian.
-Luego el profesor va al punto escribiendo en la pizarra los pasos a seguir, ejemplificando los pasos a seguir de quellos que usan el shampoo.
-Escribe, que los pasos son: Enjuaga, enjabona, repite.
-Deduse que si se escucharian o acatarian las ordenes o pasos como se han predeterminado, nadie saliera de sus baños.
-Esta conotacion significa un loop infinito o un ciclo infinito.
3.13
-El profesor luego empieza a escribir algunos codigos referentes al programa Karel que son :
// while(frontIsClear())
// {
// turnLeft();
// }
*Que significa: sige calculando hasta que el frente este libre, sino entonces cruza hacia la izquierda.
-Pregunta entonces: que pasaria si esta cerrado?
-Se encontraria, o nos encontrariamos en un "loop infinito"
-Por lo mismo nos encontramos con un error comun, donde el sintaxis, la forma de escribirlo esta bien pero la logica no.
4.29
-Con su personalidad jocosa el profesor Meharan comenta sobre un comercial donde presentaban un procesador que podia resolver esos loops infinitos en 2.9segundos, continuando que si, pues el prosesador tenia un defecto que se sobrecalentaba demaciado y se fundia, validando el comercial, ya que el loop infinito era detenido cuando se fundia el procesador.
-Los estudiantes reian.
5.19
-Otro de los errores comunes que nos encontramos en cada programa se trata del "por un solo bicho" que no arranca el programa o no da el resultado deseado. en Inlges, "Off by one bug" o coro por "OBOB"
-OBOB significa que el programador se le olvido o no vio logicamente el paso siguiente para dar con el resultado.
6.00
-El profesor presenta un escenario donde el programa tiene un OBOB
-El escenario es el siguiente: imaginese 5 pasos y en el 5to se encuentra una pared, el metodo esta diseñado para parar en el paso donde se encuentra la pared, pero el metodo esta escrito que LUEGO de pasar por ese paso se DESCARGA un objeto, lo que no terminara la funcion, ya que tiene un OBOB, o un BICHO o BUG logico.
-En este caso el estudiante tiene que analizar todo tipo de escenario antes de que se encuentre con este, o trabajar mientras se encuentran los errores.
*unas de las caracteristicas de los programadores profesionales es la del pensar mucho e investigar mucho antes del empezar a copiar metodos y codigos esporadicamente, el presentar un plan y un flowchart.
-El problema en este caso es sencillo, crear una especie de opcion en el metodo donde cada vez que se presente una situacion donde se llega al final, se pueda luego depositar el objeto y terminar asi la funcion deseada.
*Claro, la programacion es arte y cada quien tiene su tipo de programar dado el resultado deseado, pero en compañias o en el area laboral se siguen algunas relgas especificas como la del organizar nitidamente el programa o el comentar en los codigos para que la gente que este contratada para seguir actualizando el programa sepa que hacer y porque.
7.41
-Asi como el profesor Meharan explica los problemas comunes tambien llega a la funcionabilidad de los comentarios y el como se crean.
-Los comentarios como descritos anteriormente ayudan al programador a ver que funcion tiene el codigo escrito y se crean usando este tipo de simbologia.
// para comentarios de una linea
/* */ para comentario de parrafo, donde se abre con /* y se cierra con */
9.00
-Algunos estudiantes verifican lo aprendido, como el poner los comentarios en los metodos para saber que hace el metodo.
10.23
-*Otra funcion de los comentarios, ejemplificada en el programa de Karel y de los ejercicios que tiene todo estudiante que hacer para aprender a usar estos metodos simples y el como maquinar, logicamente los resultados y el ver como se reusan los metodos para no crear tanta basura ni que sea facil que una fuerza externa, como los hackers, entiendan el programa facilmente y lo modifique y te modifique el programa y se pierda todo lo creado y trabajado, es el de simplificar todos los metodos y rehusarlos exageradamente solo para la funcion deseada.
*esto se aprendera con el tiempo, por los momentos se tiene que hacer los programas como se les manda, aprender de estos y luego de terminado, asimismo mandan las indicaciones, jugar un poco con otro tipo de soluciones, ya que el tiempo para crear un programa, asi como lo mandan el clase varia por medio de la educacion, diciplina e ingenio que uno tenga al programar y a las fuerzas abstractas de la mente logica y cientifica. Un trabajo para todos, pero con mucho magnetismo para aquellos que les encanta la matematica o cualquier otro tipo de habilidad de las ciencia fisica o quimicas de nuestro progreso hacia la tecnologia.
-Los comentarios son escencialmente descripciones de los que no esta implicitamente descrito en el programa, ademas de su descripcion.
12.44
-Una de las tareas del programador antes de trabajar en el programa es el dscomponer todas las funciones del programa en partes y el trabajar luego por separado en cada una de esta, para luego y ir uniendolas y trabajando en la funcion en general.
-El profesor Meharan explica con un ejemplo comun, el de como se llego a la clase. Ejemplifica la vida de un estudiante diciendo de que primero este se despierta, se baña, come, camina o oma el bus y luego entra a clase, cada una de esas funciones tienen sus metodos y codigos para llegar a la clase o resultado, entonces uno como programador tiene que ver lo MACRO y lo MICRO de cada programa, por union o individualmente, buscando siempre el codigo escencial en cada funcion.
-Esta serie de planes se llama "Pasos sabios de refinamiento", o en ingles, "Stepwise refinement" y significa que cada accion tiene sus metodos, y que cada metodo tiene su funcion, y que cada funcion tiene sus variables, o llama a otros metodos, grabando o no la informacion segun el tipo de sus metodos, cuales esta los "Mutadores" o en ingles los "Mutators" como los "accesadores" o en ingles los "Accesors".
*Los mutadores generan informacion y dan una respuesta.
*Los Acesadores generan su funcion y ayudan a los mutadores a dar respuesta.
-Las funciones mas basicas de un metodo son llamadas las funciones primitiva, aquellas que son usadas para la implementacion del metodo.
*Como por ejemplo en un metodo de agarrar algo, el los codigos escritos que hacen que este metodo agarre algo.
17.49
-Para realizar un programa el profesor Meharan explica los que es la "Descompocision" del programa, el descomponer el programa en varias partes.
-Luego habla sobre "El diseño de arriba hacia abajo" o en ingles, "Top Down design" que significa el trabajar en el programa de sus funciones principales a sus funciones especificas.
-Como lo contrario, que se llama "Diseño de abajo hacia arriba" que significa el trabajar desde las funciones espeficicas hacia las mas generales.
-El profesor Meharan explica tambien el nivel de preparacion que un estudiante necesita para trabajar con las formas de Descomponer el programa y dice que los principiantes comienzan a descomponer el programa de arriba hacia abajo y luego por su nivel de competencia llega a trabajar de abajo hacia arriba. pero en si es relativo dado el nivel de comprencion del estudiante, lo que si es cierto es que se ha demostrado bajo estadisticas que los estdiantes se tardan 100horas en pasar de arriba abajo a abajo arriba.
19.29
-El profesor Meharan invita a los estudiantes a crean un programa diseñado de arriba hacia abajo.
-Para este ejercicio el Profesor demuestra nuevamente el programa de Karel cuyo proposito esta vez es el de duplicar el numero de objetos que se encuentre en la via.
-En el programa la primera fila tiene una casilla que tiene 5 objetos y nada mas. El ejercicio debe de terminar con el doble de objetos en la misma casilla, osea que 10 objetos en la misma casilla.
-Para eso uno debe de programar a Karel con la funcion de hacer lo pedido y este metodo se denomina como el algoritmo de aquella funcion, el crean una funcion que calcule y opere un fin numero de datos para dar un resultado esperado, bajo las especificaciones del programa y esto se prepara con otro sin numero de pruebas o ejemplos, primero sencillas, y luego un poco mas complejas, para ver si el programa responde con los resultados esperados, y asi luego y perfeccionando su simplicitud y practicidad.
-En terminos de computacion el algoritmo significa el acercamiento a la respuesta especifica trabajando con la metodo del resolver los problemas de arriba a abajo, o de en general hacia lo mas complejo y detallado.
22.00
-El profesor Meharan usa este programa de Karel y comienza con una clase que extiende la clase original de Karel en la que le define o extiende algunos metodos espeficicos para la elaboracion de la funcion predeterminada que desea el operador que haga el programa.
-En esta clase el profesor Meharan crea unos metodos especificos a la funcion que quiere extenderle al programa de Karel.
-usa el metodo "run" para que Karel se mueva como uno quiera y dentro de este las funciones que uno quiere qu Karel haga si se encuentra algo definidos con otros metodos.
-Estos otros metodos son el de "tomar" o "agarrar" los objetos o "beepers", el otro es el de "retroceder" luego de encontrado el fin de la fila y llegar al comienzo, y el ultimo es el de "duplicar" los objetos en el mismo lugar donde fueron encontrados.
-Para esta serie de problemas el programador debe de emplear una serie de algoritmos que, el programa, u objeto en este caso llamado Karel, tiene que hacer para satisfaccer las demandas del ejercicio.
-El como hacer eso depende de cada estudiante, de su logica y del como resuelve los problemas generales de forma abstracta, con esto un por eso comienza de los mas elemental hacia lo mas espeficico, de arriba a abajo.
-Y el saber muy bien las limitaciones del ejercicio y la forma de ensamblar las piezas del rompecabezas, puesto que la programacion en cierto caso es eso, el armar un rompecabezas y ver el dibujo terminado, o la funcion del programa satisfecha.
27.00
-El profesor Meharan hace incapie en que los programas u objetos mas efectivos son los que no recuerdan nada sino que colocan momentaneamente los resultados de un lugar predeterminado a otros, y mientras mas cerca y rapido sea ese lugar o memoria, mejor, ya que asi no podra ser tan facilmente decubierto por hackeadores que modifican o roban informacion.
-En ese ejemplo el profesor Meharan le recuerda a los estudiantes a que el objeto o Karel no sabe contar, asi que no lo programen como contador sino como administrador, el que mueve las cosas de un lado a otro segun sus funciones y el que hace una serie de algoritmo o cumputaciones simples, pero no de memoria pues no tiene memoria.
-Por ejemplo, un estudiante le pregunta que si Karel puede grabar el numero de "beepers" en si o crear una funcion que asi lo haga, y este responde que Karel no graba informacion, pues solo genera "beeper" son infinitos y infinito mas lo que se le ponga seguira siendo infinito, y que mejor que crear una funcion que grabe y sea facilmente modificada por otra persona es el dejar el resultado cerca, en una especie de momentum, pseudo memoria donde se grabe, pero no en ninguna variable u objeto especifico al menos sea predeterminado en el ejercicio.
-Por lo mismo este programa o ejercicio hace incapie en que Karel haga el proceso de duplicar los "beepers" de una celda a la sigiente de forma separada hasta no encontrar mas "beepers" y haber luego duplicado la cantidad para luego ponerlos todos en el sitio donde encontro la mitad de los "beepers" paso por paso, funcion a funcion.
-Primero agarra un "beeper" y se mueve a la celda siguiente y pone luego dos en esta, luego retrocede al mismo sitio y si ve un "beeper" mas, hace la misma tarea hasta no encontrar mas "beepers" para luego agarrar el bloque de los "beepers" duplicado y colocarlos en el mismo sitio poniendo uno a otro, agarrando un "beeper" de la celda siguente a la anterior hasta el no encontrar mas "beepers" y asi terminar la funcion y devolverse al lugar donde comenzo.
34.00
-El profesor Meharan explica la importancia del como documentar los programas con un ejemplo mal hecho donde el codigo no tiene comentario ni esta dividido en metodos, separados por secciones ni tiene la funcion escrita de cada metodo ni nada de eso, diciendo que en el area profecional un comienza un codigo o un programa y que uno se puede saber todo al respecto pero cuando llega otra persona que no sabe lo que pasa y ya uno esta trabajando en otro codigo entonces se les es dificil decifrar el codigo, perdiendo asi tiempo y esfuerzo en algo es un deber del que programa.
38.00
-El profesor Meharan explica los principios de la "Descompocision":
*resuelve un problema por paso.
*Puede tener de 1 a 15 lineas de codigo, dependiendo de su funcion y su dependencia entre otros metodos o clase, solamente para diferenciarlo de los demas.
*Tiene nombres especificos a la funcion que se va ha hacer.
*Llevan comentarios.
43.00
-El profesor hablar sobre el ejercicio que le deja a los estudiantes donde Karel se encuentra con una serie de escenarios en los cuales este(Karel) encuentra un "beeper" y lo recoje o desaparece, celda por celda por cada columna que tenga el escenario.
-El problema principal es el recojer los "beepers" el secundario es el de pasar por las columnas y el final es el saber detenerse.
-Entonces el profesor Meharan explica como Karel primero ver si tiene un "beeper que recoger para recogerlo y luego crea un "loop" mientras se mueve para ver si ha llegado al limite de esa columna, luego Karel ve si tiene el techo, lo que significa que el escenario ha terminado, sino da una vuela de 180 grados y sigue su funcion hasta el limite de la columna donde revisara la funcion de forma negativa o complementaria, revisando si el techo, o en este caso el "no" techo esta presente para continuar, hasta encontrarlo y terminar.
Lecciones semanales de tecnologia. Ejemplo: Java, Linux, Javascript, Sql, ect.
Tuesday, July 9, 2013
Wednesday, July 3, 2013
Interpretacion de la clase de programacion metodologica 02
Lista de videos de la metodologia de la programacion
Segunda interpretacion de las clases de metodologia de la programacion por Meheran.
0.0min
-El profesor comienza la clase presentando a su hijo como introduccion graciosa para hablar de Karel. el programa del java.
-El profesor habla sobre algunos requerimientos del como entregar el trabajo, uno, fisico para escribirles comentario y otro electronico, para correr el programa.
-Habla tambien sobre la lectura del la seccion llamada Karel, el robot.
4.0min
-Habla sobre el vocabulario de Karel, sus 4 comando que entiende Karel.
-move
-turnLeft
-pickBeeper
-putBeeper
-Meharan alegra un poco los comentarios al hablar jocosamente de las acciones que puede hacer el programa dado sus comandos.
7.0min
-Comienza el programa en el programa de eclime editado por stanfor.
8.43min
-Escribe las acciones que debe de hacer el robot de forma visual, de la forma escrita para luego transladarlo al lenguaje de programacion.
-Esto se llama un algoritmo, una receta, el escribir las acciones para luego trasladarla al lenguaje de programacion.
-El programa de karel trabaja de forma "interfase" una interfase es una parte del programa que interactua con el programa y por medio de sus metodos define las acciones a tomar.
-Por ejemplo, en el programa de Karel, la interface ordena al robo, o al programa, a hacer lo que el usuario quiere qe haga el programa o el robot. el robot en este caso es una imagen, un obejeto predisennado, un nodo, o un simple objeto que tiene una imagen, esta cordinado dentro de un objeto que tiene las dimensiones espeficicas, llamado entorno o panel, cuyo objeto tambien interactua con el objeto que movemmos, llamado Kerel.
-Este robot, o objeto llamado Karel tiene solo 4 funciones, las de arriba, y cada vez que encuentra un dato, sea el que este predeterminado a encontrar, este obejeto lo analiza por medio de sus metodos implicitos y por medio de estos es que podemos, nosotros, colocar nuestros metodos explicitos y asi, continuar el objetivo planteado.
-La interaccion entre los comandos explicitos que le damos al robot por medio de la interfase y los metodos implicitos del programa prefabricado, hacen que podamos entender el como contruir metodos y el como pensar de forma metodologica acerca de la creacion interactiva de la programacio, ya que su principal funcion es la del recojer datos, analizarlos, y expresarlos de forma visual o electronica(codigos o numeros, dependiendo del uso y secreto).
-Esta interaccion nos da una sennal que debemos aprender durante nuestra carrera como programador, y esta es el como manejar y el recojer datos, el como manejar programas a nuestro comando y el como llegar al resultado de una forma eficiente y totalmente compacta, usando el minimo comando de metodos para asi proteger al programa de intrusos o saboteadores.
11.38min
-Lo anterior funciona tambien el un programa que se haga usando una interfase. pero lo que este programa hace es tomar el programa original y extenderla, haciendo una inheretance, al programa que se esta haciendo.
-Una extension o inheretance, es como dice la palabra una extension o herencia que pasa de un programa a otro y este recibe o hereda todos los comando del programa original, mas los nuevos que se puedan hacer.
-Por lo mismo ya el programa original tenia un metodo llamado "run" que significa "correr" o "comenzarlo" y dentro de este uno coloca lo 4 comando heredados del programa origina Karel.
-Un ejemplo de la "inheretance" o del "heredar" es el siguiente: uno crea una maquina que haga un determinado tipo de circulos, pero a uno de los circulos le colocas un palito extra o lo pintas, el circulo tiene las misma propiedades principales que las los demas circulos con otro tipo de propiedades extra que uno le ponga. de eso se trata el "heredar" o "extend" un programa a otro sub-programa, ya que el sub-programa tiene los mismo metodos o comandos, mas los adicionales que se le pongan.
15.55min
-Uno de los requerimientos esteticos de un buen programador se trata del crear un codigo leible y visiblemente limpio para que los siguientes programadores o uno mismo pueda con facilidad leer el codigo, entender su objetivo y el realizar cambio segun el nuevo requerimiento, todo esto se tiene que documentar de una forma simple y eficiente usando frases conocidas.
-Un ejemplo del como comentar en Java es:
//metodo para mover el objeto
usando el "//" y luego colocando el comentario.
-Hay varios tipos de formas como colocar metodos. esta el "/* */" que abre y cierra un espacio para comentar. cuidado con no cerrarlo pues el compiler no sabra cuando se cierra el programa y vera como todo el programa como un comentario sin final.
-El programa Karel viene exclusivamente de la universidad Stanfor, para que los estudiantes estudien, y este programa esta en la libreria del programa Eclipse para stanfor, viene ya implementado en la libreria de Stanfor, pero de lo contrario, si uno quiere hacer un programa y usarlo para asi crear una subclase de este, editarlo sin modificar su contenido y extender su funcion, uno puede guardarlo en la libreria de cualquier programa para programar y luego llamarlo escribiendo su ubicacion.
-Para llamar y crear una subclase del programa, el usuario tiene que ubicar el programa llamandolo desde el inicio del programa que se vaya a hacer, nombrando primero a "import" para importar su contenido, y luego colocando la localizacion del programa deseado.
21.45min
-Le preguntan al profesor Mehran sobre colocar otros comandos, ya que hay 4, y este responde que cuantos uno quiera, pero solo usando estos 4 basicos.
-La programacion no tiene limites, ni tampoco la imaginacion, ni la capacidad logica ni mental de la persona, lo que tiene limitie es la misma discapacidad para renunciar a la accion o hecho querido, pues, el no resolver un problema no significa que no tienes las herramientas para volverlo a hacer, ni tampoco que solo unos tienen ese don y otros no, la capacidad para crear y resolver problemas viene primero de la practica y del error. del tambien saber cuando uno ha perdido y estudiar los errores y comenzar de nuevo, buscando otro camino o el mismo, todo depende de lo que uno busque en realidad.
-El querer ir a la luna hace tanto al astronauta ir como al cientifico y mecanico ayudarlo a ir, como el que atiende a los astronautas para que vayan sin ningun tipo de problemas y asi sucesivamente, o como el que apoya al astronauta, el ir a la luna no significa la tarea de una persona y una persona lo puede hacer y otras no, el ir a la luna significa el trabajo en equipo el saber que funcion hacer y hacerla a su perfeccion o en busca de esta sin presionar o tensarse mucho como para producir un ambiente fragil, negativo y destinado a la destruccion de otras metas de otras personas u organizaciones. por lo mismo, el saber detenerse o el saber buscar las batallas es uno de los principios del lider.
-Claro, la obsesion en cierta forma presiona al movimiento o individuo a la meta, pero tambien la aparta de esta misma. no obstante luego de pensar, dado el privilegio del tiempo en una forma alternativa de resolver algun problema, a veces se encuentra la solucion ya que el ejercicio, tanto mental como corporal, esta acostumbrado al trabajo y este resuelve dado problema por medio de esta misma practica y conocimiento adquirido atraves de la misma practica y trabajo.
-Por supuesto, en circuntancias de tiempo, la agilidad mental y corporal es un reflejo y este los majena quien ha tenido la experiencia para hacerlo.
29.03min
-El profesor Mehran habla filosoficamente sobre la forma de calcular que tenemos aveces cuando nos estamos despertando.
-Dice que en las mannanas comenzamos el dia calculando las operacion que vamos a hacer determinadas por el tiempo que tenemos para llegar a nuestro lugar.
-Primero nos depertamos a una hora determinada, vemos que tenemos un tiempo para el acearnos, vetir y comer, salir y llegar al sitio, pero mediante que nos despertamos, tambien tenemos suennos y aveces la gente quiere dormir un poquito mas, por lo mismo calculan que se puede dejar de hacer para extender el suenno o la pereza y llegar a tiempo al lugar, determinando por supuesto el nivel de requerimiento que necesita el sitio estar, por lo general este ejemplo es para los estudiantes.
-Por lo mismo uno calcula para extender el proceso de dormir y llegar a tiempo al clase. este ejemplo da inicio al una de las herrramientas o metodos que tiene el lenguaje java para agilizar el proceso de un tipo de operacion repetitiva llamado el "for loop" que calcula cuantas veces sea necesario una instruccion hasta llegar a su determinado numero de calculaciones determinada.
-Este "for loop" es un metodo que tiene el siguiente instruccion del: iniciar una variable segun un numero especifico, el verificar por medio de la comparacion, del si la variable es igual o menor que el numero de veces que se necesite iterar o calcular para luego ejecutar cualquier tipo de problema.
-Ejemplo. for(int i = 0; i < 10; i ++){/*comienza la operacion*/}
-Un "foor loop" puede ser modificado al gusto de la instruccion deseada: reducir hasta llegar a cero, y uno puede colocarles los datos tomados del parametro, etc.
34.15min
-Otro tipo del iterar cuantas veces sea necesario para ejecutar una instruccion es el de usar el "while loop".
-El "while loop" itera cuantas veces sea necesario mientras la condicion no sea encontrada. una condicion es una instruccion o metodo que se crea para salirse del metodo ya que ha dado con el resultado deseado o ha terminado con el posible numero de veces deseado. el "while loop" se usa para operaciones donde no se sepan cuantas veces se tiene que iterar. y en el programa de Karel encontramos varias condiciones indispensables para resolver los trabajos y problemas.
-Otra de las formas de comparar condiciones es por el uso del "if"
-El "if statement" da la instruccion del comparar las condiciones y el ver si la condicion ha sido encontrada o no.
-Una de las razones por las cuales se usa el "if statement" es para ver si la condicion NO ha sido encontrada y realizar la instruccion escrita. si NO ha sido encontrada se elabora una instruccion y si ha sido encontrada se hace un "else" como "si no se encuentra, entonces has " que significa "if, else".
-Una condicion if puede tener otras condiciones if como instrucciones para verificar la falta de objetos buscados, el ver si un objeto no tiene nada "null" o si no es un objeto que tenga las mismas variables, etc.
-El profesor Mehran explica el como usar los metodos y sus instrucciones para resolver el problema.
-En este problema el profesor nos desmuestra el como el Karel, dado un ambiente predisennado, tiene que pasar por unos obstaculos hasta llegar al final.
-En el programa se usan varios metodos y la mejor forma del eleborar metodos es primero pensandolos de forma comun, el como los haria uno en la vida real, o el como usar la logica para hacerlos paso por paso.
-Primero sabemos que son 9 obstaculos que se tienen que pasar, entonces se escribe un "for loop" con esta instruccion, luego se tiene que pasar el obstaculo, y el como hacerlos demuestra el grado de logica que le podamos llevar al programa para resolverlo.
-Segundo, el pensar como resolver el primer problema, el que hacer cuando nos encontramos con un obstaculo, luego el que direccion tiene el obstaculo y el como hacer para pasarlo, el cuantas veces nos tenemos que mover para hacerlo y el como hacerlo, que hacer cuando lo pasamos hasta para la cantidad predeterminada.
-Siempre trata de resolver los problemas logicamente, calcular la solucion y luego el implementarlo en la programacion.
Segunda interpretacion de las clases de metodologia de la programacion por Meheran.
0.0min
-El profesor comienza la clase presentando a su hijo como introduccion graciosa para hablar de Karel. el programa del java.
-El profesor habla sobre algunos requerimientos del como entregar el trabajo, uno, fisico para escribirles comentario y otro electronico, para correr el programa.
-Habla tambien sobre la lectura del la seccion llamada Karel, el robot.
4.0min
-Habla sobre el vocabulario de Karel, sus 4 comando que entiende Karel.
-move
-turnLeft
-pickBeeper
-putBeeper
-Meharan alegra un poco los comentarios al hablar jocosamente de las acciones que puede hacer el programa dado sus comandos.
7.0min
-Comienza el programa en el programa de eclime editado por stanfor.
8.43min
-Escribe las acciones que debe de hacer el robot de forma visual, de la forma escrita para luego transladarlo al lenguaje de programacion.
-Esto se llama un algoritmo, una receta, el escribir las acciones para luego trasladarla al lenguaje de programacion.
-El programa de karel trabaja de forma "interfase" una interfase es una parte del programa que interactua con el programa y por medio de sus metodos define las acciones a tomar.
-Por ejemplo, en el programa de Karel, la interface ordena al robo, o al programa, a hacer lo que el usuario quiere qe haga el programa o el robot. el robot en este caso es una imagen, un obejeto predisennado, un nodo, o un simple objeto que tiene una imagen, esta cordinado dentro de un objeto que tiene las dimensiones espeficicas, llamado entorno o panel, cuyo objeto tambien interactua con el objeto que movemmos, llamado Kerel.
-Este robot, o objeto llamado Karel tiene solo 4 funciones, las de arriba, y cada vez que encuentra un dato, sea el que este predeterminado a encontrar, este obejeto lo analiza por medio de sus metodos implicitos y por medio de estos es que podemos, nosotros, colocar nuestros metodos explicitos y asi, continuar el objetivo planteado.
-La interaccion entre los comandos explicitos que le damos al robot por medio de la interfase y los metodos implicitos del programa prefabricado, hacen que podamos entender el como contruir metodos y el como pensar de forma metodologica acerca de la creacion interactiva de la programacio, ya que su principal funcion es la del recojer datos, analizarlos, y expresarlos de forma visual o electronica(codigos o numeros, dependiendo del uso y secreto).
-Esta interaccion nos da una sennal que debemos aprender durante nuestra carrera como programador, y esta es el como manejar y el recojer datos, el como manejar programas a nuestro comando y el como llegar al resultado de una forma eficiente y totalmente compacta, usando el minimo comando de metodos para asi proteger al programa de intrusos o saboteadores.
11.38min
-Lo anterior funciona tambien el un programa que se haga usando una interfase. pero lo que este programa hace es tomar el programa original y extenderla, haciendo una inheretance, al programa que se esta haciendo.
-Una extension o inheretance, es como dice la palabra una extension o herencia que pasa de un programa a otro y este recibe o hereda todos los comando del programa original, mas los nuevos que se puedan hacer.
-Por lo mismo ya el programa original tenia un metodo llamado "run" que significa "correr" o "comenzarlo" y dentro de este uno coloca lo 4 comando heredados del programa origina Karel.
-Un ejemplo de la "inheretance" o del "heredar" es el siguiente: uno crea una maquina que haga un determinado tipo de circulos, pero a uno de los circulos le colocas un palito extra o lo pintas, el circulo tiene las misma propiedades principales que las los demas circulos con otro tipo de propiedades extra que uno le ponga. de eso se trata el "heredar" o "extend" un programa a otro sub-programa, ya que el sub-programa tiene los mismo metodos o comandos, mas los adicionales que se le pongan.
15.55min
-Uno de los requerimientos esteticos de un buen programador se trata del crear un codigo leible y visiblemente limpio para que los siguientes programadores o uno mismo pueda con facilidad leer el codigo, entender su objetivo y el realizar cambio segun el nuevo requerimiento, todo esto se tiene que documentar de una forma simple y eficiente usando frases conocidas.
-Un ejemplo del como comentar en Java es:
//metodo para mover el objeto
usando el "//" y luego colocando el comentario.
-Hay varios tipos de formas como colocar metodos. esta el "/* */" que abre y cierra un espacio para comentar. cuidado con no cerrarlo pues el compiler no sabra cuando se cierra el programa y vera como todo el programa como un comentario sin final.
-El programa Karel viene exclusivamente de la universidad Stanfor, para que los estudiantes estudien, y este programa esta en la libreria del programa Eclipse para stanfor, viene ya implementado en la libreria de Stanfor, pero de lo contrario, si uno quiere hacer un programa y usarlo para asi crear una subclase de este, editarlo sin modificar su contenido y extender su funcion, uno puede guardarlo en la libreria de cualquier programa para programar y luego llamarlo escribiendo su ubicacion.
-Para llamar y crear una subclase del programa, el usuario tiene que ubicar el programa llamandolo desde el inicio del programa que se vaya a hacer, nombrando primero a "import" para importar su contenido, y luego colocando la localizacion del programa deseado.
21.45min
-Le preguntan al profesor Mehran sobre colocar otros comandos, ya que hay 4, y este responde que cuantos uno quiera, pero solo usando estos 4 basicos.
-La programacion no tiene limites, ni tampoco la imaginacion, ni la capacidad logica ni mental de la persona, lo que tiene limitie es la misma discapacidad para renunciar a la accion o hecho querido, pues, el no resolver un problema no significa que no tienes las herramientas para volverlo a hacer, ni tampoco que solo unos tienen ese don y otros no, la capacidad para crear y resolver problemas viene primero de la practica y del error. del tambien saber cuando uno ha perdido y estudiar los errores y comenzar de nuevo, buscando otro camino o el mismo, todo depende de lo que uno busque en realidad.
-El querer ir a la luna hace tanto al astronauta ir como al cientifico y mecanico ayudarlo a ir, como el que atiende a los astronautas para que vayan sin ningun tipo de problemas y asi sucesivamente, o como el que apoya al astronauta, el ir a la luna no significa la tarea de una persona y una persona lo puede hacer y otras no, el ir a la luna significa el trabajo en equipo el saber que funcion hacer y hacerla a su perfeccion o en busca de esta sin presionar o tensarse mucho como para producir un ambiente fragil, negativo y destinado a la destruccion de otras metas de otras personas u organizaciones. por lo mismo, el saber detenerse o el saber buscar las batallas es uno de los principios del lider.
-Claro, la obsesion en cierta forma presiona al movimiento o individuo a la meta, pero tambien la aparta de esta misma. no obstante luego de pensar, dado el privilegio del tiempo en una forma alternativa de resolver algun problema, a veces se encuentra la solucion ya que el ejercicio, tanto mental como corporal, esta acostumbrado al trabajo y este resuelve dado problema por medio de esta misma practica y conocimiento adquirido atraves de la misma practica y trabajo.
-Por supuesto, en circuntancias de tiempo, la agilidad mental y corporal es un reflejo y este los majena quien ha tenido la experiencia para hacerlo.
29.03min
-El profesor Mehran habla filosoficamente sobre la forma de calcular que tenemos aveces cuando nos estamos despertando.
-Dice que en las mannanas comenzamos el dia calculando las operacion que vamos a hacer determinadas por el tiempo que tenemos para llegar a nuestro lugar.
-Primero nos depertamos a una hora determinada, vemos que tenemos un tiempo para el acearnos, vetir y comer, salir y llegar al sitio, pero mediante que nos despertamos, tambien tenemos suennos y aveces la gente quiere dormir un poquito mas, por lo mismo calculan que se puede dejar de hacer para extender el suenno o la pereza y llegar a tiempo al lugar, determinando por supuesto el nivel de requerimiento que necesita el sitio estar, por lo general este ejemplo es para los estudiantes.
-Por lo mismo uno calcula para extender el proceso de dormir y llegar a tiempo al clase. este ejemplo da inicio al una de las herrramientas o metodos que tiene el lenguaje java para agilizar el proceso de un tipo de operacion repetitiva llamado el "for loop" que calcula cuantas veces sea necesario una instruccion hasta llegar a su determinado numero de calculaciones determinada.
-Este "for loop" es un metodo que tiene el siguiente instruccion del: iniciar una variable segun un numero especifico, el verificar por medio de la comparacion, del si la variable es igual o menor que el numero de veces que se necesite iterar o calcular para luego ejecutar cualquier tipo de problema.
-Ejemplo. for(int i = 0; i < 10; i ++){/*comienza la operacion*/}
-Un "foor loop" puede ser modificado al gusto de la instruccion deseada: reducir hasta llegar a cero, y uno puede colocarles los datos tomados del parametro, etc.
34.15min
-Otro tipo del iterar cuantas veces sea necesario para ejecutar una instruccion es el de usar el "while loop".
-El "while loop" itera cuantas veces sea necesario mientras la condicion no sea encontrada. una condicion es una instruccion o metodo que se crea para salirse del metodo ya que ha dado con el resultado deseado o ha terminado con el posible numero de veces deseado. el "while loop" se usa para operaciones donde no se sepan cuantas veces se tiene que iterar. y en el programa de Karel encontramos varias condiciones indispensables para resolver los trabajos y problemas.
-Otra de las formas de comparar condiciones es por el uso del "if"
-El "if statement" da la instruccion del comparar las condiciones y el ver si la condicion ha sido encontrada o no.
-Una de las razones por las cuales se usa el "if statement" es para ver si la condicion NO ha sido encontrada y realizar la instruccion escrita. si NO ha sido encontrada se elabora una instruccion y si ha sido encontrada se hace un "else" como "si no se encuentra, entonces has " que significa "if, else".
-Una condicion if puede tener otras condiciones if como instrucciones para verificar la falta de objetos buscados, el ver si un objeto no tiene nada "null" o si no es un objeto que tenga las mismas variables, etc.
-El profesor Mehran explica el como usar los metodos y sus instrucciones para resolver el problema.
-En este problema el profesor nos desmuestra el como el Karel, dado un ambiente predisennado, tiene que pasar por unos obstaculos hasta llegar al final.
-En el programa se usan varios metodos y la mejor forma del eleborar metodos es primero pensandolos de forma comun, el como los haria uno en la vida real, o el como usar la logica para hacerlos paso por paso.
-Primero sabemos que son 9 obstaculos que se tienen que pasar, entonces se escribe un "for loop" con esta instruccion, luego se tiene que pasar el obstaculo, y el como hacerlos demuestra el grado de logica que le podamos llevar al programa para resolverlo.
-Segundo, el pensar como resolver el primer problema, el que hacer cuando nos encontramos con un obstaculo, luego el que direccion tiene el obstaculo y el como hacer para pasarlo, el cuantas veces nos tenemos que mover para hacerlo y el como hacerlo, que hacer cuando lo pasamos hasta para la cantidad predeterminada.
-Siempre trata de resolver los problemas logicamente, calcular la solucion y luego el implementarlo en la programacion.
Interpretacion de la clase de programacion metodologica 01
Clases de Java por Mehran Sahami, gracias a la universidad Standford.
lecture 1 Programming Methodology.
-El profesor Mehran Sahami introduce las guias de la clase, algunas descripciones sobre el formato de las clases en linea y que se va a ver y quien lo va a ver, diciendo que ademas de estar para el publico, puede que lo vean algunos profecionales de Silicon Valley: la ciudad de las computadoras y quienes las hacen y mejoran su funcion, refiriendose a quienes vayan a hacer algun tipo de pregunta donde solo la voz del estudiante sera escuchada.
-El profesor Sahami, o como quiere que lo llamen, Sahami, siendo agradable para la clase y los conectador por la red, explica el porque la clase se llama programacion metodologica, y esta se llama asi porque no solo usa el lenguaje de Java para poder crear un programa, sino que tambien se va a aprender los principios de la programacion, el como usar la logica y el pensamiento critico-abstracto, para crear programas simples y de rapida ejecucion.
-Un programa de computadora tiene como finalidad procesar y recibir informacion y analizarla lo mas rapido posible, y los mas eficiente que se pueda, la tarea de los programadores es el crear programas de acceso cotidiano y no tanto e implementarlos a la recoleccion de datos para su analisis y efecto, sea creativo para entretener, como estadistico para generar un resultado economico de lugares, sociedades o hasta paises, es su complejidad y e interconectividad entre las mainframes o supercomputadoras y los servidores de cualquier casa, negocio o coorporacion de cualquier tipo.
-Meharan habla sobre el como los buenos programadores se comparan con los bueno escritores de ensayos, ya que el escribir o programar o saber el lenguaje no hace a uno un buen escritor o un buen programado, lo que hace a uno un buen programado o un buen escritor es ser uno, y como lograrlo? por medio de la practica, practica, practica, el estudiar paso por paso cada paso para llegar a serlo.
-Una de las formas mas eficientes de estudiar es tomarse el tiempo necesario para entender cada paso, no ir apurado, pero tampoco retrasarse como para no entender el nuevo paso. una de las estrategias es el grabar la clase y practicar la clase antes y despues de clase, buscar ayuda y no creer que se sabe mucho cuando en la vida estudiantil uno esta para estudiar y aprender.
-Uno de los comentarios que hace Meharan sobre la educacion, sacado de las peliculas de Star Wars del segundo capitulo, donde Yoga le dice a Skywalker que para aprender uno tiene que desparender. desaprender los habitos caracteristicos de una mala disiclina y mala implementacion. pero en cierta forma con la practica se eliminan estos malos habitos de programacion.
-Uno de los beneficios que tienen en esa clase es que esta disennada para que todos la pase, y continua con un ejemplo de algunas clases, en algunas universidades donde solo una tercera parte de la clase va a pasar, esta no, en esta, repite, que van a ayudarlos a todos a pasar gracias a que en la clase cuentan con varios asistentes que quieren terminar con su grado de maestria.
-En esa clase la unica competencia que hay es la de uno mismo, ya que no habra este tipo de curva donde los estudiantes con mayor nota establecen un polo y los de menor el otro, dandole asi una nota promedio y una base para calificar al resto.
12.00min
-Meharan habla un poco de la diferencia de los tres clases que hay en la universidad Standford, la que ensenna metodologia, la que intruduce al estudiante a la computacion con objetivo generales sobre la computadora y el usuario, la computadora y la sociedad, ect. y la avanzada para estudiantes con experiencia en la programacion ya que es la union de dos clases, en esta clase avanzada se empieza con el lenguaje de programacion llamado c++ que para los que no sepan mucho, es un lenguaje donde el programador tiene que crear las referencias y estar pendiente de estas. las referencias son la posicion que tienen las variables en el programa, y las variables son los espacion en la memoria o programa donde uno guarda la informacion.
14.00 min
-Merahan habla sobre el grado de dificultad de las clases y aconseja a que tomen la que quieran, no obstante, la intermedio, si uno sabe algo de programacion y quiere aprender a programar segun los parametros de las fuente academica, esta es la clase. continua diciendo que en este tipo de clase estudio el y no tuvo ninguna dificultad en terminar su carrera de programador. tambien expresa que la gente que toda la clase avanzada tienen en su cabeza la meta del siempre resaltar mas que los demas, o porque se les hace demaciado facil y no tienen tanto tiempo para comenzar a aprender algo generico y quieren aprender algo detallado y que los desafien intelectualmente. dice esto para apaciguar el posible estres que algunos estudiantes con poco historial en la programacion tengan y tambien alentar a seguir en el curso a aquellos que manejan la programacion a su forma pero no saben mucho sobre la teoria.
-Escribe donde pueden buscar mas informacion sobre la clase: www.stanford.edu/class/cs106a/ por ahora no hay nada.
-Supuestmente hay 7 tareas para la clase, sino encuentran tareas, busquen algunas en libros de programacion y haganlos, esta clase ensenna la metodolia y el como leer y entender los leguanjes de computadora, que son, semejantes en cierta forma, por otro lado, totalmente opuestos, pero la forma de pensar en programacion tiene una base, y esta clase nos prepara para eso por medio de progamas en Java.
-El programa que se usa para escribir programas es Eclipse.
-La forma de calificar las tareas son por medio de simbolo de mayora a menor como + que es el maximo, un programa hecho limpio, sencillo y funcional, los demas son V+, V, V-, -, y -- que son aquellos programas que no han sido trabajados con ningun tipo de interes ni detalle. y el 0, aquellas personas que no hisieron nada.
28.00 min
-Habla tambien de la extensiones que tienen los estudiantes para entregar las tareas algo tarde de la fecha en la deben de ser entregados. son 3 dias de gracia que dan para entregar un trabajo tardeo. las extensiones deben de usarse delicada y meditativamente ya que solo hay dos, y deberian ser usadas en casos extremos; uno porque el estudiante podra retrasarse en la clase y otro para justificar un problema que este mas alla del estudiante, como una tragedia familiar o enfermedad, o prioridades academicas que por lo general uno deberia de organizar mejor el tiempo que tiene con respecto al horario academico, el estudio y el trabajo. recuerda que 5 annos no es mucho en la vida de una persona que por promedio puede vivir 70 annos, y estos 5 annos son esenciales en el progreso y realizacion de una etapa vital de la vida. lo otro seria un tecnico dado que la vida no es tan facil y se necesita el dinero para poder vivir, el otro seria el tecnico, trabajar y luego estudiar una carrera paso por paso para realizar una meta o suenno que se tenga, como el aprender mas sobre un tema, el prestigio de la carrera y la aceptacion de uno mismo a una sociedad competitiva y que necesita profesionales en distintos tipos de areas. lo que tambien uno puede estar buscando en la seguridad economica mas la seguridad personal que conlleva tal camino hacia la felicidad que se busca atravez del estudio y el trabajo.
36.00 min
-Habla sobre el crear su propio programa o codigo, el codigo significa el programa en la terminologia de los programadores. el copiarse de otros programas es una pena que se castigara ya que no se puede diferenciar quien en verdad hizo el codigo, por lo mismo a ninguno de estas personas no se les calificara. una de las causas del copiarse es el no trabajar como se debe y el no practicar. el no trabajar como se debe, es el no saber estudiar, el no tener una diciplina de estudio, la diciplina del estudio es aquella que requiere practica, el sentarce y leer continueamente el materia, pensar en su contenido, analizar el tema, desglozarlo, ejercitarse por medio de ejemplos y el trabajar en los problemas de cada objetivo, sea cual sea. un objetivo puede ser el buscar el significado de una palabra y el entenderla, un objetivo puede ser el resolver un problema de matematica o de quimica, el persistir hasta resolverlo, analizar sus datos y el buscar una respuesta, luego estudiarla, continuar con otro problema, practicar, practicar, practicar. y mejor se trabaja en grupo luego de que ya uno ha practicado individualmente sobre el tema, escribir algunas problemas que no se pudieron resolver o no se entendieron a su perfeccion y discutir su resolucion, entender su significado. esto son solo algunas formas del como estudiar y poder crear un codigo unico, el profesor acepta la participacion de estudiantes para estudiar y mejorar el aprendizaje pero no el copiarse, y uno se copia cuando no trabaja ni practica.
39.00 min
-Otra de las caracteristicas de los estudiantes que se copian puede ser su irregularidad al comprometerse con varias clases que dediquen mucho tiempo de sus estudio como para tomarles el tiempo necesario que requieren cada clase por separado entre examenes y proyectos.
-Una de las formas del como estudiar cada clase, segun Meharan, es la del multiplicar cada credito de la clase por tres, el resultado seria la cantidad de horas que se deberian de estudiar a la semana, por promedio. pero si uno tiene a la semana una clase que se vea dos veces a la semana y dure 45 min cada clase, la mejor forma de estudiar es una hora antes de la clase y una hora despues, aproximadamente, si estas comenzando a estudiar y tienes un promedio de 4 a 5 clases por semana. pero si se quiere aprender, mejorar y avanzar de una forma academica ejemplar, uno deberia de estudiar 8 horas al dia, si se trabaja, 5 horas al dia, dependiendo de la situacion economica del estudiante. para una persona adulta con un trabajo tiempo completo, la mejora forma es la que se adapte a su diciplina en el ambito academico pero lo recomendable, luego del organizar un horario acorde al tiempo de salida del trabajo, el posible trafico y la clase o clases, 4 horas...ejemplo, una persona trabaja de 9am hasta las 5pm, sale del trabajo y llega a la universida o tecnico a las 6pm, llega a las clases hasta las 8pm, luego cena y a las 9pm comienza a estudiar hasta las 12am, donde tiene 7 horas para dormir.
-Claro, el grado de dificultad de la clase varia y hay clases faciles que solo consumen tiempo, estas clases no deberian de ser estudiadas si en la carrera profesional de la persona no van a ser utiles, pero algunas universidades o tecnicos requieren clases genericas para complementarle al estudiante, un grado mas de profecionalismo. con lo que discuten algunos estudiantes dada la dualidad del que quiere especialisarce en un area tecnica del manejo de redes y tengan que ver una clases obligatorias de la compocision del ingles o clases extras requeridas por el plantel academico.
41.00 min
-Meharan habla de los bichos o "bugs" que aparecen en los programas, los "bugs" o bichos son errores en los programas, estos errores tienen varias manifestaciones, unas mentales otras de terminologia, los errores mentales son aquellos que no dan el resultado esperado, los errores en la terminologia se dividen entre varios aspectos, el primero el de escribir mal una variable, metodo u otro tipo de palabras en el codigo que no sea reconocida por el programa. las variables son el espacio en la memoria determinado que puede almacenar informacion y tiene su identificacion determinada. los metodos son los que calculan la informacion y hay varios tipos de metodos, entre los cuales esta el Mutador y el Acesador. el Mutador genera un resultado y da su repuesta, el Accesador genera una operacion...(veremos mas adelante esto). estos errores, menos los mentales hacen que el Compiler deje de funcionar parando el analisis del programa y reportando el error. para entender el como funciona un compiler uno tiene que ver clases mucho mas avanzadas, grado de maestria, donde aprenderan a hacer compilers. por ahora lo basico.
45.00 min
-Meharan explica de donde viene la palabra Robot, ya que en la proxima clase se vera el programa llamado "Karel", titulo que se le atribuye al programador Rich quien dedico el nombre de su programa a quien se le atribuye la palabra Robot, el sennor Karel Capek. Karel Capek creo una obra de teatro llamada R. U. R. enfocada en loss robots.
-"Karel" es un programa que ensenna a los estudiantes a utilizar los metodos principales de la programacion, la logica de tal y su metodologia prematura.
Subscribe to:
Comments (Atom)