Rewind — January 6, 2014:
It was the first day of class of Winter Semester (yeah, we call it Winter semester not Spring…it’s Michigan for godsake) and as usual it was a brisk day in Ann Arbor, MI.
I somehow dragged my hungover eighteen-year-old self out of bed and stumbled my way to class. I was pretty excited, because this wasn’t just any class. It was the first class that I was taking that was a part of the Computer Science major: EECS 280 Data Structures and Algorithms.
Now, I wasn’t supposed to be at this class. I was assigned to a different section. One that took place 4:30 PM — 6:00 PM.
So I decided that instead of committing myself to a semester of being on North Campus until 6:00 PM, I’d try to sneak into an other section. One taught by Andrew DeOrio.
I knew coming into the class that people liked Professor DeOrio. I mean his RateMyProfessorRating was off the chart!
..But this man was so much more than I expected. Stepping into class, he had this cheerful smile. The class was beyond full, so he did his best to help students find a seat.
He started off by just talking...about chickens.
I’m not kidding. This man walked into his class of 200 students and spent the first 15 minutes talking about his chickens. That’s what I call a first impression!
And from that moment, I knew that this was the teacher I had been waiting for.
The thing I really loved about DeOrio is he cared about his students more than any teacher I’ve ever had. There was no yelling. There wasn’t any shaming to people who didn’t do the assignments.
There was never a null moment in the class. He wouldn’t just put up some slides and lecture for an hour an a half. No, he made a conscious effort to make sure that every student understood what was going on before moving on.
He would even stop halfway through the class to tell stories about his chickens and then allow people to recharge for a few minutes. His classes felt like entertainment. You would never feel like it was a burden to come to class because you actually wanted to come to class. You wanted to learn. Every Monday/Wednesday, I would wake up with a little excitement in my toes.
I truly hope that every single student gets to experience a Professor DeOrio of their own. And Professor DeOrio, if you’re out there somewhere reading this…know that you are the most incredible teacher I have ever had. And I most definitely would not be where I am if it wasn’t for how you inspired me in EECS 280 (And also in EECS 281, 370, and 485).
At some point throughout the semester, I realized I wanted to do the same for others. If I could get people excited about a class that most people deem as boring or incredibly nerdy, then maybe I could also change the course of other student’s career trajectory. So I sought out to become a TA (at Michigan we called them IA’s for Instructional Aides or Graduate Student Instructors).
And thus began a year and a half journey…
Applied to become an IA for EECS 280…rejected.
Applied to become an IA for EECS 280 and EECS 281…rejected
Applied to become an IA again, but this time I wanted to stand out. I didn’t want to be like any other application out there…so I did something insane. I built a website: why-i-should-be-a-eecs-281-ia.me/ (No longer active)
In that website, I listed all the reasons that I thought I’d be a great teacher. I also made a couple of video showing my style of teaching (Now when I look it, there’s nothing I can do but cringe). See below to see the website and videos I made.
During the summer for which I was waiting to hear back (on my 20th birthday actually), I got this email from one of the professors who ran the class:
I thought THIS was it. I was going to finally be a TA!
Later that summer:
…rejected. Yet again. I don’t think I had ever felt so hopeless. This rejection also came in one of the worse possible times of my life.
This one really stung, because after putting in all the effort I had…I still came up with nothing. And it my mind if all this hadn’t gotten me to where I wanted, nothing would…
So for the next semester, I didn’t even bother to apply.
But something strange happened right before the start of Winter Semester 2016… I got this email:
YES. Finally, after a year and a half of desperately trying to become an IA, I had finally done it. And I was going to make sure I was going to be great at it.
I went on to teach EECS 281 for three semesters. One of those semesters as an undergrad and the other two as a Graduate Student Instructor.
- 1 Midterm Exam: 13%
- 2 Programming Assignments: 26%
- 2 Homeworks: 10%
- Class Participation: 1%
Homeworks will be due before lecture and must be turned in as hard copy in class. Programming assignments must be turned in online. Do not email any of your assignment to the teaching staff.
If your individual effort is lacking, a failing grade is a distinct possibility. Roughly, you'll get the lower grade if you failed the exams and do not show sufficient efforts. Insanely great work gets an A+, excellent work an A, good work a B, and acceptable work a C.
You have five working days from when a piece of graded work is returned to ask for a regrade. To ask for regrade, you must submit a written request explaining the technical reasons that would make a regrade necessary. A regrade means regrading your whole work and may result in overall lower grade.
You have two free late days, including weekends, to use on any of your programming assignments. It is your responsibility to keep track of your own remaining free late days. Once the free late days are used up, late programming assignments will be assessed a penalty that is a fraction of the total assignment grade according to the following schedule:
- the first 24 hours or fraction thereof: 4%,
- the second 24 hours or fraction thereof: 8%, on top of the 4% above,
- the third 24 hours or fraction thereof: 12%, plus 12% above,
- the fourth 24 hours or fraction thereof: 16%, plus 24% above,
- the fifth 24 hours or fraction thereof: 20%, plus 40% above,
- no late work will be accepted beyond 120 hours (5 days) after the deadline.
Start your assignments early, and plan to have them finished a few days ahead of the due date. Many unexpected problems arise during programming. In addition, the computer labs and submission/autograder machine can become crowded and computers crash and networks fail. Extensions will not be granted even if these things happen. Plan for them to happen.
All works must be completed individually.
You are encouraged to discuss ideas and techniques broadly with other members of your class, but not the specifics of assigned problems. Sharing of code or intermediate designs is expressly prohibited. If you receive substantial help from others, you must acknowledge them in your work. If you use any published materials (books, papers, or materials found on the Web) in your solution, you must give full citation that help facilitate the locating of the original materials (for example, the URL of the Web site).
You must not discuss exam questions with others nor lookup solutions to homework and exam questions online. You are forbidden to solicit help or copy of old homeworks, assignments, exams, or solutions from other students, including those who have taken this course prior to the current term. You are also forbidden to give help or copy of homeworks, assignments, exams, or solutions to others. To do either will be considered a violation of the CoE Honor Code.
Acts of cheating and plagiarizing are Honor Code violation and will be reported to the Engineering Honor Council. Cheating is when you copy, with or without modification, someone else's work that is not meant to be publicly accessible. Plagiarizing is when you copy, with or without modification, someone else's work that is publicly available without acknowledging the original author. To incorporate publicly available code in your solution is considered cheating in this course. To pass off the implementation of an algorithm as that of another or to use libraries not expressedly allowed is considered cheating and violation of the Honor Code. For example, if the assignment asks you to implement sort using heap sort and you turn in a working program that uses insertion sort in place of the heap sort or if you use STL's heapsort, it will be considered cheating. If you can not implement a required algorithm, you must inform the teaching staff when turning in your assignment.You are required to read the CoE Honor Code. To break/hack into a computer is not only a violation of the Honor Code, but also a criminal offense. It will be reported to the criminal justice system and will be charged and prosecuted to the full extent of the law.
- Specific Policy Applicable to Homeworks You are allowed to consult both online and offline sources, including humans, to help solve homework problems. If you do consult outside sources, i.e., other than yourself and the teaching staff, you MUST cite them. You do not need to cite the teaching staff nor the textbooks nor the lecture slides. These are the only exceptions. What you turn in must be your individual work. Your classmates can give you an idea on how to approach a problem, but they cannot give you any solution to these problems. If you find an online solution to any of these problems, you are allowed to consult them, but not to use them verbatim. You must phrase your solution in such a way that shows you have understood the problem and solution. Violation of any part of the above policy will be a violation of the Honor Code. If you turn in a handwritten solution, please write legibly. Illegible scribble will earn zero points.
- Specific Policy Applicable to Exams You will be asked to attest that you have read, understand, and will abide by the following policy prior to the start of an exam. You may therefore want to review it now and ask for any clarifications necessary prior to taking any exam in this course.