I wen't through almost the exact same thing when getting my engineering degree.  I ended up going on a co-op which helped me get motivated to finish.  I also had my parents suggesting I switch majors.
Congrats for turning things around 
What are you smoking?