Skip to content

Repositorio del curso Matemática Computacional de la Universidad Nacional Mayor de San Marcos dictado durante el ciclo 2024-1.

Notifications You must be signed in to change notification settings

ManuelLoaizaV/ine018-unmsm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

INE018 Matemática Computacional

¡Bienvenido a INE018, el curso introductorio de programación! Aquí aprenderemos a pensar computacionalmente y resolver problemas con el lenguaje de programación C++. Además, exploraremos algunas técnicas de programación, abstracciones y estructuras de datos clásicas para adquirir práctica con estas herramientas y enfrentarnos a problemas más complejos.

Objetivos del curso

Tras completar INE018, esperamos que hayas alcanzado los siguientes objetivos de aprendizaje:

  • Quiero usar la programación para resolver problemas del mundo real fuera del salón de clases.
  • Puedo identificar conceptos de programación y abstracciones computacionales en las tecnologías que uso en mi día a día pues entiendo cómo funciona la computadora.
  • Puedo evaluar las ventajas y desventajas del diseño de una solución cuando creamos una estructura de datos o utilizamos un determinado algoritmo.
  • Estoy en una posición en la cual puedo competentemente formar parte de un proyecto de investigación, emprendimiento, empleo o curso con componentes de programación.

Páginas web y tecnología

La página principal de INE018 es donde te encuentras ahora mismo. Aquí tienes un resumen rápido de nuestras herramientas:

  • Nuestra página web del curso se encuentra en el repositorio ine-018-unmsm en GitHub. Aquí encontrarás toda la información del curso, incluyendo material de clases, enlaces, soluciones, etc.
  • Para resolver las listas de ejercicios, utilizarás Virtual Judge, donde recibirás retroalimentación inmediata, ya que evalúa tus soluciones de manera automatizada.
  • Utilizamos Discord como nuestro foro de preguntas y respuestas, medio de comunicación y plataforma para anunciar asesorías.
  • Deberás descargar, instalar y configurar Visual Studio Code y aprender a utilizar GitHub Desktop para completar las tareas.
  • Encontrarás útil utilizar Markdown, LaTeX y Mermaid para contribuir al repositorio.

Prerrequisitos

Este curso está dirigido a estudiantes con poca o ninguna experiencia en programación. Solo se requiere conocimiento básico de la escuela secundaria.

Clases

Nuestras clases se llevan a cabo durante cuatro horas a la semana en los laboratorios de informática. Es fundamental mantener el ritmo con las clases en lugar de acumularlas y resolver todos los ejercicios de una vez (eso funciona muy bien para las series de Netflix, pero no es ideal para el aprendizaje). Para motivarte, hemos reservado el 5% de tu calificación para la participación en clases de una manera que solo puede ayudar y no perjudicar tu calificación.

Bibliografía

No es necesaria, ya que todo se aprenderá en clase. Sin embargo, no estaría de más revisar los siguientes recursos: la documentación de C++ en cppreference y algunos papers relevantes. En el cronograma se han especificado los enlaces correspondientes para cada clase. Además, se recomiendan tres libros para este curso: Programming: Principles and Practices Using C++, Third Edition de Bjarne Stroustrup. The C++ Programming Language, Fourth Edition de Bjarne Stroustrup, e Introduction to Algorithms, Fourth Edition de Cormen, Leiserson, Rivest y Stein.

Calificación

Las notas finales del curso serán determinadas usando los siguientes pesos:

  • 40% Listas de ejercicios
  • 20% Examen parcial
  • 20% Examen final
  • 15% Tareas
  • 5% Participación

Cronograma

