Computer science notes