MPR 213 Study Guide 2025
MPR 213 Study Guide 2025
© Copyright reserved
Contents
1. Educational Approach 4
2. Generative Artificial Intelligence 5
3. Departmental Study Guide 6
3. Lecturers and Consulting Hours 7
3.1. Lecturers 7
3.2. Teaching Assistants 8
3.3. Consulting Hours 8
4. Study Material and Software 9
4.1. Lecture Notes 9
4.2. Study Notes 9
4.3. Complementary Sources 10
4.4. Software used in this module 10
5. Learning Activities 13
5.1. Contact Time and Learning Hours 13
5.2. Lectures 13
5.3. Tutorials 13
6. Rules of Assessment 16
6.1. Determination of Final Mark 16
6.2. Determination of Semester Mark 16
6.3. Semester Tests 17
6.4. Autograding of weekly tutorial assignments, semester tests, and the exam 17
6.5. Appeals and queries on marks 18
6.6. Penalty for errors in stating identifying information during assessments 18
6.7. Penalty for errors causing the autograder to crash or where submitted files were named
incorrectly 19
7. Study Components 20
7.1. Purpose of the module 20
7.2. Module Structure 20
7.3. Fundamental Concepts 22
7.4. Study Theme Descriptions 22
7.4.1. Theme 1: Introduction 22
7.4.2. Theme 2: Basic Programming 23
7.4.3. Theme 3: Basic Functions 23
7.4.4. Theme 4: Control Statements 23
7.4.5. Theme 5: Solving Problems 24
7.4.6. Theme 6: Plotting and Graphs 25
7.4.7. Theme 7: Reading and Writing Data 25
7.4.8. Theme 8: High-Level Programming 25
7.4.9. Theme 9: Spreadsheets 25
8. Lecture plan 27
1. Educational Approach
Programming knowledge and skills are essential for engineers. Complex and repetitive
calculations and analyses that would take days if done by hand can take only seconds with a
well-structured computer program. The program itself may take significant time to code, but
once coded it allows the engineer to ask different questions and conduct various
investigations that would otherwise not be feasible or possible. Programming combined with
mathematics has become a prerequisite for basic engineering literacy and problem-solving.
In addition, the life cycle of a computer program is similar to the design of a product or the
design of a process.
For these reasons, engineering students must obtain at least some proficiency in computer
programming. The general objectives of this module are:
The students should already be familiar with elementary mathematical and physics concepts,
which will be used to illustrate basic computer logic and programming principles. The student
will be required to “translate” mathematical formulas and/or principles into working
computer programs to solve some problems.
Student-orientated and cooperative study methods will be applied during the lectures and
tutorial sessions to establish the course’s core concepts. Lecturers will intensely focus on
solving problems during classes and tutorials to develop the programming concepts required
4
to solve mathematical and physics problems. This will mimic what generally occurs in
industries. Interaction during lectures will allow students to assimilate and understand
complex concepts. Students are encouraged to experiment with their computers before
lectures and interact with lecturers and the rest of the class during lecture sessions on
campus.
The use of generative artificial intelligence (AI) in all work including tasks and homework
assignments, is completely forbidden. Students are therefore expected to depend solely on
their personal knowledge and resources.
5
3. Departmental Study Guide
The MPR 213 Study Guide is a crucial part of the general study guide of the Department of
Mechanical and Aeronautical Engineering, which is the host department for this module. In
the study guide of the Department, information is given on the mission and vision of the
department, general administration and regulations (professionalism and integrity, course-
related information and formal communication, workshop use and safety, grievances,
support services, plagiarism, class representative duties, third semester test guidelines and
sick exam guidelines, vacation work, appeal process and adjustment of marks, university
regulations, frequently asked questions), ECSA Graduate Attributes, ECSA knowledge areas,
CDIO, curriculum and assessment of cognitive levels. It is expected that you are very familiar
with the content of the Departmental Study Guide. It is available on the Department’s
website.
Department Website:
http://www.up.ac.za/en/mechanical-and-aeronautical-
engineering/article/21692/noticeboard
6
3. Lecturers and Consulting Hours
3.1. Lecturers
Telephone
Module Manager Offices Email
No.
Eng I
Dr Dineo Ramatlo 012 420 2462 [email protected]
10-16
Lecturers
Eng 3
Dr Carla Grobler 012 420 2193 [email protected]
6-66
Eng I
Dr Dineo Ramatlo 012 420 2462 [email protected]
10-16
Internal Examiner
Eng I
Dr Abrie Oberholster 012 420 3288 [email protected]
10-18
7
Please use the keyword MPR213 in the email subject specification for email correspondence.
Not doing this may leave the email unanswered or cause a significant delay in the answer.
Sometimes lecturers may not be available in their offices or at the telephone numbers given
in the table above. In that case, please use an email message to contact a lecturer.
The contact details and consulting hours for the teaching assistants will be added to MPR
213 S1 2025 ClickUP as soon as the teaching assistants have been allocated.
Consultation hours of the lecturers and teaching assistants will be announced at the start of
the semester. These hours will be shown on MPR 213 S1 2025 ClickUP. These hours indicate
when the lecturers and teaching assistants are available for consultation.
There will be no extraordinary consulting hours during test and exam time. Students may
make special arrangements to talk to the lecturers outside of their consulting hours if
necessary. It is important not to wait until before a test or exam to clarify any problems.
Students are also welcome to use the discussion board on MPR 213 S1 2025 ClickUP. This will
allow lecturers, teaching assistants, and fellow students (during their free time) to answer any
queries regarding programming concepts, exercise problems, etc.
8
4. Study Material and Software
We distinguish between the lecture notes discussed here and the study notes discussed
below. The lecture notes form the primary set of study material made available in the module
presentation and consist of two parts:
● Groupings around various topics: Python computer code with explanations, most of
which are demonstrated during contact sessions.
● Several Excel spreadsheets and related files are explained and demonstrated during
contact sessions.
Both these parts are available on MPR 213 S1 2025 ClickUP, in the “Lecture Notes & Study
Material” content area.
Students will be notified with a ClickUP announcement whenever any of the Lecture Notes
files on ClickUP is updated.
There is no prescribed textbook for this module. However, a set of study notes has been
developed at UP and is available on MPR 213 S1 2025 ClickUP, in the “Lecture Notes & Study
Material” content area, in the “Additional Material” folder. The study notes are a pdf
document:
Please note that this publication is not updated and some of the sections related to Python
2.7, IPython (Qt) and Spyder editor are no longer used in this module.
9
Students should primarily work through the lecture notes mentioned in section 4.1 above but
may in parallel use the study notes as an additional source.
A link to the following complementary source is available on MPR 213 S1 2025 ClickUP, in
the “Lecture Notes & Study Material” content area, in the “Additional Material” folder:
Numerous other complementary sources for this module are mentioned in the study notes.
The Discussion area on MPR 213 S1 2025 ClickUP may also be utilised for additional
explanations and examples on various topics covered in this module.
Python is a high-level programming language used in many disciplines around the world. It is
a well-suited programming language for engineers as it is easy to learn, well-supported and
documented, relatively fast, and very good for numerical and scientific computing. In this
module, we use Anaconda's Jupyter Notebook implementation of Python. Students must be
familiar with using this specific implementation of Python, as its autograding facility (where a
computer grades students’ work) is used exclusively in the weekly tutorial assignments,
semester tests and exams.
10
You can download Anaconda, including Jupyter Notebook and Python, depending on your
operating system, from the links shown in table 2 below or use it in on-campus computer
labs. Download links are also available on MPR 213 S1 2025 ClickUP. Please carefully follow
the installation instructions given in writing and video recordings in the “Software Used In
The Module” content area of MPR 213 S1 2025 ClickUP.
The version available at the links above is the official version used in this module in 2025. Do
not use any other version in answering weekly tutorial assignments. Only submissions using
the prescribed versions will be considered for grading. All other versions submitted will not
be eligible for grading.
11
Download instructions for Microsoft Office 365 (including Excel) are available at the Mining
Industry Study Centre. Students can use the following link for assistance:
[email protected]
12
5. Learning Activities
This module carries a weight of 16 credits, indicating that a student should spend an average
of 160 hours mastering the required skills (including time spent preparing for and writing tests
and examinations). This means that you should devote an average of 11 hours of study time
per week to this module. The scheduled lecture and tutorial time is approximately 6 hours
per week, which means that an additional 5 hours per week of study time should be devoted
to the module.
5.2. Lectures
Classes are split according to study disciplines into two groups for the lectures. Dr. Grobler
will be responsible for group 1 on Tuesdays at 15:30 and Thursdays at 11:30 (in Centenary 5),
as well as group 2 on Mondays at 13:30 (in vd Bijl Hall) and Fridays at 10:30 (in Centenary 1).
She will oversee both groups during the first quarter of the semester, while Dr. Ramatlo will
take responsibility for both groups in the second quarter.
5.3. Tutorials
Tutorial sessions will further develop the student’s understanding and knowledge of the
topics covered in lectures by solving numerous engineering and mathematical problems with
the tools introduced in this module.
13
Each week's tutorial session will be used to review the previous week's lecture content and
concepts. Selected exercise problems from the study notes will be covered during the tutorial
sessions. The selected chapters and problems that will be covered in each tutorial session
will be announced on MPR 213 S1 2025 ClickUP.
Students must do these tutorial problems independently before attending the tutorial session
and use the tutorial session to get help with issues or concepts that the student is finding
difficult. It is important to understand that the teaching assistants participate in assisting the
student in grasping difficult concepts and not solving the problems on their behalf.
It will be to the benefit of the student to complete these problems, as solving these problems
will develop the student's thinking and programming ability. The tests and exams will test the
ability of the student to solve new problems of similar complexity.
In most weeks, a tutorial test will be written to assess students’ progress. These will be based
on the tutorial problems that have just been completed and will be written in the last part of
the tutorial. These are designed to test your understanding of the work, and to help you to
consolidate your understanding, and to identify areas where you need help. The tutorial tests
will collectively contribute 10% of the semester mark.
Each week, to conclude the tutorial, a tutorial assignment needs to be submitted by uploading
to MPR 213 S1 2025 ClickUP, usually before midnight on a Friday evening. These assignments
will be graded and count toward 20% the semester mark. Because these are tutorial
assignments, no late submissions will be allowed under any circumstances. This includes
network problems, apparent overload of ClickUP when submitting, and not having been able
to register for the module in time, which will not be accepted, and the assignment will not be
graded. There will be 10 tutorial assignments written throughout the semester. We will use
the best 8 assignments to calculate your mark for the tutorial assignments portion of the
semester mark. If there is a valid reason for not submitting at least 8 assignments, like
sickness or death in the family, an excuse for all the missed assignments can be registered
with the module manager if proper substantiating documentation is supplied. Suppose, in
the case of a single student, too many of these assignments are not submitted for valid
14
reasons. In that case, the percentage contribution of the assignments to the semester mark
may be reduced, and the contribution of two semester tests may be increased
correspondingly.
15
6. Rules of Assessment
Refer to the exam regulations in the Faculty regulations and information, Faculty of
Engineering, Built Environment and Information Technology.
16
6.3. Semester Tests
Two semester tests will be written during the official School of Engineering semester test
week. The duration of each test will be 90 minutes. The scope of the tests will be announced
on MPR 213 S1 2025 ClickUP during the lecture week preceding the test week.
Additional test instructions will be announced on MPR 213 S1 2025 ClickUP during the lecture
week preceding the test week.
After the tests, model answers will be made available in electronic format on MPR 213 S1
2025 clickUP, and will not be formally discussed during lectures. Students may, however, ask
questions on the model answers in class.
Third semester test - If you are ill or absent from a semester test, refer to section 2.9 of the
departmental study guide (See link on page 6 of this document).
In the weekly tutorial assignments, semester tests, and the exam a student needs to answer
by filling in code or information in a number of Jupyter Notebooks and/or Excel spreadsheets.
The resulting Jupyter Notebook and Excel files are then submitted electronically as the
student’s answer. These files are marked (or graded) by a computer in a process called
autograding.
The grading is set up in such a way that various parts of the answer are assigned certain marks.
If a part is correct, that mark is awarded by the autograder. If there is one error in the part of
the question, a zero mark is awarded (i.e., a binary marking is used). In setting up an
assignment, test, or exam, the lecturers carefully decide in advance how many marks are
allocated to a certain part. In doing this, the lecturers try to be reasonable. Usually, and
especially in the tests and exams, the maximum mark awarded to a certain part is relatively
small compared to full marks for the assignment or paper. This means that there is no
17
possibility of being awarded partial marks for something the student deems to be correct,
even though the whole part is not correct unless the question was set up beforehand to
provide for partial marking. The marking system is fair towards all students: everybody’s work
is graded exactly in the same way (totally impartially, by a computer) and according to the
same rules. Even though the lecturers are most willing to discuss the technical aspects of
questions with students, they will not entertain questions on the partial marking of graded
binary units or the fairness thereof.
Suppose a student uses Python or Excel functionality that is not formally taught as part of the
module. The approach and coding produced by the student are deemed correct but cause the
autograding process to penalise the student. In that case, they will not be compensated for
this. Students are therefore advised only to use the functionality taught in the module. In
this regard, students should especially be careful in the case of semester tests or the exam if
this is answered on an off-campus computer like in times of lockdown, as different versions
of software may produce different results. The student’s responsibility is to ensure that the
correct version is used.
Note the description of the rules that apply to the appeals process in the Departmental Study
guide (see section 2). Due to the use of the autograding process, appeals will be limited to
administrative errors with the processing of marks.
During all tutorial assignments, semester tests and the exam the student is instructed to insert
his/her student number in a very specific way, as a string variable, in a Python code cell. In
on-campus semester tests and exams, the student must also supply the identifying number
of the computer at which they write the test/exam in the same cell. This is very important
because it is the only way in which the student can be identified during grading. Therefore,
18
the following rules apply if the student number is reported incorrectly and not according to
the instructions in any way:
● Tutorial assignments: a zero mark will be awarded, as the additional administrative
load in trying to sort out these errors is simply too large.
● Semester tests and exams: the lecturers will try to identify the student in whatever
alternative ways are available, but for this additional effort, the student will be
penalised by up to 10 % of the mark that they would otherwise have been awarded
for the paper. This penalty will be subtracted from the student’s mark, i.e., a form of
negative marking will be employed.
Sometimes students make errors, usually by not following instructions, that cause the
autograder to crash. When this happens, the whole of the student’s assignment or test is not
graded. Also, if a student does not follow the rules for naming the files they submit,
considerable additional work needs to be done to fix these errors before autograding can
commence. The following rules apply if a student makes these errors:
● Tutorial assignments: a zero mark will be awarded, as the additional administrative
load in, first of all, identifying the reason for the error and then trying to sort it out, or
to rename files, is simply too large.
● Semester tests and exams: the lecturers will try to identify the reason for the crash.
If this can be found in a reasonable time, the lecturers will try to fix the error. If the
error was caused by the student not following instructions or if the files were not
named correctly, he/she will be penalised by up to 10 % of the mark that he/she would
otherwise have been awarded for the paper. This penalty will be subtracted from the
student’s mark, i.e., a form of negative marking will be employed.
It is therefore important to meticulously follow all instructions on autograded assignments,
tests, and exams.
19
7. Study Components
7.1. Purpose of the module
The structure of this module is shown in table 4. The total module hours (notional hours)
include the contact time, as well as the estimated time to be allocated for self-study,
preparation and writing of assignments, tests and the examination. The mode of instruction
is via lectures, tutorial classes and assignments.
Contact sessions indicate the regular lectures. The number of contact sessions per chapter is
tentative and may change depending on the progress during lectures.
20
Table 4: Module Structure
Theme Topic Notional Contact
No. Hours Sessions
1 Introduction 1 1
2 Basic Programming 13 4
● Using Python as a Calculator
● Names, Objects and Assignment
● Import and Use Modules
● Python Namespace
3 Basic Functions 13 4
● User-defined Functions
● Python Namespace and Scoping
● Basic numpy Arrays
4 Control Statements 30 10
● Iterator-Based Looping (For Loop)
● Conditional Looping (While Loop)
● Branching (if, elif, else)
5 Solving Problems 30 10
● Breaking Down Problem Complexity
● Use of Functions (Simplification)
● Nested Statement
9 Spreadsheets 40 8
● Formulas and Calculations
● Spreadsheet Detective
● Plotting and Graphs
● Linear Programming
● Data Lookups and Pivots
Total 160 48
21
7.3. Fundamental Concepts
The following concepts need to be mastered in order to pass the course. If any of the
following concepts are not mastered, the student will fail the course:
● Basic objects (e.g. int vs float)
● Importing modules and proper usage
● Functions (ability to properly create a new function, understand how objects are
passed to and from functions, be able to properly use any created function)
● For loop (proper usage and understanding when and why to use a for loop)
● Iterating through lists and growing lists (single lists, not nested lists)
● While loop (proper usage, understanding termination conditions and understanding
when and why to use a while loop)
● If statements (proper usage, understanding program flow and control and
understanding when and why to use an if, elif or else statement)
● Reading and writing of CSV files
● Plotting (be able to create a simple 2D plot with proper annotations)
● Data processing using spreadsheets
The introduction allows the student to obtain a general overview on the roles and
responsibilities of both the student and the lecturer as well as an overview on what computer
programming is. This section will not be explicitly tested. It is important to note that an
understanding of computer architecture and flow diagrams will make the following sections
more accessible.
22
7.4.2. Theme 2: Basic Programming
Using Python as a Calculator: The student has to ensure that he/she is comfortable with the
Jupyter environment and must be able to use Python to do simple mathematical calculations.
It is the student's responsibility to spend enough time using these environments throughout
the semester. The student must be able to use Python's built-in math module numpy and
access the functions stored in it. The student must be able to use Python's built-in help to
obtain information on the various functions.
Names, Objects and Assignment: The student has to be familiar with the guidelines in the
class notes on names and objects e.g. objects are created in memory and a name is assigned
to that object. The student must also be familiar with the memory model of Python. The
student must also know the difference between the object types e.g. int, float, str, bool as
well as to know how to check the type of an object using type().
The student must be familiar with functions and code structure. The student must be able to
properly create and use functions with multiple inputs and outputs. The student must be able
to rewrite an existing computer program such that it makes use of functions. The student has
to be familiar with the local namespace and understand “name scope" within a function. The
student must understand any object can be passed into a function or returned from a
function. This includes another function and is particularly important for some of the built-in
functions.
For Loop: The student must understand that the for loop iterates through iterators (e.g. the
elements of a list). The student has to be able to identify when and why to use for loop(s)
from a given problem statement. The student has to be familiar with Python's syntax and
indentation and be comfortable to implement for loop(s) in a program to perform a given
task.
23
While Loop: The student must understand conditional statements and how to combine them
using and and or operators. The while continues to iterate as long as the condition evaluated
is true or 1. The student must understand that should the condition not update during a while
loop iteration, the program is stuck in an infinite loop. The student has to be able to identify
when and why to use while loop(s) from a given problem statement. The student has to be
familiar with Python's syntax and indentation and be able to implement while loop(s) in a
program to perform a given task. The student also has to be able to determine the correct
while loop termination conditions in order to perform a given task.
Basic List Generation: The student must be able to generate simple list objects, both manually
and by using the range function. The student also has to be familiar with the various list
operators (+, *), functions (sorted) and in-place functions (methods) (append, insert, index,
sort, reverse). The student must be able to use, read and understand Python's built-in help
to obtain information on the various functions and in-place functions.
Branching: The student must understand conditional statements and how to combine them
using and and or operators. The student has to be able to identify the usage of branches
(when and why to use an if, elif or else statement) from a problem statement. The student
has to be familiar with Python's syntax and indentation and be able to implement branches
in a program to perform a given task. The student needs to understand how each of the if,
elif and else statements affect the program flow and control. The student also has to be able
to determine the correct conditions in order to perform a given task.
The student must be able to evaluate and break down a complex problem into logical control
statements (for, while, if). The student must be able to identify which nested statements are
needed from the problem statement and breakdown and then be able to implement the
nested statements in a program to solve the given problem. The student has to be familiar
with Python's syntax and indentation for nested statements. The student must also be
familiar with nested lists (list of lists) and the memory model thereof. The student must be
24
able to identify when nested lists are needed from the problem statement and breakdown
and be able to implement nested lists.
The student must be able to create 2D plots i.e. the student must be familiar with different
presentations of data, presenting multiple graphs on the same figure, displaying grids,
labelling of the axis, naming of figures, using legends, and scaling axis systems. The student
must take note of arrays which are an object type of the numpy module and understand their
associated operators (+, -, *, **). The student must be familiar with creating 3D figures. The
student has to be familiar with creating surface and mesh plots.
The student must be familiar with reading and writing to and from CSV files and excel files.
The student must be able to store the data in a given format. The student must also
understand how to access data, stored by Python, in Microsoft Excel and vice versa.
Formulas and Calculations: The student must be able to solve problems using formulas. The
student must be able to solve problems using functions that he/she is familiar with, as well as
25
use the function wizard for unknown functions. The student must be able to name ranges of
cells and use them in calculations.
The student must be able to use filters to filter data and perform calculations on the filtered
dataset. The student must be able to perform calculations on data that is split over multiple
spreadsheets.
Spreadsheet Detective: The student must be able to use the spreadsheet detective to
familiarise themselves with the dependencies in an unknown spreadsheet. The student must
be able to switch between formula and value view.
Plotting and Graphs: The student must be able to create and customise charts. The student
must be able to find trends in data.
Non-Linear Solver: The student must be able to solve nonlinear one-dimensional problems
using goal seek in Microsoft Excel.
Linear Programming: The student must be able to solve linear programming problems using
Microsoft Excel. The student must be able to solve problems with mixed-integer, real and,
Boolean variables. The student must be able to accommodate multiple constraints.
Data Lookups and Pivots: The student must be able to extract relational data using the Pivot
Tables in Microsoft Excel.
Visual Formatting: The student must be able to improve the appearance of a worksheet by
using colours, highlighting, borders, and font properties. The student must be able to perform
conditional formatting of cells.
26
8. Lecture plan
The UP class timetable divides the class into two groups according to the engineering
discipline. Two lecture plans are used for these two groups, as follows:
● Group 1, lecture plan in Table 5: Industrial, Chemical, Metallurgical and Mining (2nd
years); Industrial, Chemical, Mechanical, Metallurgical, Mining and Civil Engage (3rd
years); lectures Tuesdays 15:30 to 17:20 (venue: Centenary 5) and Thursdays 11:30 to
13:20 (venue: Centenary 5).
● Group 2, lecture plan in Table 6: Mechanical and Civil (2nd years); lectures Mondays
13:30 to 15:20 (venue: vd Bijl Hall) and Fridays 10:30 to 12:20 (venue: Centenary 1).
Note that Excel Part I covers the worksheets in the Excel lecture notes “Excel
Lectures_2025.xlsx” (from left to right) “Excel Overview” to “Extracting data”. Excel Part II
covers “Pi approximation”, “Plotting Pi approximation”, “Motion Example” and “Pivot tables”.
27
Table 5: Presentation roster for Group 1
Basic Python Programming, Spreadsheets, Data Sharing,
Plotting and High-level Programming
Study Theme Lecture Study Theme Lecture
Week Dates Date
(see Table 4) notes (see Table 4) notes
1 11/02 1,2 Section_01 13/02 2 Section_02
2 18/02 3 Section_03 20/02 3 Section_04
3 25/02 4 Section_05 27/02 4 Section_06
4 04/03 4 Section_06 06/03 4 Section_07
5 11/03 4 Section_07 13/03 5 Section_08
6 18/03 5 Section_08 20/03 5 Section_08
st
1 Test Week
7 01/04 5 Section_08 03/04 5 Section_08
8 08/04 9 Excel Part I 10/04 9 Excel Part I
Recess
9 22/04 *1 - - 24/04 6 Section_09
10 29/04 6 Section_09 01/05 - -
nd
2 Test Week
11 13/05 9 Excel Part II 15/05 9 Excel Part II
12 20/05 7 Section_10 22/05 8 Section_11
13 27/05 8 Section_12 29/06 8 Section_12
Exam
*1
Monday time-table
28
Table 5: Presentation roster for Group 2
Basic Python Programming, Spreadsheets, Data Sharing,
Plotting and High-level Programming
Study Theme Lecture Study Theme Lecture
Week Dates Date
(see Table 4) notes (see Table 4) notes
1 10/02 1,2 Section_01 14/02 2 Section_02
2 17/02 3 Section_03 21/02 3 Section_04
3 24/02 4 Section_05 28/02 4 Section_06
4 03/03 4 Section_06 07/03 4 Section_07
5 10/03 4 Section_07 14/03 5 Section_08
6 17/03*2 5 Section_08 21/03 - -
1st Test Week
7 31/03 5 Section_08 04/04 5 Section_08
8 07/04 5 Section_08 11/04 9 Excel Part I
Recess
9 22/04*3 9 Excel Part I 25/04 6 Section_09
10 30/04*4 6 Section_09 02/05 9 Excel Part II
2nd Test Week
11 12/05 9 Excel Part II 16/05 7 Section_10
12 19/05 8 Section_11 23/05 8 Section_12
13 26/05 8 Section_12 30/05 - -
Exam
*2
Friday time-table
*3
Monday time-table
*4
Monday time-table
29