If you are teaching a programming course (or any course, really), here are some opening statements for you to share with your class on the first day:
- In order to get the correct answer, you must ask the correct question. Please speak up and ask if you don’t understand something. The professor is not a mind reader.
- The professor is not perfect. If you notice something that doesn’t seem correct, say something.
- What may be clear and plain as day for you, may be confusing to someone else. Be patient. Help your fellow classmates. You’ll learn a lot more that way too.
- Learning does not start and end in the classroom. Real learning takes place outside of the classroom. The purpose of assignments is to help you to understand the material. Blindly doing the assignments without any thought will not help you to learn the material. Spend some time thinking and tinkering.
- Experiment! You have near infinite reusability. There is no paper you to have throw out or ink to run out of. If you are wondering whether or not some particular syntax is allowed, just try it! Worst case scenario, your program crashes or doesn’t run at all.
- Try to find applications for what you learn in this course, in other areas of your life.
- Make ctrl-s a reflex. [Edit: James Slocum (see comments) has corrected me here. The statement should be “Save your code early and often.” — Thanks James!]
- The program you write will not do what you want it to do. It will do what you tell it to do. Understand the difference.
- Set aside several hour blocks of time for when you sit down to program.
- Get into the habit of commenting your code. Don’t delete your old code if you are still modifying it. Instead, comment it out!
- Daily practice and review is generally a good way to absorb the course content. You have to let things marinate.
- Cramming for an exam will not help.
- Staying up all night to finish your assignment(s) will not help.
- The internet can be your friend. Syntax errors, run-time errors, and logic errors are your enemies. Keep your friends close and your enemies closer.
- Try to have fun!
Good point on (9) regarding comments and commenting out code vs. code deletion.
The only warning I have is be sure to never accidently un-comment out the old code. Did that once and caused a several hundred thousand dollar oops in some bank payment files.
Oops!! Some type of version control is probably a good idea as well! 😀
Great list, but i have to take you to task on list[6] as it only applies to using IDE’s. if you are in a bash shell (maybe using Vim to edit code) and press ctrl+s, it will send an XOFF command and freeze the display. Any keys you type will be buffered for later processing, and all output is buffered as well. It can be undone by pressing ctrl+q. This is always confusing to my students learning linux because of the ctrl+s reflex. So i present
list[6] = “Save your code early and often”
😉
Ha! Well said. I’ll update the post accordingly!
Numbers 100 to 111 are my favourites. 🙂