Proctoring is not a solution that I am comfortable with. I do not want to peer into the private lives of students and their home environments. Not every student is well-off, and has a private space all to their own for 3 hours.
I think taking tests from home does not really work with any of the models I have seen discussed this year. Cheating is real. It has nothing to do with rote learning. I am out of ideas which are foolproof.
Ex: student is to implement a K&R C compiler + code generator in 1 semester. Help them break up the project into manageable chunks (tokenize, AST, register allocation, etc). Each feature includes tests, comments, docs, and is presented to you by X date. Code review and cycle as many times as needed as long as it gets in by X date. By the end of the class the student hit 100% of their deadlines but only pass 70% of some test C files you create so they get a 70% (or higher if their code was consistently good and did not need cleanup) in the class or something.
It would never work because "you need to have a final exam" but it's the ideal I think we should strive for if you are "teaching programming" since this is how most work I've done in the real world has gone.
From the students perspective all they need to do is:
1. Write a "project proposal" where they define a project, define goals, schedule a checkin with you to see if that project is large enough (1/20th the grade of the class)
2. Watch lecture videos and go through exercises on their own time.
3. Write code and bring it in to teacher. (18/20th of their grade)
4. Demo their finished project to professor (1/20th their grade)
This does work for later classes. I never had the ability to test this workflow out for earlier (100-level) classes as all of those classes I TA'd for followed the same model you're talking about.
The 200+ level classes that followed the model I'm talking about had ~10% to 30% pass rate which was in line (~2x) with the pass rate of similarly leveled courses from our college's Math and Physics department which was used as a sanity check.
edit: that's not to say you're incorrect that it would be difficult to do at scale, this is just the way I've seen it done at moderate scale (20 to 40 students).
If you're asking the students to define unique projects themselves, you run into new problems as students dig up the most obscure blogs they can find on the internet to download and give you. It's a never-ending adversarial struggle.
This is especially true of junior data scientists (in my anecdotal experience so far)
While having individual projects is very nice and it works for smaller classes, it does not scale to average students.
I have once used individual projects to grade the ~100-student class and the amount of effort it takes is unbelievable.
For example, just your number "1." point, write a project proposal, is not so easy. It takes hours to write a good proposal and several back-and-forths between instructor and student to agree on a reasonable (not too advanced/not too basic) project.
Do you mind sharing roughly where this was (country and quality of university)? I thought we were in an era of grade inflation where everyone gets an A.
Part of it was related to their expectations of the course: "you mean I have to write code and the class is based off of that and not memorizing test answers? I'm out"
There is some kind of a massive waste of money going on.
What I mean is - certainly you don't want to harm the reputation of your school, and you want your students to have actually learned the material and be prepared for whatever they do in life that requires that knowledge... but what I'm wondering is... if there's presumably some tiny percentage of a class that is going to actually cheat or act in ethically questionable ways, are we in fact putting more effort into the prevention of that cheating than is warranted?
It should instead be worked on making cheat resistant material
(unfortunately I don't know how to do it but I feel like the later is where the energy/brainstorming should be spent)
According to the International Centre for Academic Integrity, from 71,000+ US students surveyed between 2002 and 2015 at least 68% of students admitted cheating in some way.
I personally experienced this in undergraduate with a professor who chose to ignore obvious cheating and I think it negatively impacted the motivation of students to learn the material.
Stop giving bullshit tests with bullshit restrictions, which is usually what drives people to cheat in the first place. Have you considered asking: what can I change so my students are able to successfully learn the material such that they won't feel compelled to cheat? Recognize that cheating students are a reflection of your apathetic educational strategy and ineffective testing model.
Here's an example of a bullshit test which exemplifies a few of the issues with apathetic educators: single-try tests. Students are only given a single attempt to demonstrate they've learned the material, with the result ultimately reflected in the final grade. The apathetic educator is unbothered by having failed to adequately prepare his students, despite his knowledge of their inability to accurately self-asses in an unknown topic. A caring educator would provide a way for students to diagnose and fix any gaps in their understanding in addition to as a path for them to raise their grade to an A if they demonstrate an understanding of all relevant course topics.
If you think you understand something, but can't actually solve problems without referencing anything, you don't actually understand it.
That is it is better to understand how to solve problems with references than without. You'll forget most you know but once recorded you can't forget. Then you just need to know it exists so you can find it.
No amount of reference sheets will help you with mathematics if you don't understand something.
I have a terrible memory and I excel at math (and majored in physics in undergrad) precisely because it doesn’t require memorization.
I don’t know anyone who is good at math who operates by memorization.
On a side note, I really wish we had more emphasis on the conditions under which the linear approximations broke down. I remember sitting at the front of the MIT 2.002 class, and there was a demonstration of metal fatigue using a hydraulic press at the back of the classroom. Professor Sanjay Sarma stepped up to the front row in order to better see the demonstration at the back, and so I asked him about my intuitions about which way the model diverged from reality under vibration frequencies high enough that the quasistatic assumptions built into the model broke down. He looked to both sides of us and told the students on either side of me not to listen because they might get confused, and then we had a little discussion about conditions beyond which the model applied and which way the model's error went under those conditions. It was simultaneously one of the best and most disappointing moments in my education. It was an exciting discussion, but I was sad that the world beyond the linear approximations was considered to be likely too deep a rabbit hole for most of the class. Sanjay (as he preferred to be addressed) was an excellent educator, and I'm sure his judgement was based on past experience... each semester has a given complexity budget, and the field of Mechanical Engineering is so broad (statics, dynamics, thermodynamics, fluid dynamics, mechanisms, control theory/sensors/OpAmps, manufacturing techniques, design for mass manufacturing, numerical process control, destructive/non-destructive testing, etc., etc.) that undergraduates need to spread a limited complexity budget across so many subjects that they can each only be covered relatively shallowly.
If you think you understand some mathematical rule, but can only show 100 problems from memory, you don't actually understand it that well. If you can convincingly show why no counterexample exists, then you understand it in the strongest possible way.
Also, it was not that unusual for exercised based university math tests to allow references. Precisely because it does not matter all that much for difficult exercises, remembering everything is not the point.
Anecdotally, my favorite professor from undergrad (born in China, PhD from the best department in his field [my personal opinion]) said he thought the reason for Russian/Chinese dominance in certain areas of math was due to how those areas benefitted very much from rote practice. He advised all of us (American undergrads) to drill and kill certain techniques in order to build up our pattern matching.
I don’t think they’re advocating doing hundreds of worksheets on the power rule or trig substitutions or memorizing line by line proofs. Our brains do follow formal rules when doing math, but the insight necessary to find a way to solve a problem that isn’t straightforward isn’t through application of rules, it’s through a tacit intuition that you build up by doing lots of math. There is no other way.
It’s like how everyone feels like they understand physics to a PhD level while watching the Feynman lectures, but if you were to hand them any of the problems afterwards, what seemed like such a natural stream of thought is just simply out of reach. It’s much easier to go over something and declare “this makes sense” than it is to come up with that something in the first place.
The only way I got through my undergrad math was by doing problem set after problem set until the concepts were second nature, and the courses that didn't have a sufficient breadth of exercises to drive home fundamental concepts ended up being the ones I struggled with the most.
Applying derivations that someone else invented doesn’t require “pure genius”; it only requires you to be able to follow the person who discovered it, which is a lot easier than finding it yourself.
> The only way I got through my undergrad math was by doing problem set after problem set
It sounds like you didn’t really understand what you were doing then. It’s hard to phrase this without just sounding like I’m bragging, but I never had to practice doing anything I actually understood. If I felt like I needed practice, that was a sure sign I didn’t get it, which I always tried to fix with careful thinking instead of repetitive memorization
Obviously, but that’s not what we were talking about. We were comparing memorization to understanding, not inventing to learning.
If you’re good at math, you should be able to re-derive any formula or procedure quickly (up to, say, constant factors) without having to memorize it (after the derivation has been explained to you).
If you run into a problem that you can’t solve because you didn’t drill the steps hard enough, you don’t actually understand the problem. This isn’t necessarily your fault - many math courses teach by symbolic manipulation without the conceptual grounding required to actually re-derive the symbolic procedures yourself. Few students will seek that understanding on their own outside of class, in which case they’re stuck with memorization.
> the reason for Russian/Chinese dominance in certain areas of math was due to how those areas benefitted very much from rote practice.
I think this supports my point - these “certain areas” are small. There is a relative paucity of mathematical/physical innovation from China (especially per capita!). The west still dominates mathematical invention.
The difference between learning X and understanding X
Often the problems had some trick that you had to apply to solve it. And without knowing those certain tricks from routine finding right solution was pretty hard.
Either you will understand permutations and combinations almost instantly, or you will have to do tons of examples.
Likely not applicable to all kinds of math but relatable to some concepts for sure
Being able to search things up is well and good, but dont you run into situations where you don't even know what to search for in the first place?
Every few years I need the quadratic formula for something, and I just derive the thing instead of remembering or looking it up. I’ve essentially traded some memorization for some understanding. We’re surely going to do it wrong, so I’d err on the side of too much understanding and too little memorizing. If you have a real feel for how a thing works, it’ll stick with you longer than the date of such and such battle.
Most people can't do this or have a very hard time learning much easier things.
I find that the crowd that talks about "pointless learning/testing/education" are often either ones that struggled mightily and were never really that smart, or they are so smart that they are above it.
As for the “most people can’t derive the quadratic formula,” you might be right about my blind spots, but I think it’s equally likely that I’m right and have the necessary point of view to see that most people can’t do it because it’s taught and tested poorly. Both explanations would equally explain it being easier for me to derive the formula than memorize it.
> to see that most people can’t do it because it’s taught and tested poorly.
Or they just don't want to learn it. Some people don't like math. Or maybe people are lazy - they like it but can't overcome procrastination to really learn it. Or they are more focused on something else, like I was as an adolescent (computers.) There are certainly people who got sick, or went on vacation during that week of school, etc.
My point is, we always like to blame things that aren't actionable, i.e. "the system." It was just "taught poorly." There are certainly cases of that being the truth, but if you look at the time constraints and all other details, it's hard to just blame the system. How do you actually fix the system?
Yeah, given all the constraints, I agree completely. My complaint is that there is a giant emphasis on testing in really scalable manners that take people and dialogue out of it. So which constraint is the system (the way things are taught and tested) most sensitive to? I expect that it's teacher to student ratios, which my thesaurus says is a synonym for money, simultaneously the easiest and hardest constraint to change :-(
It's much more important to know that there is a quadratic formula, or more fundamentally that every quadratic equation has 0-2 roots (exactly 2 if dealing with complex numbers) and what the different cases loom like (does the parabola touch or intersect the x-axis?). It's typically more important to be able to solve a quadratic equation through guessing, factoring or completing the square. Because these things teach you something about how mathematics works, regurgitating some formula serves no purpose, you can just ask Wolfram|Alpha instead. And even if you can't complete the square etc., I'd much rather people understood the conceptual side of it instead of remembering formulas.
The importance has always been "how its applied." Tons of people failed classes despite knowing the formula. It has always been about the basic application.
I don't think many math tests consisted of "write down the quadratic formula" and that's it.
But nowadays, you can just feed the equation to Wolfram|Alpha (or Sage, or Mathematica, ...), so there is no point in blindly memorising formulas.
And I don't think I've ever had a formula sheet in one of my maths exams in school...
Sure the situation was still extremely contrived, but it wasn't simply regurgitating facts
For example you learn a depth first search and in the exam you have to store some information on each step to print it in the end.
You have to learn different proof schemes and use the easiest one for a given hypothesis. Sometimes you get with the wrong one in an endless recursion for example.
An ideal situation would be allowing students to use online resources but not to communicate with other people during the exam.
Edit: typo
a) make cheating in effective, (no need to sneak in a formula sheet when everyone has it)
b) More like the real world, I always have google at my fingertips, it is just how efficiently I can use google and my existing knowledge to solve a problem
So even a well designed