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

Seminario de Lenguajes Opcion Go

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

Carrera/ Plan: (Dejar lo que corresponda)

Licenciatura en Informática Plan 2021/Plan 2015/Plan 2012


SEMINARIO DE LENGUAJES Licenciatura en Sistemas Plan 2021/Plan 2015/Plan 2012
OPCION Go Analista Programador Universitario Plan 2021/Plan 2015
Analista en Tecnologías de la Información y la Comunicación
Plan 2021/Plan 2017
Año: 2do
Régimen de Cursada: Semestral
Carácter (Obligatoria/Optativa): Obligatoria
Año 2023 Correlativas: Taller de Programación
Profesor/es: Raúl Champredonde
Hs. semanales teoría: 3 hs.
Hs. semanales práctica: 3 hs.

FUNDAMENTACIÓN
El segundo año de la carrera es un momento adecuado para que el alumno aprenda un nuevo lenguaje de
programación y se ponga en contacto con tecnologías como las de internet o aplicaciones para móviles, que lo
acerque a las herramientas de uso común en la vida profesional.

OBJETIVOS GENERALES
Profundizar los conocimientos obtenidos por el alumno en los primeros cursos vinculados con Algoritmos y
Programación, permitiéndole desarrollar un estudio teórico-práctico de algún lenguaje de programación (el lenguaje
puede variar con los cambios tecnológicos), poniendo énfasis en el análisis formal de las características del lenguaje
y su comparación con los que el alumno conociera a ese momento (típicamente Pascal).

RESULTADOS DE APRENDIZAJE
1.3. Describir los avances informáticos actuales e históricos y demostrar cierta visión sobre tendencias y
avances futuros (Básico).
3.1. Definir y diseñar hardware/software informático/de red que cumpla con los requisitos establecidos
(Básico).
3.3. Elegir y utilizar modelos de proceso adecuados, entornos de programación y técnicas de gestión de
datos con respecto a proyectos que impliquen aplicaciones tradicionales, así como aplicaciones emergentes
(Básico).
3.4. Describir y explicar el diseño de sistemas e interfaces para interacción persona-ordenador y ordenador-
ordenador (Básico).
3.5. Aplicar las correspondientes competencias prácticas y de programación en la creación de programas
informáticos y/u otros dispositivos informáticos (Adecuado).
6.1. Organizar su propio trabajo de manera independiente demostrando iniciativa y ejerciendo
responsabilidad personal (Básico).
6.3. Planificar su propio proceso de aprendizaje autodidacta y mejorar su rendimiento personal como base
de una formación y un desarrollo personal continuos (Básico).

COMPETENCIAS
- CGS2- Comunicarse con efectividad en forma oral y escrita.
Se evalúa a los alumnos en coloquios en los cuales deben exponer la tarea realizada en forma individual y
donde el docente evalúa no sólo los conocimientos sino la claridad de la presentación, su organización y la
forma de expresión.
- CGS4- Aprender en forma continua y autónoma, con capacidad de planificar este aprendizaje.

Calle 50 y 120 | C.P.1900 | La Plata | Buenos Aires | República Argentina


Tel.: (54) 221-427-7270/71| www.info.unlp.edu.ar
Se presenta a los alumnos pequeños problemas a resolver mediante la investigación o búsqueda de
información. Se evalúa el nivel de aplicación de los mismos en el proyecto entregado como parte de la
aprobación de la cursada.
- CGS6- Capacidad para interpretar la evolución de la Informática con una visión de las tendencias tecnológicas
futuras.
Se presentan diversas tecnologías, y se evalúa el nivel de utilización y su corrección en el proyecto entregado
como parte de la aprobación de la cursada.
- CGT1- Identificar, formular y resolver problemas de Informática.
Se pone énfasis en el proceso de identificación de problemas del mundo real, especificación de los mismos
como problemas resolubles desde la informática y en el desarrollo de soluciones verificables para los mismos.
Se evalúa en base al software desarrollado por el alumno como solución al problema planteado que debe
solucionar para aprobar la cursada.
- CGT5- Utilizar de manera efectiva las técnicas y herramientas de aplicación de la Informática.
Se pone énfasis en el uso efectivo de técnicas y herramientas de aplicación en Informática. La evaluación de
esta competencia forma parte de las evaluaciones de trabajos entregados y su defensa en coloquio individual.
- LI- CE4 – Realizar y/o evaluar proyectos de desarrollo de software para la resolución de problemas del mundo
real, especificación formal de los mismos, diseño, implementación, prueba, verificación, validación,
mantenimiento y control de calidad de sistemas de software/sistemas de información que se ejecuten sobre
equipos de procesamiento de datos, con capacidad de incorporación de tecnologías emergentes del cambio
tecnológico. Capacidad de análisis, diseño y evaluación de interfases humano computador y computador-
computador.
- LS- CE1 – Realizar y/o evaluar proyectos de desarrollo de software para la resolución de problemas del mundo
real, especificación formal de los mismos, diseño, implementación, prueba, verificación, validación,
mantenimiento y control de calidad de sistemas de software/sistemas de información que se ejecuten sobre
equipos de procesamiento de datos, con capacidad de incorporación de tecnologías emergentes del cambio
tecnológico. Capacidad de análisis, diseño y evaluación de interfases humano computador y computador-
computador.

