First you should look into the assumptions behind the test that you are using.
Generally the z-test is used when you know the population standard deviation, use the t-test when using sample standard deviations to estimate the population SD. However, with both samples larger than 40, the difference in results will be small.
Both the z-test and t-test are based on the assumption of normality which can be satisfied if either you know that the true distribution is normal, or if the sample size is large enough and the data is normal enough. You should check the observed scores for outliers or strong skewness before using either test.
The big issue with how you described your data collection is independence of the data. Scores from students within the same class are not likely to be independent of each other. For example, a student in one class may have asked a question that you then answered (and everyone in the class heard the answer), but the other class did not hear the answer, only heard your initial description in the lecture. Since this affects everyone in one class (or everyone who attended that day) and none in the other class, that breaks the independence requirement. The better design would be to have multiple classes receive each treatment so that you can assess the amount of variability between classes within each treatment and take the classes (clusters) into account in the analysis. As it is, without a very strong assumption about independence, you really have 0 degrees of freedom for the test and cannot conclude much.
Even when all the assumptions and conditions are met (or at least reasonable), you need to be careful about stating a cause and effect relationship. Using a word like "provided" implies a causal relationship, which requires stronger conditions than just saying that a difference was observed.
You should also look at the confidence interval, this gives more information and accounts for more of the variability than just the point estimate.