Just because I’m a student doesn’t mean that you shouldn’t respect my time: Study guides

OK, I was going to write this blog post after I was done studying for the midterm, but I’m just too steamed right now so I’m going to vent and then get back to it. My plan right now is to spend this entire weekend re-reading all the chapters of the book and making notes on everything. (I keep these notes on my GitHub.)

I’m salty because I emailed the instructor a month ago and asked for the best way to study for the midterm. The response I got was:

Hi Rachel

Lecture notes and the book are probably the best way to prepare for the exam. 

So I guess that I’m just supposed to memorize every fucking thing out of the textbook, because there is no clear way to tell what this teacher things is important and what we will be assessed over.


A textbook I teach out of with only a few sentences highlighted

I clearly have not highlighted every paragraph of the Data Structures textbook that I teach from.

“Oh well you should be learning everything anyway.”

Sure, read all the content, absorb it all, but what we need to know of and what we need to have burned into our brains are very different. I sift through the textbooks that I teach out of and I sure as hell don’t highlight every damn line with what I think is important.

And it depends between teachers!

What I highlight and think is important is based on my own experience in the professional world with things that have come in handy, what I’ve needed to know, and so on. What somebody in academia thinks is important, someone whose research focus is operating systems, might be completely different than what someone thinks from a practical standpoint.

Textbooks are full of words. These words might be good in creating a flow for the textbook, but they are not reference material, and they do not only contain the important bits – they contain information on context, examples, and explanations. At some level, when studying, I’d prefer a reference book than a textbook, because there’s so much to sift through and pull out.

Something I probably don’t need to memorize, but is still mentioned in the textbook, taking up valuable space: “Two common techniques for loading executable files are double-clicking an icon representing the executable file and entering the name of the executable file on the command line (as in prog.exe or a.out).” – Operating Systems Concepts, 9th Edition, Silberschatz


It's part of a study guide that I've prepared.

It’s part of a study guide that I’ve prepared.

The study guides I prepare contain all of the information that I expect my students to know, and that they may potentially be tested over during an exam. It may still be a lot to read and learn, but it doesn’t compare to the amount of time they would have to spend in their textbook, guesstimating what may be important and what may not be.

Because how is a student supposed to properly figure what is and is not important? They’re students. They haven’t had the same background as the instructor, and cannot properly judge what the instructor is going to deem worthy to know.

Functions? Yes, you better damn well know the vocabulary relating to functions so that you can know what I’m talking about when I tell you specifically, “you’re not passing in enough arguments into your function call.”, because if you don’t know the definitions you’re lost.

You need to know how to use pointers, and the operator names and in what contexts what * does. But do you need to know how many bytes an integer, float, and double need? I don’t have that information memorized, and it has never affected me. So I don’t tell them to memorize that. That information is good for some background knowledge and context, but they don’t need to know how many bytes they’re allocating, at least in C++, to write a basic program.


So, in summary, it pisses me off when teachers don’t provide study guides. It already seems like a lot of teachers (especially at university level) have disdain for undergrad students, thinking that they’re so frivolous and immature. What could those kids possibly be doing with their time? Obviously all they should be doing is studying! It comes off as disrespectful. Many of us work, many have families – even at the community college level! – We have shit to do, we’re here to learn, but we’re not here to memorize textbooks. Exams really aren’t the best way to assess students, but when we have so many students there’s not really a chance to do things more personally.

I teach full time, and when you teach full time, that’s way more than a full time job. I’m working on visa paperwork and travel plans. I’m studying for classes. I’m trying to get an advisor and learn about gradschool. And I’m the only one at home to take care of things. And, sometimes, I want to play video games.


Next rant: “Why my powerpoints > your powerpoints”? the next chapter on “Why I’m a better teacher than you are”, the ego-driven blog series on why school sucks and why I make it sssooooo much better. ;P

See also: “Why I make my study notes public – so that other students don’t have to suffer as I have. My teaching philosophy in a nutshell.”

More exams are better

Schedule for the Operating Systems class that I’m taking

I am stressed out. The class I’m taking has only two exams – Midterm and Final. The exams together are worth 45% of the grade. This is unfortunate for me, considering that I’m not too great at exams!

In yet another example of “things that frustrate me as a student, so I try to do better at as a teacher”, I don’t like exams that cover too many topics. Sure, make the final cumulative; that’s fine. But, during our “learning period” of the semester, I prefer a tighter cycle – Teach, practice, assess. Teach, practice, assess. You can spend more time doing in-depth study of fewer topics in order to prepare for that topic’s exam, rather than panicking and trying to cover every topic for the first 8 weeks and praying to your exam-god that your teacher’s exams aren’t unintuitive, and that what you think is important to study happens to be the same thing that your teacher thinks is important to study. (For reference, I also hate the lack of study guides!)

Schedule for the CS 200 class that I’m teaching

In my classes, I tend to have about 4 exams, including the final. I like to schedule my courses in chunks, with exams being the clear delimiter between topics. For exam 2, students will be studying up on arrays, pointers, memory management, and dynamic variables/arrays; all related and tie together. Exam 3 is everything OOPey. Structs, classes, inheritance.

