An Intermediate Course in Algebra: An Interactive Approach