Category Fundamentals and Algorithms