ossu / computer-science

Universidad de la Sociedad del Código Abierto (OSSU)

Universidad de la Sociedad del Código Abierto

¡Camino hacia una educación autodidacta y gratuita en Informática!

ImpresionanteUniversidad de la Sociedad del Código Abierto. Informática

  • Resumen
  • Comunidad
  • Plan de estudios
  • Código de conducta
  • Equipo

Resumen

El plan de estudios de la OSSU es una formación completa en informática utilizando materiales online.No es simplemente para la formación de la carrera o el desarrollo profesional.Es para aquellos que quieren una base adecuada y completa en conceptos fundamentales para todas las disciplinas de la informática, y para aquellos que tienen la disciplina, la voluntad y (¡lo más importante!) buenos hábitos para obtener esta educación en gran parte por su cuenta, pero con el apoyo de una comunidad mundial de compañeros de aprendizaje.

Está diseñado de acuerdo con los requisitos de grado de las carreras de ciencias de la computación, menos los requisitos de educación general (no CS), ya que se supone que la mayoría de las personas que siguen este plan de estudios ya están educados fuera del campo de CS.Los cursos en sí están entre los mejores del mundo, a menudo procedentes de Harvard, Princeton, MIT, etc.,pero han sido elegidos específicamente para cumplir con los siguientes criterios.

