There will be programming labs in most weeks, starting from semester week 2.
The labs consist mainly of exercises that you can do in your own time, on any computer that has the right software installed. During scheduled lab times, tutors will be available to answer questions and help you with the exercises. We strongly recommend that you both:
- read through, and attempt at least some of, the lab exercises before your scheduled lab; and
- attend your scheduled lab to talk to fellow students and the tutors about any questions or problems you have encountered; and
- finish attempt lab exercises you did not manage to complete during your scheduled lab in your own time after your scheduled lab.
Labs will be held on-line, via MS teams, or on-campus (CSIT N111/113/114/115/116 or HN Lab 1/2).
The Labs (Tentative Schedule)#
Note: We are still moving and updating some lab’s contents around.
- Lab 1 (Semester week 2): Introduction to the Python programming environment, expressions and values.
- Lab 2 (Semester week 3): More complex calculations, simple functions.
- Lab 3 (Semester week 4): Branching and iteration, programming the robot simulator.
- Lab 4 (Semester week 5): Debugging, and introduction to sequence types.
- Lab 5 (Semester week 6): Strings, and more about sequence types.
- Lab 6 (Semester week 7): Mutable types and references, scope and namespaces.
- Lab 7 (Semester week 8): Dictionaries.
- Lab 8 (Semester week 9): Data analysis.
- Viva assignment exam (Semester week 10).
- Self-directed lab whilst waiting for viva: Numpy, Pandas, Matplotlib
- Lab 9 (Semester week 11): Working with files.
- Lab 10 (Semester week 12): Exam problems.
Software#
We will be using the Python programming language, version 3. Python has two major versions, 2 and 3. They are quite similar, and with small workarounds Python 2 can be made to behave much like python 3. However, assignment solutions will be tested with Python 3 only.
The Anaconda distribution provides a set of additional modules that enable more efficient mathematical programming and some graphical data presentation tools, which we will make a little bit of use of in the course.
Depending on if you attend an online or on campus lab, the way labs are conducted and your lab environment will be quite different. If you are attending online labs, see the online labs section. If you are attending on campus labs, see the section on the on campus lab.
In either case, we recommend that you install python on your own computer, so that you can work on your homework or assignment without having to come onto campus, and/or so that you do not have to rely on an internet connection. See the installing python page page on how to do this.
Online labs#
Online labs will be conducted via Microsoft Teams (setup and info here). We also have backup options available in the event that Microsoft Teams causes bandwidth or latency problems for people. To join the team corresponding to your lab group, you will need an access code; these will be posted on the course wattle page no later than Week 1.
Since online labs are remote, you will need to install Python on your own device. Please have a look at the installation instructions and notes here.
To get the most out of online labs, we encourage you to make full use of the screen sharing features of Teams when discussing with your tutor(s), so that they can see what you are doing and the code that you are writing and running.
Please make sure that you do not have private (or potentially offensive) material on display, before sharing your screen with your tutor or other students.
On campus labs#
On-campus labs are held in CECS computer lab rooms located either on the ground floor of the CSIT building (#108) (CSIT N109/111/112/113/114/115/116), or the Hanna Neumann building (#145) (HN Lab 1/2 i.e. HN 1.23/1.24).
The lab computers run the GNU/Linux operating system. If you are not familiar with working with the operating used, a guide to working with the lab computers is available here. There will also be time in the first lab (in semester week 2) to get used to working with the lab computers.
Anaconda python is also installed on the ANU InfoCommons computers. These are the Windows and Mac computers found in, for example, libraries and lecture theatres across the campus. This means you can work on programming exercises also on those machines.
If you are sick#
If you test positive for COVID-19 or have any contagious disease please do not come to campus. Let us know by either sending a email to the course email or by messaging/emailing your tutor.
If you are just “normal sick”, it is up to you if you still wish to make your lab. If you decide you cannot/do not want to attend your scheduled lab please let us know before your lab.
In both cases, your participation mark will not be penalized. We reserve the right to ask for supporting documentation however, especially if you only let us know after your lab.
If you recover within the week, we can let you attend an alternate lab so you don’t miss out that week.