practice in compsci fundamentals, probably mostly using functional langauges