For Data Structures, the first exam is over introductory content, wrapping static and dynamic arrays, and building a linked list. The second will be over stacks, queues, and dictionaries. The third will be over trees, heaps, and balanced search trees.

And for Discrete Math, each chapter of the book gets its own exam as well. A nice, clean, split between topics in the course.

I also either prepare study guides, or provide exams from a previous semester. Why? I don’t protect my old exams like a dragon hordes treasure because at some point, somebody is going to have that information. And they’ll distribute that information among their friends, so then only a small pool of people will have it. That’s not fair to everybody, and that’s also not really something I can stop. So start them all on even footing. I hope that it also discourages cheating if students know what I expect of them, and what I intend to assess of them.

So I’m nervous about this upcoming midterm. I have actually taken this class before, as an undergrad, at another university…

… and while I scored really well in my programming assignments, I just don’t do well on these kinds of exams. Math, gimme, I’ll ace that. Exams with coding on paper – ok, I can do that. Exams where you memorize a bunch of random information aimlessly? That is not my strong suit.

The first time I took the course, it was taught by Dr. Cotter, who is one of my favorite teachers. Even having an interesting teacher didn’t make it easy for me to do well!

Of course, I’m older now, I’m more experienced, I’m better at knowing how to learn. I have been using more resources as I study these concepts so that I have a better understanding than I would if I only studied from the textbook. But still, I resent not knowing what is expected of me. I resent the lack of respect for my time, by making the exam an amorphous mystery – good luck.

How I prepare for weekly lessons

Lecture prep with textbook open and video editor open.

Here’s a preview into how I create the content for my courses. I always hated slides straight from the textbook publishers, so I always make my own. I also frequently have to re-teach or re-view content that I’ve learned previously, so the best way to learn is to consume all the information and then be able to regurgitate it in my own words.

For discrete math, I first go through the book and highlight the important bits – definitions, laws, notes about how things work. So much content in textbooks is just fluff… while it can help you gain context for what you’re learning, I wish it were separated a little more… give me the pure information in one section, and the pure exposition in another. Examples after that. Make it easy to parse.

So I come up with what I want to cover – then I usually look line for additional resources. I frequently quote Wikipedia pages on math because it’s easier to cite; I don’t want to get in trouble for quoting the textbook (because proprietary, ugh.) There are also Wikibooks (a, b) on Discrete Math, and other class resources from other universities.

Next, I build my lectures. Yep, it’s a slideshow (built with the open source LibreOffice Impress), however:

  • I try to write out all the information that I want to cover for the chapter in these slides. I hate when class slides are useless on their own.
  • I use the slides to give information, show examples, and give practice problems.
  • I turn it into a video, for students to watch on their own time.

As I turn it into a video, I alleviate some of the shitty parts of slideshows further:

  • I don’t just record myself talking as I run through the slideshow “live”. Nope. I throw the slides in my video editor (kdenlive, also open source), then record my talk for each slide separately (with Audacity, also open source). I put them all together in the video editor. This means I cut out all the “ums”, pauses, and stumbles.
  • I insert in working math by-hand by recording myself working problems in a paint program (GIMP, open source) with my drawing tablet (a cheapo Wacom), recording the screen with OBS (also open source).

 

I’m currently writing the lesson plan for a chapter on logic circuits, which means I pull out another handy open source tool: dia.

Using dia to diagram circuits

It’s dia!!

I’ve found that I’m too busy this semester to actually grade paper homework. With my own homework and studying to do as a grad student, it just isn’t practical. Therefore, I’m also leveraging our LMS (learning management software) to build custom homework questions that are self-grading, and give students immediate feedback.

Creating a quiz in D2L

 

Millennials rock

“demographers and researchers typically use the early 1980s as starting birth years and the mid-1990s to early 2000s as ending birth years.”

I think that teachers of the my generation and future generations will end up being more effective because of our experience with various types of technology. Many of us have grown up editing videos, using YouTube, or even making animations (*cough*Newgrounds*cough*…) and when we leverage our experience into our professional lives, we become that much better at creating tools and content. As kids and teens, we learn to be content creators, whether we’re making videos about video games, or programming tutorials, or drawing, or whatever our interests are.

We aren’t afraid of technology, and we pick up the tools we need and teach ourselves. I have a toolbelt full of software for video editing, audio editing, music writing and sheet music creation, diagramming, art, animating, software development, and more. I taught myself to animate as a tween, which is a skill that has served me throughout the years. I began making YouTube programming tutorials when I was about 18, which is another skill that I still build and use today.

We don’t rely on expensive proprietary software to come along and let us teachers achieve what we need – there are tons of tools for all sorts of things, and many are free and open source. And if those tools don’t exist, there are more and more tools popping up for building your own.

We are the generation that creates!

(And is also sleep deprived from too much work. Looks like I’ll get less than 5 hours of sleep tonight…)