|
Organisation
Syllabus
Schedule
Materials
Lecture Notes
Practicals
Tutorials
Assessment
Assignments
Reference
Textbooks
Java API Guide
|
| |
|
Module Co-ordinator
Dr Marwan Fayed: Room 4B72.
Lecturers
Dr. Marwan Fayed: Room 4B72
Dr. Bruce Graham: Room 4B70
Prof. Evan Magill, Room 4X3
Prerequisites
CSC933
Learning Outcomes
- extending and consolidating knowledge of the Java language
- imparting knowledge of systems and hardware required for working with computer systems
- developing a confidence in programming in Java, and in using its libraries
gaining a basic knowledge of how (von Neumann) computer hardware functions
- gaining a basic knowledge of the organisation of operating systems
Transferable Skills
- the ability to program in Java
- the ability to understand the significance of manufacturers' specifications of computer systems
- a basic understanding of the architecture of the hardware and software of computer systems
- a basic understanding of the role of operating systems.
Contents
Java
- Data input/output:
Console and GUI IO, file data types and file IO, object IO, redirection and pipes
- Recursion:
Recursive data structures, algorithms, and use of recursion as a problem-solving method
- Threads in Java:
Synchronisation, critical regions and deadlock with worked examples.
Systems
- Data representation (5 lectures)
Base: binary, decimal, and hexadecimal
- Types: boolean, integers, characters, floating point, and IEEE-754.
Operations: integer arithmetic, and (bit-wise) logical operations
- Computer Organisation (8 lectures)
Architecture: CPU, MM, secondary storage, peripheral devices & interfaces.
Basic instructions: overview of formats. Some detail of simple examples.
Operation: data transfers, fetch-decode-execute cycle, and VM
- Operating Systems (5 lectures)
Function of OS and single versus multiple user systems.
Architecture: overview, machine interface, user interface, and application interface
Resources: files .
Concurrency: Program, process, thread, life cycles, interrupts.
Assessment
- Assignments (30%)
- Practical Checkpoints (10%)
- Examination (60%)
In order to obtain a pass grade for the module you must:
- Submit all items of assessed coursework
- Attend the examination
Non-submission of any single item of assessed coursework will result in the award of no grade for the module as a whole. This rule (regarding coursework) may be relaxed for students who can show good cause for failure to submit. 'Good cause' may include illness (for which a medical certificate or other evidence will be required). If a student is unable to attend the exam, he/she must apply to Student Programmes for a deferred exam. There are established procedures for this: further information is available from the Student Programmes Office.
Textbooks
Systems
- Structured Computer Organization, A S Tanenbaum, Prentice-Hall, 5th edition 2006 (An extraordinarily good book, but with more than this course covers. Recommended for those who really want to learn about computer systems (ISBN: 0-13-020435-8). The 4th edition of the above book (1999) is a little out of date, but much of it is still relevant.
If you are going to buy one book, buy one of the above.
The following books are relevant, and form useful background reading:
- The architecture of Computer Hardware and Systems Software, I. Englander, Wiley, 3rd edition, 2003. This is written in a very easy-to-read way, and could be very useful if you have very little background in systems (ISBN 0-471-36897 0).
- Applied Operating Systems Concepts, A. Silberschatz, P. Galvin, G. Gagne, Wiley, first edition, 2000, ISBN:0471263141 (0-471-36508-4)
- The Essentials of Computer Organisation, L.Null, & J. Lobur, Jones & Bartlett, 2002, ISBN 0-7637-0444-X
- Computer Systems, J.S. Warford, Jones & Bartlett, 2nd edition, 2002, ISBN: 0-7637-1633-2
Java
- The CSC933 text and additional references carry over to this module..
|
|