→Programming methods: outline/stub |
|||
| Line 47: | Line 47: | ||
===Programming methods=== | ===Programming methods=== | ||
'''Inherently multi-session.''' | |||
Outline: | |||
* Fundamental data structures: lists (vectors), deques (linked lists), dicts (hash tables), trees. | |||
* Discussion of algorithmic complexity (time and space). Asymptotic complexity, O-notation. | |||
* Recursive algorithms: binary search, Towers of Hanoi. | |||
* Dynamic programming: Fibonacci sequence, knapsack problem, seam carving. | |||
* Graphs. Graph algorithms: BFS, DFS, minimum spanning tree (Prim, Kruskal), Dijkstra's algorithm, Floyd-Warshall, A-star. | |||
Advanced topics of interest: | |||
''These topics largely have no connection to EVE Online, but would be taught in a full-length version of the course (not necessarily in this order).'' | |||
* Numerics: floating-point arithmetic and how it WILL kill you. Fast Fourier transforms. Introduction to digital signal processing. | |||
* Parallel programming: multithreading and how it can turn long problems into short ones (apart from annoying P-complete problems). Inter-process communication. | |||
* Network programming: sockets, client-server model, sending and receiving messages over teh Internetz. | |||
===Useful libraries and techniques=== | ===Useful libraries and techniques=== | ||