A First Course in Algebra: An Interactive Approach