Los cursos deben:

  • Estar abiertos a la inscripción
  • Ejecutarse regularmente (idealmente en formato autodidacta, de lo contrario se ejecutan varias veces al año)
  • Ser de alta calidad en general en los materiales de enseñanza y los principios pedagógicos
  • Cumplir con los estándares curriculares de la CS 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science
  • Cuando ningún curso cumple con los criterios anteriores, el trabajo del curso se complementa con un libro.Cuando hay cursos o libros que no encajan en el plan de estudios pero que, por lo demás, son de alta calidad, pertenecen a extras/cursos o a extras/lecturas.

    Organización. El plan de estudios está diseñado de la siguiente manera:

    • Intro CS: para que los estudiantes prueben la CS y vean si es adecuada para ellos
    • Core CS: corresponde aproximadamente a los tres primeros años de un plan de estudios de ciencias de la computación, tomando clases que todas las carreras deberían tomar
    • Advanced CS: corresponde aproximadamente al último año de un plan de estudios de ciencias de la computación, tomando materias optativas de acuerdo a los intereses del estudiante
    • Proyecto Final: un proyecto para que los estudiantes validen, consoliden y muestren sus conocimientos, para ser evaluados por sus pares a nivel mundial
    • Duración. Es posible terminar en unos 2 años si se planifica cuidadosamente y se dedican unas 20 horas/semana a los estudios. Los alumnos pueden utilizar esta hoja de cálculo para estimar su fecha de finalización. Si hace una copia personal puede introducir sus fechas reales de finalización del curso en la hoja Curriculum Data y obtener estimaciones de finalización actualizadas.

      Coste. Todo o casi todo el material del curso está disponible de forma gratuita. Sin embargo, algunos cursos pueden cobrar dinero por las tareas/pruebas/proyectos a calificar.Tenga en cuenta que tanto Coursera como edX ofrecen ayuda financiera.

      Decida cuánto o cuán poco gastar en función de su propio tiempo y presupuesto;¡sólo recuerde que no puede comprar el éxito!

      Proceso. Los estudiantes pueden trabajar a través del plan de estudios solo o en grupos, en orden o fuera de orden.

      • Recomendamos hacer todos los cursos en Core CS, sólo saltando un curso cuando esté seguro de que ya ha aprendido el material previamente.
      • Para simplificar, recomendamos trabajar a través de los cursos (especialmente Core CS) en orden de arriba a abajo, ya que ya han sido ordenados topológicamente por sus prerrequisitos.
      • Los cursos en Advanced CS son optativos. Elija un tema (por ejemplo, programación avanzada) en el que quiera convertirse en un experto y tome todos los cursos bajo ese título. También puedes crear tu propia asignatura personalizada, pero te recomendamos que obtengas la validación de la comunidad sobre el tema que elijas.
      • Política de contenidos. ¡Si planeas mostrar algunos de tus trabajos del curso públicamente, debes compartir sólo los archivos que te sean permitidos.NO faltes al código de conducta que firmaste al principio de cada curso!

        Cómo contribuir

        Obteniendo ayuda (Detalles sobre nuestras FAQ y chat)

        Comunidad

        • ¡Tenemos un servidor de discordia! Discord Esta debería ser tu primera parada para hablar con otros estudiantes de OSSU. Por qué no te presentas ahora mismo? Únete al Discord de OSSU
        • También puedes interactuar a través de los issues de GitHub. Si hay un problema con un curso, o hay que hacer un cambio en el plan de estudios, este es el lugar para iniciar la conversación. Lee más aquí.
        • Suscríbete a nuestro boletín de noticias.
        • ¡Añade la Universidad de la Sociedad de Código Abierto a tu perfil de Linkedin!
        • Nota: Hay una aplicación firebase sin mantenimiento y obsoleta que puedes encontrar al buscar OSSU. Puedes ignorarla con seguridad. Lee más en el FAQ.

        Currículo

        Versión del currículo: 8.0.0 (ver CHANGELOG)

        • Requisitos previos
        • Introducción a la CS
          • Introducción a la Programación
          • Introducción a la Informática. Ciencias de la Computación
        • Núcleo de CS
          • Núcleo de programación
          • Núcleo de matemáticas
          • Herramientas de CS
          • Núcleo de sistemas
          • Núcleo de teoría
          • Núcleo de aplicaciones
          • Núcleo de seguridad
        • CSeguridad avanzada
        • Programación avanzada
        • Sistemas avanzados
        • Teoría avanzada
        • Aplicaciones avanzadas aplicaciones
        • Proyecto final
      • Requisitos previos
        • El núcleo de CS asume que el estudiante ya ha cursado matemáticas de secundaria, incluyendo álgebra, geometría y precálculo.
        • El CS Avanzado asume que el estudiante ya ha cursado la totalidad del CS Básico y tiene los conocimientos suficientes para decidir qué asignaturas optativas cursar.
        • Nótese que los sistemas avanzados asumen que el estudiante ha cursado una asignatura de física básica (p.g. AP Física en la escuela secundaria).

        Introducción CS

        Introducción a la programación

        Si nunca has escrito un bucle for, o no sabes lo que es una cadena en la programación, comienza aquí. Este curso es a ritmo propio, lo que te permite ajustar el número de horas que dedicas a la semana para satisfacer tus necesidades.

        Temas tratados:simple programssimple data structures

        Cursos Duración Esfuerzo Requisitos Discusión
        Python para todos 10 semanas 10 horas/semana ninguna chat

        Introducción a la Informática

        Este curso te introducirá en el mundo de la informática. Los estudiantes que han sido introducidos a la programación, ya sea desde los cursos anteriores o a través del estudio en otro lugar, deben tomar este curso para un sabor del material que viene. Si terminas el curso con ganas de más, ¡es probable que Ciencias de la Computación sea para ti!

        Temas cubiertos:computationimperative programmingbasic data structures and algorithmsand more

        Cursos Duración Esfuerzo Requisitos Discusión
        Introducción a la informática y a la programación con Python (alt) 9 semanas 15 horas/semana Algebra de álgebra escolar chat

        Core CS

        Todos los cursos bajo Core CS son obligatorios, a menos que se indique lo contrario.

        Core de programación

        Temas tratados:functional programmingdesign for testingprogram requirementscommon design patternsunit testingobject-oriented designstatic typingdynamic typingML-family languages (via Standard ML)Lisp-family languages (via Racket)Rubyand more

        Los cursos How to Code se basan en el libro de texto How to Design Programs. La primera edición está disponible gratuitamente en línea e incluye conjuntos de problemas y soluciones. Se anima a los estudiantes a realizar estas tareas.

        Cursos Duración Esfuerzo Requisitos Discusión
        Cómo codificar – Datos simples 7 semanas 8-10 horas/semana ninguna chat
        Cómo codificar – Datos complejos 6 semanas 8-10 horas/semana Cómo codificar: Datos Simples Chat
        Lenguajes de Programación, Parte A 5 semanas 4-8 horas/semana Cómo Programar (Escuchar al instructor) Chat
        Lenguajes de Programación, Parte B 3 semanas 4-8 horas/semana Lenguajes de programación, Parte A chat
        Lenguajes de Programación, Parte C 3 semanas 4-8 horas/semana Lenguajes de Programación, Parte B chat

        Objetivos de Matemáticas

        Los estudiantes deben elegir uno de los siguientes temas: cálculo, álgebra lineal, lógica o probabilidad.

        Cálculo

        Cursos Duración Esfuerzo Requisitos previos Discusión
        Cálculo 1A: Diferenciación 13 semanas 6-10 horas/semana Matemáticas de bachillerato chat
        Cálculo 1B: Integración 13 semanas 5-10 horas/semana Cálculo 1A chat
        Cálculo 1C: Sistemas de coordenadas & Series infinitas 6 semanas 5-10 horas/semana Cálculo 1B chat

        Álgebra lineal

        Algebra lineal

        .

        Cursos Duración Esfuerzo Requisitos Discusión
        Esencia del Álgebra Lineal -. Matemáticas de bachillerato Chat
        14 semanas 12 horas/semana Esencia del Álgebra Lineal Chat

        Lógica

        Cursos Duración Esfuerzo Requisitos Discusión
        Introducción a la lógica 10 semanas 4-.8 horas/semana teoría de conjuntos chat

        Probabilidad

        Cursos Duración Esfuerzo Requisitos Discusión
        Probabilidad 24 semanas 12 horas/semana Diferenciación e Integración chat

        Matemáticas básicas

        Además de su optativa de matemáticas, los estudiantes deben completar el siguiente curso de matemáticas discretas.

        Temas tratados:discrete mathematicsmathematical proofsbasic statisticsO-notationdiscrete probabilityand more

        Cursos Duración Esfuerzo Notas Requisitos Discusión
        Matemáticas para Informática (alt) 13 semanas 5 horas/semana Una versión alternativa con soluciones a los conjuntos de problemas está aquí. Los estudiantes que tengan dificultades pueden considerar primero la Especialización en Matemáticas Discretas. Es más interactivo pero menos completo, y cuesta dinero para desbloquear la interactividad completa. Cálculo 1C chat

        Herramientas de CS

        Entender la teoría es importante, pero también se espera que crees programas. Hay una serie de herramientas muy utilizadas para facilitar ese proceso. Apréndelas ahora para facilitar tu futuro trabajo escribiendo programas.

        Temas tratados:terminals and shell scriptingvimcommand line environmentsversion controland more

        Cursos Duración Esfuerzo Requisitos Discusión
        El semestre que le falta a tu formación en CS 2 semanas 12 horas/semana -. chat

        Sistemas centrales

        Temas tratados:procedural programmingmanual memory managementboolean algebragate logicmemorycomputer architectureassemblymachine languagevirtual machineshigh-level languagescompilersoperating systemsnetwork protocolsand more

        Cursos Duración Esfuerzo Texto Adicional / Tareas Requisitos previos Discusión
        Construye un ordenador moderno desde los primeros principios: De Nand a Tetris (alt) 6 semanas 7-13 horas/semana Lenguaje de programación tipo C chat
        Construye un ordenador moderno desde los primeros principios: De Nand a Tetris Parte II 6 semanas 12-18 horas/semana uno de estos lenguajes de programación, De Nand a Tetris Parte I charla Sistemas Operativos: Tres piezas fáciles 10-12 semanas 6 horas/semana algoritmos, es útil la familiaridad con C chat Introducción a las redes de ordenadores 8 semanas 4-12 horas/semana Tarea 1
        Tarea 2
        Tarea 3
        Tarea 4
        Problemas interactivos
        Álgebra, probabilidad, CS básico chat

        Teoría básica

        Temas tratados:divide and conquersorting and searchingrandomized algorithmsgraph searchshortest pathsdata structuresgreedy algorithmsminimum spanning treesdynamic programmingNP-completenessand more

        Cursos Duración Esfuerzo Requisitos Discusión
        Dividir y conquistar, Ordenar y Buscar, y Algoritmos Aleatorios 4 semanas 4-8 horas/semana cualquier lenguaje de programación, Matemáticas para la Informática chat
        Búsqueda de grafos, caminos más cortos, y estructuras de datos 4 semanas 4-8 horas/semana Divide y vencerás, Ordenación y Búsqueda, y Algoritmos Aleatorios chat
        Algoritmos de Varias Vías, Árboles de Mínima Extensión, y Programación Dinámica 4 semanas 4-8 horas/semana Búsqueda de Grafos, Shortest Paths, and Data Structures chat
        Shortest Paths Revisited, NP-Complete Problems and What To Do About Them 4 weeks 4-8 hours/week Greedy Algorithms, Árboles de extensión mínima, and Dynamic Programming chat

        Core Security

        Temas tratadosConfidentiality, Integrity, AvailabilitySecure DesignDefensive ProgrammingThreats and AttacksNetwork SecurityCryptographyand more

        Nota: Estos cursos están recomendados provisionalmente. Hay una solicitud de comentarios abierta sobre la selección de cursos de seguridad. Se anima a los colaboradores a que comparen los distintos cursos en la RFC y ofrezcan sus comentarios.

        Cursos Duración Esfuerzo Requisitos previos Discusión
        Seguridad de la información: Contexto e Introducción 5 semanas 3 horas/semana chat
        Principios de la Codificación Segura 4 semanas 4 horas/semana -. Chatea
        Identificación de Vulnerabilidades de Seguridad 4 horas/semana chat

        Elige uno de los siguientes:

        Cursos Duración Esfuerzo Requisitos Discusión
        Identificación de vulnerabilidades de seguridad en programación C/C++ 4 semanas 5 horas/semana -. chat
        Explotación y seguridad de vulnerabilidades en aplicaciones Java 4 semanas 5 horas/semana chat

        Aplicaciones básicas

        Temas tratados:Agile methodologyRESTsoftware specificationsrefactoringrelational databasestransaction processingdata modelingneural networkssupervised learningunsupervised learningOpenGLraytracingand more

        Cursos Duración Esfuerzo Requisitos Discusión
        Bases de datos: Modelado y Teoría 2 semanas 10 horas/semana programación de núcleo chat
        Bases de Datos: Bases de datos relacionales y SQL 2 semanas 10 horas/semana programación básica chat
        Bases de datos: Datos Semiestructurados 2 semanas 10 horas/semana Programación de núcleo chat
        Aprendizaje Automático 11 semanas 4-.6 horas/semana Álgebra lineal Chat
        Informática 6 semanas 12 horas/semana C++ o Java, álgebra lineal chat
        Ingeniería del software: Introducción 6 semanas 8-10 horas/semana Programación Básica, y un proyecto de tamaño considerable chat
        Proyecto Capstone de Desarrollo de Software 6-7 semanas 8-10 horas/semana Ingeniería de Software: Introducción chat

        CS Avanzado

        Después de completar cada curso requerido en Core CS, los estudiantes deben elegir un subconjunto de cursos de CS Avanzado basado en el interés.No es necesario tomar todos los cursos de una subcategoría.Pero los estudiantes deben tomar todos los cursos que son relevantes para el campo en el que pretenden entrar.

        El estudio de CS Avanzado debe entonces terminar con una de las Especializaciones bajo aplicaciones Avanzadas.El Capstone de una Especialización, si se toma, puede actuar como el proyecto Final, si es permitido por el Código de Honor del curso.Si no, o si un estudiante elige no tomar el Capstone, entonces un proyecto Final separado tendrá que ser hecho para completar este plan de estudios.

        Programación avanzada

        Temas tratados:debugging theory and practicegoal-oriented programmingparallel computingobject-oriented analysis and designUMLlarge-scale software architecture and designand more

        Cursos Duración Esfuerzo Requisitos
        Programación paralela 4 semanas 6-8 horas/semana Programación Scala
        Compiladores 9 semanas 6-8 horas/semana ninguna
        Introducción a Haskell 14 semanas
        Aprende Prolog ¡Ya! (alt)* 12 semanas
        Depuración de software 8 semanas 6 horas/semana Python, programación orientada a objetos
        Probación de software 4 semanas 6 horas/semana Python, experiencia en programación
        Arquitectura de software & Diseño 8 semanas 6 horas/semana ingeniería de software en Java

        (*) libro de Blackburn, Bos, Striegnitz (compilado a partir de la fuente, redistribuido bajo licencia CC)

        Sistemas avanzados

        Temas tratados:digital signalingcombinational logicCMOS technologiessequential logicfinite state machinesprocessor instruction setscachespipeliningvirtualizationparallel processingvirtual memorysynchronization primitivessystem call interfaceand more

        Cursos Duración Esfuerzo Requisitos previos
        Estructuras de computación 1: Circuitos digitales 10 semanas 6 horas/semana Nand2Tetris II
        Estructuras de computación 2: Arquitectura de Computadores 10 semanas 6 horas/semana Estructuras de Computación 1
        Estructuras de Computación 3: Organización de ordenadores 10 semanas 6 horas/semana Estructuras de computación 2

        Teoría avanzada

        Temas tratados:formal languagesTuring machinescomputabilityevent-driven concurrencyautomatadistributed shared memoryconsensus algorithmsstate machine replicationcomputational geometry theorypropositional logicrelational logicHerbrand logicgame treesand more

        Cursos Duración Esfuerzo Requisitos
        Teoría de la Computación (Conferencias) 8 semanas 10 horas/semana Matemática discreta, lógica, algoritmos
        Geometría computacional 16 semanas 8 horas/semana algoritmos, C++ Teoría de juegos 8 semanas 3 horas/semana pensamiento matemático, probabilidad, cálculo

        Aplicaciones avanzadas

        Todas estas Especializaciones de Coursera terminan con un proyecto Capstone.Dependiendo del curso, puedes utilizar el Capstone como tu Proyecto Final para este plan de estudios de Informática.Ten en cuenta que hacer una Especialización con el Capstone al final siempre cuesta dinero.Así que si no deseas gastar dinero o utilizar el Capstone como tu Final, puede ser posible tomar los cursos de la Especialización de forma gratuita mediante la búsqueda manual de ellos, pero no todos permiten esto.

        Cursos Duración Esfuerzo Requisitos
        Robótica moderna (Especialización) 26 semanas 2-.5 horas/semana Física a nivel de estudiante de primer año, álgebra lineal, cálculo, ecuaciones diferenciales ordinarias lineales
        Minería de datos (Especialización) 30 semanas 2-5 horas/semana aprendizaje automático
        Big Data (Especialización) 30 semanas 3-5 horas/semana ninguna Internet de las Cosas (Especialización) 30 semanas 1-5 horas/semana fuerte programación
        Cloud Computing (Especialización) 30 semanas 2-6 horas/semana Programación en C++
        Fullstack Open 12 semanas 6 horas/semana Programación
        Ciencia de Datos (Especialización) 43 semanas 1-6 horas/semana ninguna
        Programación Funcional en Scala (Especialización) 29 semanas 4-5 horas/semana Un año de experiencia en programación
        Diseño y Desarrollo de Juegos con Unity 2020 (Especialización) 6 meses 5 horas/semana programación, diseño interactivo

        Proyecto final

        La UniversidadOSS está enfocada a proyectos.Se te anima a que realices las tareas y los exámenes de cada curso, pero lo que realmente importa es si puedes utilizar tus conocimientos para resolver un problema del mundo real.

        Después de haber superado todo el Core CS y las partes de Advanced CS relevantes para ti, debes pensar en un problema que puedas resolver utilizando los conocimientos que has adquirido.No sólo el trabajo en un proyecto real se ve muy bien en un currículum, sino que el proyecto también validará y consolidará tus conocimientos.Puedes crear algo completamente nuevo, o puedes encontrar un proyecto existente que necesite ayuda a través de sitios web comoCodeTriage oFirst Timers Only.

        Otra opción es utilizar el proyecto Capstone de cursar una de las Especializaciones en Aplicaciones Avanzadas; que esto tenga o no sentido depende del curso, del proyecto, y de si el Código de Honor del curso te permite o no mostrar tu trabajo públicamente.En algunos casos, puede no estar permitido; ¡no viole el Código de Honor de su curso!

        ¡Ponga la insignia OSSU-CS en el README de su repositorio!Universidad de la Sociedad del Código Abierto - Ciencias de la Computación

        • Markdown: (https://img.shields.io/badge/OSSU-computer--science-blue.svg)](https://github.com/ossu/computer-science)
        • HTML: <a href="https://github.com/ossu/computer-science"><img alt="Open Source Society University - Computer Science" src="https://img.shields.io/badge/OSSU-computer--science-blue.svg"></a>

        Evaluación

        Al terminar tu proyecto final, envía la información de tu proyecto a PROJECTSvia un pull request y utiliza nuestros canales de la comunidad para anunciarlo a tus compañeros.

        Tus compañeros y mentores de OSSU evaluarán entonces tu proyecto de manera informal.No serás «calificado» en el sentido tradicional – cada uno tiene sus propias medidas para lo que considera un éxito.El propósito de la evaluación es actuar como tu primer anuncio al mundo de que eres un científico de la computación y obtener experiencia escuchando la retroalimentación – tanto positiva como negativa – y tomándola con calma.

        La evaluación final del proyecto tiene un segundo propósito: evaluar si OSSU, a través de su comunidad y plan de estudios, tiene éxito en su misión de guiar a los estudiantes independientes en la obtención de una educación de clase mundial en ciencias de la computación.

        Trabajo cooperativo

        Puedes crear este proyecto solo o con otros estudiantes¡ Nos encanta el trabajo cooperativo¡ Utiliza nuestros canales para comunicarte con otros compañeros para combinar y crear nuevos proyectos¡

        ¿Qué lenguajes de programación debo utilizar?

        Amigo, aquí está la mejor parte de la libertad¡ Puedes utilizar cualquier lenguaje que quieras para completar el proyecto final.

        Lo importante es interiorizar los conceptos centrales y poder utilizarlos con cualquier herramienta (lenguaje de programación) que desees.

        Felicidades

        Después de completar los requisitos del plan de estudios anterior, habrás completado el equivalente a una licenciatura completa en Informática. Enhorabuena!

        ¿Qué es lo siguiente para ti? Las posibilidades son ilimitadas y se superponen:

        • ¡Busca un trabajo como desarrollador!
        • Revisa las lecturas para encontrar libros clásicos que puedas leer y que afinen tus habilidades y amplíen tus conocimientos.
        • Únete a un meetup de desarrolladores local (por ejemplo, a través de meetup.com).
        • Preste atención a las tecnologías emergentes en el mundo del desarrollo de software:
          • Explore el modelo de actor a través de Elixir, un nuevo lenguaje de programación funcional para la web basado en la máquina virtual Erlang, de eficacia probada.
          • Explore el préstamo y los tiempos de vida a través de Rust, un lenguaje de sistemas que logra la seguridad de la memoria y los hilos sin un recolector de basura.
          • Explore los sistemas de tipos dependientes a través de Idris, un nuevo lenguaje inspirado en Haskell con un soporte sin precedentes para el desarrollo orientado a tipos.
          • Sigue aprendiendo

            Código de conducta

            Código de conducta de la UASD.

            Cómo mostrar tu progreso

        1. Crea una cuenta en Trello.
        2. Copia este tablero a tu cuenta personal.Consulta cómo copiar un tablero aquí.

        Ahora que tienes una copia de nuestro tablero oficial, sólo tienes que pasar las tarjetas a la columna Doing o a la columna Done según vayas avanzando en tu estudio.

        También tenemos etiquetas para ayudarte a tener más control a través del proceso.El significado de cada una de estas etiquetas es:

        • Main Curriculum: las tarjetas con esa etiqueta representan cursos que aparecen en nuestro plan de estudios.
        • Extra Resources: las tarjetas con esa etiqueta representan cursos que fueron agregados por el estudiante.
        • Doing: las tarjetas con esa etiqueta representan cursos que el estudiante está haciendo actualmente.
        • Done: las tarjetas con esa etiqueta representan cursos terminados por el alumno.Esas tarjetas también deben tener el enlace de al menos un proyecto/artículo construido con los conocimientos adquiridos en dicho curso.
        • Section: las tarjetas con esa etiqueta representan la sección que tenemos en nuestro plan de estudios.Esas tarjetas con la etiqueta Section son sólo para ayudar a la organización de la columna Hecho.Debes poner las tarjetas del Curso debajo de la tarjeta de su respectiva Sección.
        • La intención de este tablero es proporcionar a nuestros alumnos una forma de seguir su progreso, y también la posibilidad de mostrar su progreso a través de una página pública para amigos, familiares, empleadores, etc.Puedes cambiar el estado de tu tablero para que sea público o privado.

          Equipo

          • Eric Douglas: fundador de OSSU
          • hanjiexi: lead technical maintainer
          • waciumawanjohi: lead academic maintainer
          • Contributors

          .

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *