Przede wszystkim chciałbym z całą stanowczością podkreślić, że nie jestem osobą do której ten post jest skierowany - daleko mi do poziomu C1 - C2. Mimo wszystko, zdecydowałem się napisać parę słów od siebie ponieważ uważam, że może akurat uda mi się pomóc Ci rozwiązać choćby część Twoich problemów.
Wspominałeś o tym, że masz problem z poprawnym zapisem słów. Problem ten możesz rozwiązać wykorzystując jakiś program wspomagający naukę (np. Anki). Tworzysz sobie nową kartę, ale w taki sposób aby program pokazywał Ci słówko w języku polskim a Twoim zadaniem będzie NAPISAĆ to słowo w języku angielskim (samo powiedzenie do siebie angielskiego odpowiednika wybranego słowa to za mało, trzeba je napisać). Po tym jak napiszesz wybrane słowo program Anki albo podświetli wszystko na zielono (przynajmniej w mojej wersji tak jest) albo wskaże Ci błędy w pisowni. Słowa, które już umiesz poprawnie zapisać będą wyświetlane rzadziej, a te z którymi masz problem częściej. U mnie ta metoda działa.
Ponadto wspomniałeś coś o tym, że popełniasz błędy gramatyczne. Proponowałbym najpierw ustalić przyczynę Twoich problemów. Wydaje mi się, że błędy tego typu robione są głównie z dwóch powodów:
1. Brak odpowiedniej wiedzy
2. Złe nawyki
Jeżeli chodzi o błędy pierwszej kategorii to wiadomo: trzeba jakoś wiedzę nabyć a dróg do zdobycia wiedzy jest wiele.
Co do drugiej kategorii błędów: błędy tego typu to błędy, które robi się odruchowo. To błędy, które robi się na zasadzie takiej, że robisz błąd a później jak Ci ktoś (lub Ty sam) uświadomi o tym to wtedy wszystko staje się takie oczywiste. Tego typu błędy również możesz próbować rozwiązać za pomocą narzędzi typu Anki. Po prostu stworzysz sobie karty w taki sposób aby pomogły Ci rozwiązać jakiś problem. Dla przykładu: jeżeli zdarza Ci się czasem pisać "They was [coś tam]" zamiast "They were [coś tam]" to zawsze możesz sobie stworzyć kartę typu "Przetłumacz zdanie: przez cały dzień wspinali się na szczyt. (przykład pochodzi z tej strony)". I wtedy Ty próbujesz przetłumaczyć zdanie i jak wpiszesz "They WERE climbing all day to the top." to będzie ok a jak wpiszesz np. "They WAS climbing all day to the top." to program pokaże Ci gdzie się pomyliłeś". Oczywiście, żeby to działało musisz mieć podobnych przykładów trochę więcej po to aby sobie wyrobić poprawne nawyki a nie wykuć wybrane zdanie na pamięć.
Warto także stosować podpowiedzi, które pomogą Ci napisać zdanie dokładnie w takiej samej formie jaką chce program - oczywiście trzeba to zrobić w taki sposób aby karta nadal spełniała swoje funkcje dydaktyczne. Dla przykładu, jeżeli miałbyś tendencje do zapominania o czasowniku "to be" podczas stosowania Present Continuous to wtedy możesz stworzyć kartę typu: "Przetłumacz zdanie [jakieś zdanie po polsku] używając czasu Present Continuous. Przydatne wyrażenia: at the moment.". Wtedy podczas tłumacznia wybranego zdania nie napiszesz "now" w sytuacji kiedy program oczekiwał wyrażenia "at the moment", ale za to jak zapomnisz o czasowniku to be to jednak program zareaguje prawidłowo. Oczywiście zdaje sobie sprawę z tego, że "now" i "at the moment" to niekoniecznie zamienniki ale nie chciało mi się wymyślać lepszego przykładu.
Oczywiście jeżeli jesteś osobą bardziej zaawansowaną to pewnie powyższych błędów nie robisz. No ale to tylko przykłady i generalnie jestem zdania, że stosując tę samą technikę można rozwiązać również bardziej złożone problemy.