108

tools and resources

a desktop/laptop for coding

This course requires a lot of coding, for assignments/tests and during lecture sessions. You must attend lecture sessions using a computer that you can code in Python on. As you are expected to participate in coding during lecture time, attending on mobile/tablet will not suffice.

The course software is available in the CS Labs (DH2010/2020/2026), though some restrictions apply due to COVID-19. Python and IDLE have also been installed on most of the other labs on campus, but be careful: some may not have all of the required software. Please ensure you test your code thoroughly (using Python 3.8!) to verify that your program is free from syntax errors and actually executes.

zoom (utoronto login required)

To attend lectures and labs, you must set up your UToronto Zoom account (instructions here) and download Zoom on your computer. Make sure to sign in with your UTORid because only authenticated UTM users can join our lecture sessions.

The links and access code to join each lecture session are on Quercus.

NOTE: Here is a short Zoom tutorial if you haven't used it before: https://www.youtube.com/watch?v=5iap0Ffl5Lg

python

In this course, we will be working with Python, an interpreted, object-oriented language. In particular, we are using Python 3.8, which you can download and install here. Make sure to install 3.8, do NOT install Python 2.7, 3.7 or 3.9. There is extensive Python documentation; you can view it online.

If you run into problems during installation, post your questions and any error messages on the course discussion board.

python IDE

You can run Python from a command prompt and edit your programs in any text editor of your choosing. However, you might want an Integrated Development Environment (IDE). Which IDE you use is a personal decision, and there are lots of choices. Here are three that we have used at U of T:

references and resources
UTM Specific Resources
Textbooks and Documentation
(Primarily) Examples and Exercises
Online Boards

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 users 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, we 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!