General information#

  • Programming labs once a week starting from semester week 2. The labs consist mainly of programming exercises. During scheduled lab times, tutors will be available to answer questions and help you with the exercises.

  • You MUST enrol in an on-campus lab group using MyTimetable. Ideally, you should do it as soon as possible, and, in any case, no later than the end of week 1.
  • For labs held in the computer laboratories: the computers in the lab will have all the software you need to complete the lab tasks. You may also optionally use your own laptop computer in these labs. For those using the lab computers and are unfamiliar with these, see the lab computer guide. In any case, there will also be time along Lab #1 (week #2) to get used to working with the lab computers.
  • For Bring-Your-Own-Device laboratories: you will need to install a working python environment on your own devices. Using a laptop computer is recommended (and trying to use an iPad or tablet is not recommended).
  • For either lab format, and for convenience, you can (and it is highly recommended that you) install the software used in the course in your personal computer using this installation guide.
  • Along Week #1 we will organize several sessions (details in the table below) in which we will try to solve installation issues you may have found in your local computers while following the instructions in the previous step. This session is optional, you only have to come if you found installation issues.

IMPORTANT NOTE: See the Assessments page for a description on how your performance in labs may affect your final mark and the grounds on which this performance is going to be measured.

Schedule#

Click on the table links to access to each lab. These links will be made available, at the latest, the Sunday preceding each semester week in which there is a lab.

Week Lab Title/Link
1 No lab Python installation issues sessions
  • Tues, 3-5PM, Birch building, Lab 1.08
  • Thurs, 11AM-1PM. CSIT Bldg, Room: N114
2 1 Intro to Python programming environment and first programming exercises
3 2 Expressions, values, types and functions
4 3 Branching and iteration
5 4 Code quality and introduction to sequences
6 5 Strings, sequences, debugging and testing
7 6 Lists (refresher), tuples. Mutable objects, references. Shallow vs deep copies
8 7 NumPy arrays, I/O and files
9 8 Dictionaries and sets. Namespaces and scope.
10 9 Time complexity. More practice on debugging and programming.
11 IMPORTANT!: In-lab assessment of project assignment.
12 IMPORTANT!: In-lab assessment of project assignment.
bars search times arrow-up