0% encontró este documento útil (0 votos)
46 vistas6 páginas

CS111

Este documento presenta el silabo para el curso CS111 Programación de Video Juegos de la Escuela Profesional de Ciencia de la Computación de la Universidad Católica San Pablo. El curso introduce los conceptos fundamentales de programación a través de la construcción de un videojuego. Cubre temas como la historia de los lenguajes de programación, conceptos básicos como variables y tipos de datos, estructuras de control, funciones, recursividad, algoritmos y estructuras de datos fundamentales y programación orientada a objetos. El objetivo es desarrollar la capac
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
46 vistas6 páginas

CS111

Este documento presenta el silabo para el curso CS111 Programación de Video Juegos de la Escuela Profesional de Ciencia de la Computación de la Universidad Católica San Pablo. El curso introduce los conceptos fundamentales de programación a través de la construcción de un videojuego. Cubre temas como la historia de los lenguajes de programación, conceptos básicos como variables y tipos de datos, estructuras de control, funciones, recursividad, algoritmos y estructuras de datos fundamentales y programación orientada a objetos. El objetivo es desarrollar la capac
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Universidad Católica San Pablo

Escuela Profesional de
Ciencia de la Computación
SILABO

CS111. Programaciónn de Video Juegos (Obligatorio)


2022-II
1. DATOS GENERALES
1.1 CARRERA PROFESIONAL : Ciencia de la Computación
1.2 ASIGNATURA : CS111. Programaciónn de Video Juegos
1.3 SEMESTRE ACADÉMICO : 1er Semestre.
1.4 PREREQUISITO(S) :
1.5 CARÁCTER : Obligatorio
1.6 HORAS : 2 HT; 4HP;
1.7 CRÉDITOS : 4
1.8 MODALIDAD : Presencial

2. DOCENTE
Dr. Graciela Lecireth Meza Lovón
Dr. Ciencia de la Computación, Universidad Nacional San Agustı́n, Perú, 2016.

Mag. Ciencia de la Computación, UFMS-MS, Brasil, 2007.


Prof. Bachiller en Ingenierı́a Informática, Universidad Católica San Pablo, Perú, 2004.

Mg. Kelly Vizconde la Motta

Mag. Mag. Ciencia de la Computación, Universidad Católica San Pablo, Perú, 2019.
Prof. Ingenieria de Sistemas, Universidad Católica Santa Marı́a, Perú, 2020.

3. FUNDAMENTACIÓN DEL CURSO


Este es el primer curso en la secuencia de los cursos introductorios a la Ciencia de la Computación. En este curso se
pretende cubrir los conceptos señalados por la Computing Curricula IEEE-CS/ACM 2013, bajo el enfoque orientado
a objetos. La programación es uno de los pilares de la Ciencia de la Computación; cualquier profesional del Área,
necesitará programar para concretizar sus modelos y propuestas. Este curso ofrece una introdución a los participantes
en los conceptos fundamentales de este área. Los tópicos incluyen tipos de datos, estructuras de control, funciones,
listas, recursividad, la mecánica de la ejecución, pruebas, depuración y programación orientada a objetos. El curso
finaliza con la implementación de un video juego donde se apliquen los conceptos aprendidos.

4. SUMILLA
1. Historia de los Lenguajes de Programación 2. Conceptos Fundamentales de Programación3. Algoritmos y Estructuras
de Datos fundamentales4. Programación orientada a objetos5. Programación de Video Juegos

5. OBJETIVO GENERAL

Introducir los conceptos fundamentales de programación durante la construcción de un video juego.

Desarrollar su capacidad de abstracción, utilizar un lenguaje de programación orientado a objetos.

1
6. CONTRIBUCIÓN A LA FORMACIÓN PROFESIONAL Y FORMACIÓN GENERAL
Esta disciplina contribuye al logro de los siguientes resultados de la carrera:
a) Aplicar conocimientos de computación y de matemáticas apropiadas para la disciplina. (Usar)

b) Analizar problemas e identificar y definir los requerimientos computacionales apropiados para su solución. (Usar)
i) Utilizar técnicas y herramientas actuales necesarias para la práctica de la computación. (Usar)

7. COMPETENCIAS ESPECÍFICAS DE COMPUTACIÓN


Esta disciplina contribuye a la formación de las siguientes competencias del área de computación (IEEE):
C1. La comprensión intelectual y la capacidad de aplicar las bases matemáticas y la teorı́a de la informática (computer
science).⇒ Outcome a
C2. Capacidad para tener una perspectiva crı́tica y creativa para identificar y resolver problemas utilizando el pensa-
miento computacional.⇒ Outcome b
C5. Capacidad para implementar algoritmos y estructuras de datos en el software.⇒ Outcome b

C4. Una comprensión del hardware de la computadora desde la perspectiva del software, por ejemplo, el uso del
procesador, memoria, unidades de disco, pantalla, etc.⇒ Outcome i

8. CONTENIDOS

UNIDAD 1: Historia de los Lenguajes de Programación (5)


Competencias: C1
CONTENIDO OBJETIVO GENERAL

Perspectiva histórica de los lenguajes de programa- Identificar importantes tendencias en la historia del
ción. campo de la computación[Familiarizarse]
Conceptos de Programación tradicionales. Discutir el contexto histórico de los paradigmas de
diversos lenguajes de programación[Familiarizarse]

Lecturas: [Brookshear, 2011]

2
UNIDAD 2: Conceptos Fundamentales de Programación()
Competencias: C1,C2
CONTENIDO OBJETIVO GENERAL

Sintaxis y semántica básica de un lenguaje de alto Analiza y explica el comportamiento de programas


