Base IT knowledge l1

Clean Code

code authoring basics: coding and naming conventions
important ‘code smells’
refactoring basics

Computer science fundamentals

Data structures: stack, array, linked list, queue, bag
Basic algorithms: elementary sort
Algorithms complexity basics
Merge and quick sort
Hash tables; hash functions
Priority queue/heap
Union-find structure and algorithm

Version control principles

version control fundamentals, centralized vs distributed
svn basic usage: checkout, update, commit, merge, conflict resolution
git basic usage: clone, branches, merging, push, pull
git comparison to svn

Automation concepts

command-line scripting
powershell scripting
using msbuild for buiding automation
Continuous integration setup and usage (cruise control, teamcity)
overview of other scripting platforms (python, node.js, csipts)

Computer science

Divide-and-conquer algorithms generalization
Graph data structure, BFS, DFS algorithms
Greedy algorithms: Minimal spanning tree, shortest path

Computers and networks

Network fundamentals, OSI model
transport level protocols: IP, TCP, configuration
presentatin level protocols: https
application level protocols: http, ftp, smtp, dns
using utils: ping, nslookup, tracert, telnet, curl

Xml concepts

Xml overview
XPath concepts
XSD concepts

Advanced computer science

strings algorithms: sort, substring search, regular expressions, compression
dynamic programming
nonlinear programming
memory-management (garbage collection)
data indexing

Cryptography

cryptography algorithms: symmetrical, asymmetrical
applications: .net cryptolibrary, crypto++, else?

Trees

binary search trees
balanced search trees: b-tree, red-black-tree, avl