Your SlideShare is downloading. ×
Competencias de programación
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Competencias de programación

847
views

Published on

Published in: Education

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
847
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Competencias de Programación Competencias de Programación Mario Ynocente Castro 7 de agosto de 2011
  • 2. Competencias de Programación Índice 1 Spotlight Sessions 2 ¿Dónde practicar? 3 Competencias 4 Temario Básico Intermedio 5 Complementos
  • 3. Competencias de Programación Spotlight Sessions Spotlight Sessions www.topcoder.com/tc?module=Static&d1=hs&d2=spotlightSessions
  • 4. Competencias de Programación Spotlight Sessions Spotlight Sessions Hoy en día es más fácil encontrar problemas Aprendió algoritmos en algunos cursos pero mayormente practicando Tu universidad no importa, vivimos en una sociedad globalizada Los fundamentos matemáticos ayudan No es bueno separar aprender algoritmos de codificarlo
  • 5. Competencias de Programación Spotlight Sessions Spotlight Sessions 90 % práctica Necesitas practicar todos los tipos de problemas, especialmente con los que tienes problemas Una vez que haz practicado bastante el 99 % de las veces estás haciendo encajar cosas que ya haz hecho Problemas fáciles para habilidades de implementación Problemas difíciles para pensar
  • 6. Competencias de Programación Spotlight Sessions Spotlight Sessions Nada se compara a resolver problemas en un ambiente de competencia 1 o 2 (SnapDragon), 3 o 4 (ACRush) contests completos por semana con su equipo
  • 7. Competencias de Programación Spotlight Sessions Spotlight Sessions Un equipo ACM puede funcionar en base a especialidades Si había conflicto por el teclado uno escribía pseudocódigo Estimar bien el tiempo para una solución Para el trabajo en equipo generalmente quieres paralelizar más que trabajar juntos
  • 8. Competencias de Programación ¿Dónde practicar? Topcoder (www.topcoder.com/tc)
  • 9. Competencias de Programación ¿Dónde practicar? Codechef (codechef.com/)
  • 10. Competencias de Programación ¿Dónde practicar? Codeforces (codechef.com/)
  • 11. Competencias de Programación ¿Dónde practicar? Project Euler (projecteuler.net/)
  • 12. Competencias de Programación ¿Dónde practicar? Live Archive (livearchive.onlinejudge.org/)
  • 13. Competencias de Programación ¿Dónde practicar? UVa OJ (uva.onlinejudge.org/)
  • 14. Competencias de Programación ¿Dónde practicar? SPOJ (www.spoj.pl/)
  • 15. Competencias de Programación ¿Dónde practicar? Timus OJ (acm.timus.ru)
  • 16. Competencias de Programación ¿Dónde practicar? SGU (acm.sgu.ru)
  • 17. Competencias de Programación ¿Dónde practicar? Zhejiang OJ (acm.zju.edu.cn/onlinejudge/)
  • 18. Competencias de Programación ¿Dónde practicar? Pekin OJ (poj.org)
  • 19. Competencias de Programación Competencias ACM - ICPC
  • 20. Competencias de Programación Competencias Google Code Jam
  • 21. Competencias de Programación Competencias Topcoder Open
  • 22. Competencias de Programación Competencias Facebook Hacker Cup
  • 23. Competencias de Programación Competencias IEEExtreme
  • 24. Competencias de Programación Temario Básico Básico Librerías de tu lenguaje Complejidad en tiempo y espacio Ordenamiento Bubble Sort Selection Sort Merge Sort Counting Sort Contar inversiones Backtracking 8 reinas Sudoku Algoritmos Voraces (Greedy)
  • 25. Competencias de Programación Temario Básico Básico Grafos Búsqueda en profundidad (DFS) Búsqueda en anchura (BFS) Algoritmo de Dijkstra Algoritmo de Floyd - Warshall Árbol de expansión mínima Algoritmo de Prim Algoritmo de Dijkstra Programación Dinámica Problemas de monedas LIS, LCS Edit distance Bitmask Reducción de memoria
  • 26. Competencias de Programación Temario Básico Básico Matemática MCD, MCM Inducción Matemática Demostración por contradicción Búsqueda binaria Coeficientes binomiales Teoría de Números Test de primalidad Criba de Eratóstenes
  • 27. Competencias de Programación Temario Intermedio Intermedio Grafos Union-Find Arbol de expansión mínima Algoritmo de Kruskal Aplicaciones de DFS Puntos de articulación Puentes Componentes fuertemente conexas Flujo máximo Exponenciación de Matrices Algoritmos de cadenas KMP Trie
  • 28. Competencias de Programación Complementos Clasificación de problemas : https://docs.google.com/document/d/1t6xQ- 4ZMvinyxcEImtrMqrqoFPaMd-lW4uaDGced3i0/edit?hl=en Códigos de soluciones : https://github.com/marioyc/Online-Judge-Solutions