There will be programming labs in most weeks, starting from semester week 2. In some weeks, there will also be assessments during the labs.

Labs take place in the computer lab rooms on the ground floor in the CSIT building (#108) and the Hanna Neumann building (#145). Lab times and rooms are detailed in the course timetable. Because space in lab rooms are limited, every student must sign up to a lab group on wattle. Lab sign-up opens two weeks before the start of the semester.

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 CECS computing environment and programming the robot simulator. (PDF)
  • Lab 2 (Semester week 3): Expressions, values and data types, and functions that compute them. (PDF)
  • Lab 3 (Semester week 4): Branching and iteration. (PDF)
  • Lab 4 (Semester week 5): Debugging, and introduction to sequence types. (PDF)
  • Lab 5 (Semester week 6): Strings, and more about sequence types. (PDF)
  • Lab 6 (Semester week 7): Data analysis. (PDF)
  • Lab 7 (Semester week 8): Mutable types and references, scope and namespaces. (PDF)
  • Lab 8 (Semester week 9): Working with files. (PDF)
  • Lab 9 (Semester week 10): Dictionaries. (PDF)
  • 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.
  • Lab 10 (Semester week 12): Exam problems. (PDF)

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.

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.

Many students will want to install python on their own computers. Several implementations of the python language are freely available for all major operating systems. Some general advice for installing python is provided here. However, the lecturer and tutors do not provide tech support for problems with your own computer.

bars search times arrow-up