CSCA08H: Reference Material

Reference Material

This course has a textbook, Practical Programming, but as you learn to program, you will find additional exercises and explanations from different perspectives very helpful. During the course, I'll post selected readings on the lecture page, but when you are having trouble with a concept, you may wish to seek out extra examples. The lists below are not authoritative, but they contain a good selection of the resources available online.

Textbooks and Documentation

(Primarily) Examples and Exercises


Be very careful if you decide to ask for help on an online discussion board. Often, the people on those boards are professional programmers, so they usually expect other uses to have a base level of knowledge and answer questions assuming that you know how to program. That can be quite confusing!

You should also be aware of the academic integrity guidelines. Getting help on a concept is allowed, but whenever you ask a question about an assignment or exercise to be turned in, you're on dangerous ground! Why? You won't be able to ask for help on exams, so if you become dependent on hints, you'll put yourself at a disadvantage. Furthermore, depending on the kind of response you get, it could be considered "unauthorized aid", which will result in an academic offense (like plagiarism). The course discussion board is safe, as you'll get answers relevant to the course (without getting too much help!), but be very careful about what kind of questions you ask on other boards.

All of that having been said, interacting with other programmers on discussion boards can be very helpful and is very good training. If you work on an open source project, you'll spend a lot of time interacting with people on similar forums. If you'd like to try an online forum, I recommend using Stack Overflow. Make sure to use the python tag. You should also probably use the homework tag to indicate that you're a student -- but again, don't ask questions about work to be turned in!