Computer science fundamentals