User:Graveca/Computing

From Wikipedia, the free encyclopedia

My Computing syllabus

Core Maths[edit]

Hardware[edit]

Data Structures[edit]

  • Primitive types
  • Arrays, Strings
  • Sets, Queues, Stacks
  • Lists, Linked lists
  • Hash tables, Hash maps, Hashing algorithms
  • Graphs, Red-Black Trees, Tries, Heaps
  • Trees, Binary trees, Binary search trees, AVL Trees, Red Black Trees
  • Image and Video representation

Algorithms[edit]

  • Sort - Quicksort, Mergesort, Bubblesort
  • Search - Binary search, Deterministic search, Probabilistic search
  • DFS, BFS, Dijkstra's
  • Divide and Conquer, Greedy
  • Pattern matching, Regular expressions
  • Compression, RLE, Huffman coding
  • Data mining, Big data, Time series
  • Map reduce, Page Rank

Complexity[edit]

Name Data structure Best Average Worst
Quicksort Array O(n log(n)) O(n log(n)) O(n^2)
Mergesort Array O(n log(n)) O(n log(n)) O(n log(n))
Bubblesort Array O(n) O(n^2) O(n^2)
Bucketsort Array O(n+k) O(n+k) O(n^2)

Design and Architecture[edit]

Coding[edit]

Main concepts[edit]

Technique[edit]

Java[edit]

  • Bytecode
  • JVM memory model, Stack, Heap
  • Garbage collection
  • Reflection
  • Object - equals, hashcode, toString
  • Profiling tools, JProifiler, Static analysis tools, FindBugs

C++[edit]

  • STL, Smart pointers
  • Boost
  • Multiple inheritance, Diamond problem
  • Linking
  • Virtual functions, VTable

Scala[edit]

  • Collections
  • Functional, Partials, Currying
  • Actors
  • Patterns - Cake, Pimp

Concurrency[edit]

Problem Solving[edit]

  • Code golf
  • Code jams, Topcoder
  • Logic and reasoning problems
  • Probability problems
  • Numerical methods problems
  • Skyline problem, Towers of Hanoi, Travelling salesman

Project Delivery[edit]

  • Waterfall model, Requirements analysis, Prototyping
  • Agile, Scrum
  • Change management, Source control
  • Testing - Functional, System, Unit, Regression, Performance, Stress, Volume, Smoke, BDD