CONTENIDOS MINIMOS (de acuerdo al Plan de Estudios)


Estudio de un lenguaje de programación en el que se desarrollen aplicaciones concretas. En particular, aplicaciones
web, para lo cual resulta necesario un recorrido académico básico por las tecnologías involucradas (cliente/servidor,
html, javascript, bases de datos).

PROGRAMA ANALÍTICO
1. Introducción. Conceptos básicos
a. Packages
b. Imports
c. Identificadores exportados
2. Valores, variables, constantes
a. Valores
b. Declaración de variables
c. Declaración de variables con inicializadores
d. Declaración de variables abreviada
e. Constantes
3. Tipos de datos primitivos
a. Tipos boolean, string, numéricos (enteros, flotantes, complejos)
b. Valores iniciales por defecto
c. Conversión de tipo
d. Inferencia de tipo
4. Operadores. Asignación. Expresiones
5. Estructuras de control
a. Iteración (for)
b. Condicionales (if, switch)
6. Tipos compuestos
a. Punteros
b. Structs

Calle 50 y 120 | C.P.1900 | La Plata | Buenos Aires | República Argentina


Tel.: (54) 221-427-7270/71| www.info.unlp.edu.ar
c. Arreglos
d. Slices
e. Maps
7. Más estructuras de control
a. Range
8. Funciones. Parámetros. Resultado
a. Declaración de funciones
b. Parámetros
c. Valor de retorno
d. Retorno de valores múltiples
e. Valores de retorno nombrados
f. Sentencias diferidas. Sentencias diferidas apiladas
g. Valores función
h. Closures
9. Métodos e Interfaces
10. Genéricos
a. Parámetros tipo
b. Tipos genéricos
11. Concurrencia
a. Goroutines
b. Canales. Buffered channels
c. Cierre de un canal. Range
d. Select. Default selection
e. Exclusión mutua

BIBLIOGRAFÍA
Introducción rápida a Go (Golang). https://awebytes.wordpress.com/librov1/
How To Code in Go. Mark Bates, Cory LaNou, Tim Raymond. DigitalOcean
https://assets.digitalocean.com/books/how-to-code-in-go.pdf
Learn Go with Tests. https://quii.gitbook.io/learn-go-with-tests/
The Go Programming Language. Alan A. A. Donovan, Brian W. Kernighan. Addison-Wesley Professional
Introducing Go: Build Reliable, Scalable Programs. Caleb Doxsey. O'Reilly
Go in Action. William Kennedy, Brian Ketelsen y Erik St. Martin
Programming in Go: Creating Applications for the 21st Century. Mark Summerfield
Learning Go Programming. Vladimir Vivien
https://go.dev/doc/

METODOLOGÍA DE ENSEÑANZA
La actividad curricular se organiza en Teoría, Práctica y explicación de práctica.
La teoría consiste en una presentación y explicación conceptual por parte del docente de los temas centrales donde los alumnos
participan haciendo preguntas y planteando dudas.
En la práctica se resuelven ejercicios en forma individual que son planteados en las guías de Trabajos Prácticos. El docente
atiende las dudas y consultas de los alumnos para la resolución de los mismos.
Las explicaciones de la practica permite la articulación entre la teoría y la practica el docente desarrolla algún ejercicio modelo
que resulta importante para la resolución de las ejercitaciones prácticas.

Calle 50 y 120 | C.P.1900 | La Plata | Buenos Aires | República Argentina


Tel.: (54) 221-427-7270/71| www.info.unlp.edu.ar
EVALUACIÓN
La aprobación de la cursada consiste en la entrega y aprobación de todos los ejercicios de 3 trabajos prácticos el desarrollo de un
proyecto que es entregado y corregido en diferentes etapas. Este trabajo debe cumplir con un conjunto de requisitos enunciados
junto con el problema planteado.
La aprobación final de la materia consiste en la defensa individual escrita y oral del proyecto presentado.

CRONOGRAMA DE CLASES Y EVALUACIONES


Clase Fecha Contenidos/Actividades
1 23/03/2023 Introducción. Conceptos básicos

2 30/03/2023 Valores. Variables, constantes

3 13/04/2023 Tipos primitivos

4 20/04/2023 Operadores. Asignación. Expresiones

5 27/04/2023 Estructuras de control

6 4/05/2023 Punteros. Structs. Arreglos, slices, maps

7 11/05/2023 Funciones. Parámetros. Resultado

8 18/05/2023 Funciones anónimas. Funciones como valores

9 01/06/2023 Métodos e interfaces

10 08/06/2023 Genéricos

11 15/06/2023 Concurrencia. Concepto. Goroutines

12 22/06/2023 Canales. Range, Close, Select en canales

13 29/06/2023 Ejemplos de concurrencia

14 06/07/2023 Repaso

Evaluaciones previstas Fecha


Entrega Práctica 1 05/05/2023

Entrega Práctica 2 02/06/2023

Entrega Práctica 3 30/06/2023

Coloquio 13/07/2023
Contactos de la cátedra:
• Mail (obligatorio): rchampre@yahoo.com.ar
• Sitio WEB:
• Plataforma virtual: Ideas
• Otros:

Firma del/los profesor/es

Calle 50 y 120 | C.P.1900 | La Plata | Buenos Aires | República Argentina


Tel.: (54) 221-427-7270/71| www.info.unlp.edu.ar

También podría gustarte