Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

User:Regulus bloodmoon/Programming for Capsuleers: Difference between revisions

From EVE University Wiki
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===