Add the 'add_workout' and 'store_workout' methods to CourseOffering controller to process the addition workouts to a course offering.
Changed the courses controller to check whether a course offering already exists for a term before creating it. Changed the course creation method in the controller to facilate the simultaneous creation of the course offering.
In the exercises controller,
 Removed the pick logice that adds two choices to an exercise by default.
Corrected a lot of spacing and indentation issues.

Changed the logic for the practice and evaluate for an exercise to facilitate the practice and evaluate of a workout for students to answer exercises from a workout sequentially.
In the workouts controller, added the 'new_with_search' method to provide a search facility for the name of exercises.

In the edit method, added the @exs and @allexs arrays to hold the list of current exercises of a workout and all available exercises respectively.

While creating a workout, changed the code to capture the relationship with exercises and populating the attributes of the Exercise_workouts table.

For the practice_workout method, added the functionality for a student to take a workout by storing the remaining exercises for a workout in the session variable.

Permitting the other parameters necessary for workouts to come through in 'workout_params'.
In the course offering controller, added it association to to workouts through 'workout_offerings'.
In the Exercise model, added the association to workouts through ExerciseWorkouts and commented out the earlier 'has_and_belongs_to_many' relationship.

Added the 'user_attempted' method to determine whether an user has attempted an exercise or not.
In the Workout model, added the associations to course_offerings and exercises through ExerciseWorkouts and workout_offerings respectively.
Commented out the previous 'has_and_belongs_to_many' relationships.
Added a new model, ExerciseWorkout, to capture the relationship between exercises and workouts.
Added a new model, WorkoutOfferings, to capture the relationship between course offerings and workouts.
Added the view for the new method added to the Course offerings controller, add_workout, to facilitate the addition of workouts
Changed the course model to associate it with exercises through CourseExercise
Create a new model, CourseExercise, to capture the association between course and exercise.
In the exercise model, added the association with courses through CourseExercise
In the show view of course offering, removed the display of workouts, exercises etc of an offering since it is now displayed at a course level.
In the course_offering_fields partial for course offering, removed the input for name because it is not taken from a course level.
Changed the form partial for courses to accept information for creating a single courses offering.
Changed display from course to course offering since the new of course now actually creates a course offering.
Changed the show view of courses to display each course offering for that course in a tabular manner, with a grid system for displaying the exercises, workouts, etc associated with the course.
Changed the semantic form generator for the new partial of user session to get a 'in-form' user so that the sign up is displayed as  a dropdown on the topbar.
Changed to 'exercise_practice' from 'practice' in the thumblg partial of exercises.