I'll add that you can get free articles and videos with worksheets and the solution thereof on the deutsche welle website, if you don't want to pay for a full-on online course.
Also for speaking I can recommend
http://www.languageexchange.ch/ if it's available in your city (there are other organizations in other cities), as it's a very casual environment where you don't need to come prepared, can speak with natives and costs only 5 CHF a session. Much easier than finding matches on tandem websites IME.