Introduction to the fundamentals of computer science