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.
In some weeks, there will also be assessments during the labs. In those weeks, you must attend your scheduled lab to have your assessment marked. Please read the assessment schedule to see which weeks will have in-lab assessment.
In Semester 2, 2020, labs will be held on-line, via MS teams. To join the team corresponding to your lab group, you will need an access code; these will be posted on the course wattle page. At the present time (semester start), the ANU’s return-to-campus plan does not allow us to have regular (in-person) labs for students who are on campus. If this changes during the semester, we may organise in-person labs later on. However, we expect that students who are on campus will be allowed to access the CECS computer lab rooms (on condition that they follow social distancing rules and other safety protocols), to use those computers to participate in on-line labs and to work on lab exercises outside of lab time. If you are planning to be on campus, please read the ANU return to campus plan carefully.
The CECS computer lab rooms are located on the ground floor in the CSIT building (#108). The lab computers run the GNU/Linux operating system. The first lab (in semester week 2) will provide some introduction to working with the lab computers.
The Labs (Tentative Schedule)#
- Lab 1 (Semester week 2): Introduction to the python programming environment and programming the robot simulator.
- Lab 2 (Semester week 3): Expressions, values and data types, and functions that compute them.
- Lab 3 (Semester week 4): Branching and iteration.
- 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): Data analysis.
- Lab 7 (Semester week 8): Mutable types and references, scope and namespaces.
- Lab 8 (Semester week 9): Working with files.
- Lab 9 (Semester week 10): Dictionaries.
- Lab 10 (Semester week 12): Exam problems.
- Note that in Semester week 11, there will be labs, but no new lab) content. Use the labs this week to get additional help with your) assignment, or to catch up on and get help with material from the) previous labs.)
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 work-arounds python 2 can be made to behave much like python 3. However, assignment solutions will be tested with python 3 in the CSIT lab environment, and must work in this setting.
Due to the social distancing rule, most (if not all) of the labs will be offered online. You can remotely log into the CSIT lab environment, via the virtual desktop infrastructure (VDI). It has all the software needed but requires a very good internet connection. See this guide for working remotely via VDI.
The CSIT lab environment has the Anaconda distribution of python version 3.6 installed. 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. The InfoCommons computers on campus (for example, the computers found in ANU libraries, and in lecture theatres) also have Anaconda python installed, but a slightly earlier version. There should not be any noticeable difference between the two versions.
Alternatively, we recommend that you install python on your own computer, so that you do not have to rely on an internet connection. Several implementations of the python language are freely available for all major operating systems. See general advice for installing python. Please note, however, that the lecturer and tutors are not able to provide tech support for problems with your own computer.