nivel. simples que involucran estructuras fundamentales
de programación variables, expresiones, asignacio-
Variables y tipos de datos primitivos (ej., numeros, nes, E/S, estructuras de control, funciones, paso de
caracteres, booleanos) parámetros, y recursividad[Evaluar]
Expresiones y asignaciones. Identifica y describe el uso de tipos de datos primi-
Operaciones básicas I/O. tivos[Familiarizarse]

Estructuras de control condicional e iterativas. Escribe programas que usan tipos de datos primiti-
vos[Usar]
Funciones definidas por el usuario.
Modifica y expande programas cortos que usen es-
Paso de funciones y parámetros. tructuras de control condicionales e iterativas ası́ co-
mo funciones[Usar]
Concepto de recursividad.
Diseña, implementa, prueba, y depura un programa
que usa cada una de las siguientes estructuras de
datos fundamentales: cálculos básicos, E/S simple,
condicional estándar y estructuras iterativas, defini-
ción de funciones, y paso de parámetros[Usar]
Escoje estructuras de condición y repetición ade-
cuadas para una tarea de programación da-
da[Familiarizarse]

Describe el concepto de recursividad y da ejemplos


de su uso[Evaluar]

Identifica el caso base y el caso general de un proble-


ma basado en recursividad[Familiarizarse]

Lecturas: [Guttag, 2013], [Zelle, 2010]

3
UNIDAD 3: Algoritmos y Estructuras de Datos fundamentales()
Competencias: C1,C2,C5
CONTENIDO OBJETIVO GENERAL

Algoritmos numéricos simples, tales como el cálculo Implementar algoritmos numéricos básicos[Usar]
de la media de una lista de números, encontrar el
mı́nimo y máximo. Implementar algoritmos de busqueda simple y ex-
plicar las diferencias en sus tiempos de compleji-
Algoritmos de ordenamiento de peor caso cuadrático dad[Evaluar]
(selección, inserción)
Ser capaz de implementar algoritmos de ordenamien-
Algoritmos de ordenamiento con peor caso o caso to comunes cuádraticos y O(N log N)[Usar]
promedio en O(N lg N)
Discutir el tiempo de ejecución y eficiencia de me-
Algoritmos de búsqueda secuencial y binaria. moria de los principales algoritmos de ordenamiento
y búsqueda.
Discutir factores otros que no sean eficiencia compu-
tacional que influyan en la elección de algoritmos,
tales como tiempo de programación, mantenibilidad,
y el uso de patrones especı́ficos de la aplicación en
los datos de entrada[Familiarizarse]
Demostrar habilidad para evaluar algoritmos, para
seleccionar de un rango de posibles opciones, para
proveer una justificación por esa selección,y para im-
plementar el algoritmo en un contexto en especı́fi-
co[Evaluar]

Trazar y/o implementar un algoritmo de compara-


ción de string[Usar]

Lecturas: [Guttag, 2013], [Zelle, 2010]

4
UNIDAD 4: Programación orientada a objetos(4)
Competencias: C2
CONTENIDO OBJETIVO GENERAL

Lenguajes orientados a objetos para la encapsula- Diseñar e implementar una clase[Usar]


ción: Privacidad y visibilidad de miembros de la cla-
se. Usar subclase para diseñar una jerarquı́a simple de
clases que permita al código ser reusable por diferen-
Definición de las categorı́as, campos, métodos y cons- tes subclases[Familiarizarse]
tructores.
Comparar y contrastar (1) el enfoque
Subclases y herencia. procedurar/funcional- definiendo una función
por cada operación con el cuerdo de la función
Asignación dinámica: definición de método de llama- proporcionando un caso por cada variación de dato -
da. y (2) el enfoque orientado a objetos - definiendo una
clase por cada variación de dato con la definición
de la clase proporcionando un método por cada
operación. Entender ambos enfoques como una
definición de variaciones y operaciones de una
matriz[Familiarizarse]
Explicar la relación entre la herencia orientada a ob-
jetos (codigo compartido y overriding) y subtipifica-
ción (la idea de un subtipo es ser utilizable en un con-
texto en el que espera al supertipo)[Familiarizarse]
Usar mecanismos de encapsulación orientada a obje-
tos [Familiarizarse].

Lecturas: [Guttag, 2013], [Zelle, 2010]

UNIDAD 5: Programación de Video Juegos ()


Competencias: C2
CONTENIDO OBJETIVO GENERAL

Uso de una librerı́a de video juegos. Aplicar los fundamentos y los conceptos de lenguajes
de programación para el desarrollo de un video juego
simple. [Usar]

Lecturas: [Sweigart, 2012]

9. METODOLOGÍA

El profesor del curso presentará clases teóricas de los temas señalados en el programa propiciando la intervención de
los alumnos.
El profesor del curso presentará demostraciones para fundamentar clases teóricas.
El profesor y los alumnos realizarán prácticas.
Los alumnos deberán asistir a clase habiendo leı́do lo que el profesor va a presentar.
De esta manera se facilitará la comprensión y los estudiantes estarán en mejores condiciones de hacer consultas en
clase.

5
10. EVALUACIONES

Evaluación Permanente 1 : 20 %

Examen Parcial : 30 %
Evaluación Permanente 2 : 20 %

Examen Final : 30 %

Referencias
[Brookshear, 2011] Brookshear, J. G. (2011). Computer Science: An Overview. Addison-Wesley.

[Guttag, 2013] Guttag, J. V. (2013). . Introduction To Computation And Programming Using Python. MIT Press.
[Sweigart, 2012] Sweigart, A. (2012). Making Games with Python & Pygame. MIT Press.

[Zelle, 2010] Zelle, J. (2010). Python Programming: An Introduction to Computer Science. Franklin, Beedle & Associates
Inc.

También podría gustarte