Having the right attitude

There is much research out there that shows you can learn something if you want to. I'm not going to cite any of those here nor am I going to expound on them. I am simply going to first tell you my personal philosophy before this page continues into all the other things I find myself repeating as I teach this class. Whether this personal philosophy helps you or not probably depends how similar you are to me, which means I do not think this will work for everyone. However I do believe it is worth a try at the very least because what is life but one big experiment made of many small ones to figure out how to make life work for you!

Your success in this class has more to do with your attitude than some innate computer science ability, which is a pure myth. A person may have some initial aptitude, but that will only ever get them so far without hardwork. This class is more about acquring skills and ways of thinking. Sure it may seem that others are doing better than you, but when learning how to swim isn't that true as well? I bet you eventually did learn to swim; even if you did a whole lot more splashing and floundering than the others. The same idea applies.

The question is more "How badly do you want it?" and "How much effort are you willing to put in to get what you want?" Notice I say effort because it is true that learning this stuff for you will take more effort than some of your classmates, but you can learn it. The idea is to approach this more as training to reach some athletic goal. You cannot lift a large amount of weight or reach a particular time in a run instantly, you have to work your way up to it. The same applies here. Your homeworks, quizzes, projects, labs, etc. are all there to help you train and your exams are the main event.

And guess what, with this idea in mind, you probably already know of ways to "train" yourself to do better. Do all of the assigned work. And if the material we assign you is not enough to reach your goal, you already know what you need to do. You need to find more material to practice and train on to get to where you want to be.

I know that seems hard, but it is possible. College is a time of growing up, where you take ownership over your life and learning. This is one step in doing that. Getting what you want in life means asking for it and going after it, not hoping it will be handed to you. I know in some ways that is disheartening to hear. If there was an easier way I'd happily tell you, but there isn't. Just as there are no short cuts in athletic training (and yes I know there are steroids, but that is cheatting and it will not help you in the long run), there are no short cuts to working your "mental" muscles to be strong enough to succeed in this class.

And with that, I hope you do well, good luck, and train hard.

My Discussion Materials

Past quizzes:

Help with debugging

Here is a starter file to write your own tests for a project, homework, lab, etc.
my_tests.py

Other hopefully helpful information:

Preparing for Exams

Stress vs Performance

Remember the stress vs performance graph. With this in mind you should practice (1) staying in the optimal zone, (2) identifying when you are outside of the zone, and (3) getting back into the optimal zone. Or if you need a catch phrase to help you remember this, try: "Do not psych yourself out." or "Stay calm and carry on."
Stress Vs Performance Chart
(Credit: Image found at World Economic Forum: How successful people stay calm)

General Tips

Ways to help yourself with the above and to prepare for the exam are: