Unit information for 2012:
Understanding the relationship between a programming language and the
contemporary operating systems on which it executes is central to
developing many skills in Computer Science. This unit introduces the
standard C programming language, on which many other programming languages
and systems are based, through a study of core operating system services
including input and output, memory management and file systems.
The C language is introduced through discussions on basic topics like data
types, variables, expressions, control structures, scoping rules,
functions and parameter passing. More advanced topics like C's run-time
environment, system calls, dynamic memory allocation, pointers and
recursion are presented in the context of operating system services
related to process execution, memory management and file systems. The
importance of process scheduling, memory management, and interprocess
communication in modern operating systems is discussed in the context of
operating system support for multiprogramming.
Laboratory and tutorial work place a strong focus on the practical
application of fundamental programming concepts, with examples designed to
compare and contrast many key features of contemporary operating systems.
Unit coordination and assessment:
|
Coordination:
|
A/Prof. Chris McDonald,
chris@csse.uwa.edu.au,
CSSE Rm 2.20.
Prof. Amitava Datta,
datta@csse.uwa.edu.au,
CSSE Rm 1.20.
|
|
Discussion forum:
|
help1002
|
|
Lecture times:
|
Mondays 1pm-1:45pm each week,
in the Ross Lecture Theatre (Physics Building).
Wednesdays 1pm-1:45pm each week,
in the Weatherburn Lecture Theatre (Mathematics Building).
Echo360 audio recordings.
|
|
Tutorials:
|
Fridays 10am-10:45am each week,
in the Weatherburn Lecture Theatre (Mathematics Building).
|
|
Laboratories:
|
All laboratory sessions will be held in CSSE Lab 2.01.
Students should attend one 2 hour laboratory session each week:
Tuesday 11am-1pm,
Tuesday 2pm-4pm,
Wednesday 11am-1pm,
Wednesday 3pm-5pm,
Thursday 10am-12noon,
Thursday 12noon-2pm,
Thursday 2pm-4pm,
and
Friday 11am-1pm.
|
|
Consultation:
|
Monday 3pm-5pm (with Chris), or please email for an appointment.
Tuesday 11am-12noon (with Amitava), or please email for an appointment.
|
|
Assessment:
|
20% Mid-semester test, held 1pm Monday 10th September (wk 7).
20% Programming project 1, due 1pm Friday 21st September (wk 8).
20% Programming project 2, due 1pm Friday 2nd November (wk 13).
40% Final examination, 2 hours, held in November.
|
Recommended (though not required) books for 2012:
|
Head First C
David Griffiths, Dawn Griffiths,
O'Reilly Media, Copyright 2012,
640pp.
Head First C is also available as a DRM-free PDF.
Some other recommended books on C.
|
|
Operating
Systems: Internals and Design Principles, 7th ed.
William Stallings,
Pearson, Copyright 2012,
816pp, ISBN: 013230998X.
This is the current edition of this textbook,
but an older second-hand 5th or 6th edition will be quite suitable.
|
|
Where do other students get their textbooks?
|
Tutorials:
Tutorials reiterate the material introduced in the lectures and are aimed
as review exercises for students who need extra assistance in
understanding unit material. Students should use these sessions to ask
questions about the lecture material and to seek assistance in solving the
posted tutorial problems. Students should attempt these exercises before
attending the tutorial.
Attendance at tutorial classes is not compulsory. Sessions will be held
at 10am on Fridays in the Weatherburn Lecture Theatre.
Tutorial exercises are not be assessed and no sample solutions will be
provided.
Laboratory and project work:
Practical work is a very important component of this unit,
both in weekly laboratory sessions that will reinforce lecture material, and
in project material that requires you to increase the depth of your knowledge.
This unit has a number of 2 hour weekly lab sessions in which you
are expected to undertake the laboratory and project work.
Laboratories will be supervised for the full 2 hours of each session.
Please note:
Before undertaking this unit,
students are strongly encouraged to read:
|