Clase Temas Lecturas
1 - Bienvenidos
- ¿Por qué C++?
- ¿Qué es C++?
- Evan Chen: Speech on why coding is important
- GitHub: What is a programming language?
- John Smith: Compiler vs Interpreter
- David Watson: IDEs vs. Code Editors: Everything you need to know
- Wichmann, Canning, Clutterbuck, Winsbarrow, Ward and Marsh: Industrial Perspective on Static Analysis
- Evan Chen: Linux FAQs
- Tikhon Jelvis: What are the biggest misconceptions about Computer science?
2 - Directivas
- Función main
- I/O streams
- Comentarios
- Namespaces
- cppreference: Preprocessor
- cppreference: Main function
- cppreference: Standard library header <iostream>
- cppreference: std::endl
- cppreference: Comment
- cppreference: Namespaces
3 - Tipos de datos
- Variables
- Expresiones
- Operadores
- cppreference: Fundamental types
- cppreference: Expressions
- Microsoft Learn: Expressions (C++)
- cppreference: Standard library header <string>
- Richard S. Wiener: Object-Oriented Programming in C++ - A case study
4 - Conversión de tipos
- Bibliotecas
- Igor Zhirkov: How does typecasting work in programming languages?
- cppreference: Explicit type conversion
- cppreference: Implicit conversion
- cppreference: Standard library header <cmath>
- cppreference: std::rand
5 Condicionales - cppreference: if statement
- Microsoft Learn: if-else statement (C++)
- cppreference: switch statement
- cppreference: Scope
6 Sesión de problemas - Clases 2, 3, 4 y 5.
- Bar-Yosef: The Impact of Radiocarbon Dating on Old World Archaeology
- Wolfram MathWorld: Cubic Formula
7 Bucles - cppreference: while loop
- cppreference: for loop
8 Funciones - cppreference: Functions
- Microsoft Learn: Functions (C++)
9 Sesión de problemas - Clases 7 y 8.
- Hasbro: Yahtzee
- David Barina: Convergence Verification of the Collatz problem
- Wolfram MathWorld: Pi Formulas
10 Cadenas - cppreference: Strings library
11 Repaso
12 Examen parcial
13 Vectores - cppreference: Standard library header <vector>
14 Sesión de problemas - Clases 10 y 13.
15 Pilas - cppreference: Standard library header <stack>
16 Colas - cppreference: Standard library header <queue>
17 Sesión de problemas - Clases 15 y 16.
18 Conjuntos - cppreference: Standard library header <set>
19 Mapas - cppreference: Standard library header <map>
20 Sesión de problemas - Clases 18 y 19.
21 Recursión - Zhao, Dong, Chang, Xu: Recursive Cascaded Networks for Unsupervised Medical Image Registration
- Pham, Musielak: Spectra of Reduced Fractals and Their Applications in Biology
22 Algoritmos - Donald E. Knuth: Big Omicron and big Omega and big Theta
- Juraj Hromkovič: Algorithmic adventures: from knowledge to magic
- Google Research: Nearly All Binary Searches and Mergesorts are Broken
- Censor, Schubert, Schulte: Developments in Mathematical Algorithms and Computational Tools for Proton CT and Particle Therapy Treatment Planning
23 Repaso - Clases 21 y 22.
24 Examen final

Organización de las carpetas

  • clases - contiene las notas de clase y el código desarrollado durante estas.
  • ejercicios - contiene las soluciones de las listas de ejercicios del curso.
  • examenes - contiene los enunciados y soluciones de los exámenes parciales y finales del curso.
  • tareas - contiene los enunciados de las tareas del curso.

Nota aclaratoria sobre el nombre del curso

El nombre del curso podría inducir a confusión, ya que podría implicar que su contenido abarca alguno de los siguientes campos:

  • Matemática Discreta: combinatoria, teoría de números, teoría de la computación.
  • Computación Científica: ajuste de datos, álgebra lineal numérica, cálculo numérico, optimización, métodos iterativos.

De conformidad con la resolución decanal 000040-2022-D-FIEE/UNMSM, el curso Matemática Computacional impartido en el primer ciclo comprende lo siguiente:

La asignatura corresponde al área de formación de estudios generales, es obligatoria y de naturaleza práctica. La asignatura tiene por finalidad desarrollar las capacidades para comprender estructuras de datos y algoritmos, y usar un lenguaje de programación imperativo para la solución de un problema de ingeniería: formulación, especificación, diseño, implantación, prueba, documentación y evaluación.

About

Repositorio del curso Matemática Computacional de la Universidad Nacional Mayor de San Marcos dictado durante el ciclo 2024-1.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published