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.
- The computers in the lab will have all the software you need to complete the lab tasks. For those unfamiliar, see the lab computer guide to get familiar with lab computers. In any case, there will also be time along Lab #1 (week #2) to get used to working with the lab computers.
- 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
|
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. | |
11 | 10 | Start with practice exam questions. |
12 | 10 | Continue with practice exam questions. Q&A. |
CodeBench#
Some (but not all) of the lab exercises in this course can be run and tested on CodeBench. In order to login to CodeBench, you just use your normal ANU uid and password. CodeBench allows you to write and execute code remotely. If you submit code for an exercise, it will also allow your tutor to view the code you have written, so they can give you feedback or assistance if things are not working correctly. Finally, if you submit a solution to an exercise, CodeBench will run some tests on your code and tell you if you pass or fail. This will give you some feedback in the event that you need to keep working on lab exercises after the scheduled time is complete. Finally, CodeBench submissions are important as we consider them as one of the grounds to measure your engagement and participation in labs. See the Assessments page for details.
It is also worth noting that NOT every exercise works well in CodeBench.
Some modules (such as numpy
) are not available, and there is no Python
console. For these exercises, you will have to complete them in your normal
Python development environment and ask for assistance from your tutors
during the labs if you face issues.