UQ Students should read the Disclaimer & Warning
Note: This page dates from 2005, and is kept for historical purposes.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0094)http://www.itee.uq.edu.au/undergraduate/_profile_view.php?print=1&file=2003_2_COMP1300_StLucia -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>COMP2302 – Course Profile</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta
content="School of Information Technology and Electrical Engineering - Course Profile"
name="Description" />
</head>
<body bgcolor="#ffffff">
<h3 align="center">The University of Queensland<br />
School of Information Technology and Electrical Engineering<br />
Semester 2, 2003</h3>
<h1 align="center">COMP1300 - Introduction to Computer Systems<br />
COMP2302 - Computer Organisation</h1>
<h1 align="center">Course Profile</h1>
<h2>Version</h2>
<p>This is version 1.0 of the COMP1300 / COMP2302 course profile, dated 14 July
2003..</p>
<h3>Changes since the last version</h3>
<p>Not applicable.</p>
<hr />
<h2>Course Summary</h2>
<table id="AutoNumber6"
bordercolor="#111111" cellspacing="1" border="1">
<tbody>
<tr>
<td nowrap="nowrap"><b>Course Code(s):</b></td>
<td><b>COMP1300, COMP2302</b><br />
Engineering students should enrol in COMP1300; Information Technology
students should enrol in COMP2302. Other students may enrol in any course
code, although it is recommended you enrol in COMP1300.</td>
</tr>
<tr>
<td nowrap="nowrap"><b>Unit Value:</b></td>
<td>#2</td>
</tr>
<tr>
<td nowrap="nowrap"><b>Contact Hours:</b></td>
<td>5 hours per week (2L1T2P)</td>
</tr>
<tr>
<td nowrap="nowrap"><b>Purpose:</b></td>
<td>COMP1300/2302 is an introduction to how computers work at the lowest levels
and will cover topics from binary numbers and logic gates to assembly language
and C programming. After this course you'll have a basic understanding of
how computers work and you'll be able to develop programs for a microcontroller
based computer system. </td>
</tr>
</tbody>
</table>
<hr />
<h2>Teaching Staff</h2>
<p><b>Dr Peter Sutton (Course Coordinator)</b><br />
Office: 47-312<br />
Phone: (07) 3365-4854<br />
Fax: (07) 3365-4999<br />
Email: p.sutton+comp1300[at]itee.uq.edu.au<br />
Consultation Time: Monday 2-3pm</p>
<p><b>Mr Len Payne (Lab Supervisor)<br />
</b>Office: 47-402<br />
Phone: (07) 3365-4137<br />
Fax: (07) 3365-4999<br />
Email: payne[at]itee.uq.edu.au</p>
<h3>Tutors</h3>
<p>To be advised.</p>
<hr />
<h2>Course Goals</h2>
<p>The specific learning outcomes expected of students are listed below. In general
terms, students are expected to understand how computers work at the lowest
levels and be able to program a specific computer (Atmel AVR microcontroller)
using assembly language and C. It is expected that upon successful completion
of the course, students will:</p>
<ol>
<li>understand number representations and be able to perform operations on and
conversions between various representations </li>
<li>understand the operation of digital logic gates </li>
<li>understand various representations of logic functions (equations, truth-tables,
schematics, simple timing diagrams) and be able to perform manipulations on
and conversions between various representations </li>
<li>understand the operation of simple combinational logic circuits (e.g. decoders
and multiplexers) and how such logic circuits can be constructed from simple
logic gates </li>
<li>understand the operation of latches and flip-flops and how they can be built
from simple logic gates </li>
<li>understand the operation of simple sequential logic circuits (e.g. counters
and shift-registers) </li>
<li>understand how arithmetic and logical operations are performed by computers </li>
<li>understand the memory hierarchy that exists within computers (from registers
to secondary storage) and the characteristics of the different types of memory,
and be able to perform calculations using those characteristics </li>
<li>understand the principles of computer input-output (e.g. polling vs. interrupts,
serial vs. parallel, synchronous vs. asynchronous) </li>
<li>be able to construct flow-chart representations of computer programs </li>
<li>have an understanding of the general architecture of a processor - the components
that make it up and the communication used between the components (e.g. buses) </li>
<li>understand the difference between macroarchitecture and microarchitecture
of a CPU and the operation of the fetch-execute cycle </li>
<li>understand the concept of an Instruction Set Architecture (ISA) </li>
<li>have an understanding of the functionality, use and architecture of the
Atmel AVR microcontroller family </li>
<li>understand the different types of instructions an ISA may contain (e.g.
data movement, arithmetic, branching etc) and what they're used for </li>
<li>understand why different machine instructions have different formats (e.g.
opcode plus some number of operands) </li>
<li>understand the different types of addressing modes a microprocessor may
support and when and why they might be used </li>
<li>understand the use of a stack in making procedure calls </li>
<li>understand the concept of interrupts and how they're supported in hardware </li>
<li>understand the requirements of an interrupt service routine </li>
<li>understand the concept of assembly and assembly language and the relationship
between assembly language and the underlying machine instructions </li>
<li>understand the concepts of interpretation and compilation and the differences
between them </li>
<li>understand the principles of good assembly language programming </li>
<li>be able to write, modify and debug AVR assembly language programs, specifically,
programs which control AVR hardware and process data from and control devices
external to the AVR </li>
<li>have an understanding of how to use the AVR microcontroller to build simple
digital systems </li>
<li>be familiar with the basic concepts of the C programming language </li>
<li>be able to write, modify and debug simple C language programs (targeted
to the AVR microcontroller) </li>
<li>have a basic understanding of the concepts of linking and loading and the
use of libraries </li>
<li>understand the concept of a virtual machine, in particular virtual memory </li>
<li>be aware of the similarities and differences between several specific microprocessors
and microcontrollers </li>
<li>have some familiarity with the format and content of microprocessor and
microcontroller datasheets </li>
<li>be able to neatly wire-up and operate simple digital circuits </li>
<li>be able to use the LogicWorks software application to draw and simulate
digital circuits </li>
<li>be able to use Atmel AVR Studio and other tools to write, assemble, simulate,
debug and download programs to an Atmel AVR Project board </li>
<li>be able to use the GNU C cross-compiler with AVR Studio to write, compile
and debug a C language program for an Atmel AVR Project board </li>
</ol>
<p>More detailed learning outcomes will be provided for each teaching activity.
You should notice the presence of the word "understanding" in the list above.
It is not expected that you memorise numerous facts and figures to pass this
course - in fact the exams and tests are all open-book.</p>
<hr />
<h2>Assumed Background</h2>
<p>There are no prerequisite courses, however programming experience is advantageous.
If you have not previously taken COMP1500 (or equivalent), it is highly recommended
that you take it as a companion course during this semester. COMP1300/2302 are
incompatible with CS105, CS200, CS206, COMP2300 and ELEC2002. COMP1300/2302
are also incompatible with each other - you may only gain credit for one of
the two courses.</p>
<hr />
<h2>Resources</h2>
<h3>Textbook</h3>
<p>The required texts are</p>
<ul>
<li>Tanenbaum, Andrew S., <b>Structured Computer Organization</b> (4th edition),
Prentice-Hall, 1999. </li>
<li>Kernighan, Brian W. and Ritchie, Dennis M., <b>The C Programming Language</b> (2nd
edition), Prentice-Hall, 1988. </li>
</ul>
<p>The course will draw heavily on the first of these books. The second book
serves as an excellent introduction and reference to the C programming language.</p>
<p>As an alternative, the following single text may be considered as a (cheaper
but poorer) replacement for both of the above:</p>
<ul>
<li>Patt, Yale N. and Patel, Sanjay J., <b>Introduction to Computing Systems:
from bits and gates to C & beyond</b>, McGraw Hill, 2001.</li>
</ul>
<p>This book covers most of the course material but lacks the depth of the two
books above. </p>
<p>Page references will be provided to material in all three books.</p>
<h3>Reference Texts</h3>
<p>Students are not expected to purchase the following books, but may find them
useful. Copies of some of these books are available in the library. </p>
<ul>
<li>Capilano Computing Systems Ltd, <b>LogicWorks 4: Interactive Circuit Design
Software</b>, Addison Wesley, 1999. </li>
<li>Gadre, Dhananjay V., <b>Programming and Customizing the AVR Microcontroller</b>,
McGraw-Hill Professional, 2000. </li>
<li>Harbison, Samuel P. and Steel, Guy L., <b>C: A Reference Manual</b>, Prentice
Hall, 2002 (or earlier edition). </li>
<li>Katz, Randy, <b>Contemporary Logic Design</b>, Benjamin/Cummings, 1994. </li>
<li>Kuhnel, Claus, <b>AVR RISC Microcontroller Handbook</b>, Butterworth-Heinemann,
1998. </li>
<li>Mano, Morris, <b>Digital Design</b>, Prentice Hall, 1984 or 1991. </li>
<li>Stallings, William, <b>Computer Organization and Architecture</b>, Prentice
Hall, 2000. </li>
</ul>
<h3>Handouts</h3>
<p>Handouts and course notes will be made available on the course web site (see
below). It is also expected that notes will be made available in printed form
through the Print On Demand (pod) centre within the UQ Bookshop. </p>
<p>The course notes will contain a brief study guide for each lecture (e.g. learning
objectives and exercises) along with copies of the slides to be presented. The
course notes will also contain other relevant material.</p>
<p>On occasion, handouts may be given at lectures. If you fail to collect a handout
at a lecture, you may access it on the course web site. Spare copies will NOT
be available after the lecture time. You will have to download and print the
document yourself if you wish to have a printed copy.</p>
<h3>Facilities</h3>
<p>Practical work for this course will take place in the Computer Systems teaching
laboratory (47-405, Axon Building). You should note that this laboratory is
classified as an Engineering laboratory and workplace health and safety regulations
require that covered footwear be worn in the laboratory. You should read the
sections entitled "Laboratory Usage" and "Health and Safety Issues" in the ITEE
Student Guide 2003 (pp21 - 23, available from the ITEE general office) and abide
by the rules listed. You will also be required to read and understand the "Occupational
Health and Safety in the Laboratory (Undergraduate Student Edition)" guidelines
and submit the associated OHS declaration. (These guidelines and the declaration
will be made available as a link from the course web site.) Failure to complete
the declaration and/or abide by the guidelines will result in your exclusion
from the laboratory. In particular, if you fail to wear covered footwear, you
will be excluded from your prac session.</p>
<p>Access to 47-405 will NOT be available outside scheduled prac sessions.</p>
<p>Students will have access to general computing resources (e.g. Windows PCs)
in the School of ITEE. These resources may be used to access course electronic
resources (e.g. the course website).</p>
<h3>Consultation</h3>
<p>The course coordinator will be available for consultation in his office on
Mondays from the conclusion of the lecture (sometime between 12noon and 1pm)
until 2pm. Brief queries can sometimes be made in the few minutes immediately
AFTER a lecture (but not before). You may visit his office at other times, but
he may be busy with other commitments. If you wish to guarantee availability
at some other time you should make an appointment.</p>
<p>The best resources you have for queries about the course material are your
fellow students - working something out or solving a problem with your peers
is one of the best ways to learn. Your tutors are also available to help with
course related queries - ask them during your regular tutorial time or during
your weekly prac session. The tutors are NOT available outside the regularly
scheduled tutorial and prac hours - please do not contact them outside these
hours. The course newsgroup (see below) is also available as a resource - you
are encouraged to actively participate. </p>
<h3>Distribution of Notices</h3>
<p>Notices to students will usually be delivered electronically (e.g., by email,
news posting and web-site update). Details of these resources are provided below. </p>
<h3>Email</h3>
<p>Announcements regarding the course will be distributed by email to the standard
student email addresses of enrolled students using the comp1300-2302-all[at]itee.uq.edu.au
mailing list. This mailing list will be archived on the ITEE web site. On occasion
the teaching staff may email individual students or groups of students (e.g.
students within a particular tutorial group) about course-related matters. It
is expected that students will read their email regularly, preferably daily. </p>
<p>Students may email the course coordinator by sending email to comp1300[at]itee.uq.edu.au (or comp2302[at]itee.uq.edu.au)
or by using the address given above (p.sutton+comp1300[at]itee.uq.edu.au). Failure
to use one of these addresses or failure to include the course code somewhere
within the Subject: line of your email, may result in automatic deletion of
your email.</p>
<h3>Web</h3>
<p>The course web site is available at http://www.itee.uq.edu.au/~comp1300 where
COURSECODE is either comp1300 or comp2302. The course web site will contain
copies of relevant handouts and notices and will allow students to view their
progressive results.</p>
<h3>Newsgroup</h3>
<p>The course newsgroup is uq.itee.comp1300-2302. This group is available on
both the University and School news servers (news.uq.edu.au and news.itee.uq.edu.au).
Students are free to post questions (and answers!) to the newsgroup. Copies
of announcements will also be posted to the newsgroup. The teaching staff will
monitor the newsgroup. </p>
<p>The newsgroup is also archived on the ITEE web site. A link to this archive
will be available from the course web site. </p>
<hr />
<h2>Teaching Activities</h2>
<h3>Lectures</h3>
<dl>
<dt>There are two lectures each week: </dt>
<dt>Lecture 1: </dt>
<dd>Monday 12-1 (UQ Theatre) </dd>
<dt>Lecture 2: </dt>
<dd>Tuesday 9-10 (UQ Theatre) </dd>
</dl>
<p>The mySI-net timetable shows L1 as 12-2 on Monday. <b>In general, the second
hour of this time will not be used for lecture</b>, but will be used for other
purposes, e.g., class test overflow time, review of class test answers, software
demonstrations, lecturer consultation. Attendance at this second hour is not
required, except if the class tests extend into this time. </p>
<p>Lectures provide an introduction to the course material and present examples
to help students understand the principles and techniques. Students should prepare
for lectures by undertaking the recommended reading or other recommended activities.
Please note that the lecture slides in the course notes will NOT be a complete
record of the lecture. Examples will be worked through and exercises undertaken
which may not be shown on the slides. </p>
<h3>Tutorials</h3>
<p>Students should sign-up for and attend a weekly tutorial session. (Sign-up
will be available via mySI-net from 9am July 22.) In the first few weeks (and
during the last week), tutorials will be held in standard classrooms and cover
lecture and prac material. In weeks 5 to 12, tutorials will be held in a computer
lab and will concentrate on C programming exercises. The available tutorial
sessions are listed below. These times are subject to change. Not all sessions
will be offered. The number of sessions offered will depend on enrolment numbers.
Because spaces are limited, you should only attend the session to which you
are signed-up. You may change the session you're signed-up to if desired (via
mySI-net).</p>
<table id="AutoNumber10"
bordercolor="#111111" cellspacing="0" width="576" border="1">
<tbody>
<tr>
<th width="61">Tutorial</th>
<th width="86">Day</th>
<th width="113">Time</th>
<th width="145">Room (weeks 2-4, 13)</th>
<th width="155">Room (weeks 5-12)</th>
</tr>
<tr>
<td align="middle" width="61">A</td>
<td align="middle" width="86">Monday</td>
<td align="middle" width="113">9am - 10am</td>
<td align="middle" width="145">68-621</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">B</td>
<td align="middle" width="86">Monday</td>
<td align="middle" width="113">10am - 11am</td>
<td align="middle" width="145">45-104</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">C</td>
<td align="middle" width="86">Monday</td>
<td align="middle" width="113">11am - 12noon</td>
<td align="middle" width="145">43-105</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">D</td>
<td align="middle" width="86">Monday</td>
<td align="middle" width="113">2pm - 3pm</td>
<td align="middle" width="145">1-E301</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">E</td>
<td align="middle" width="86">Monday</td>
<td align="middle" width="113">3pm - 4pm</td>
<td align="middle" width="145">67-343</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">F</td>
<td align="middle" width="86">Tuesday</td>
<td align="middle" width="113">2pm - 3pm</td>
<td align="middle" width="145">43-104</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">G</td>
<td align="middle" width="86">Tuesday</td>
<td align="middle" width="113">3pm - 4pm</td>
<td align="middle" width="145">78-343</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">H</td>
<td align="middle" width="86">Tuesday</td>
<td align="middle" width="113">5pm - 6pm</td>
<td align="middle" width="145">78-224</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">I</td>
<td align="middle" width="86">Wednesday</td>
<td align="middle" width="113">10am - 11am</td>
<td align="middle" width="145">39A-209</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">J</td>
<td align="middle" width="86">Wednesday </td>
<td align="middle" width="113">11am - 12noon</td>
<td align="middle" width="145">78-344</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">K</td>
<td align="middle" width="86">Wednesday</td>
<td align="middle" width="113">4pm - 5pm</td>
<td align="middle" width="145">68-621</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">L</td>
<td align="middle" width="86">Wednesday</td>
<td align="middle" width="113">5pm - 6pm</td>
<td align="middle" width="145">68-621</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">M</td>
<td align="middle" width="86">Thursday</td>
<td align="middle" width="113">2pm - 3pm</td>
<td align="middle" width="145">50-C203</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">N</td>
<td align="middle" width="86">Friday</td>
<td align="middle" width="113">1pm - 2pm</td>
<td align="middle" width="145">78-224</td>
<td align="middle" width="155">78-116</td>
</tr>
<tr>
<td align="middle" width="61">O</td>
<td align="middle" width="86">Friday</td>
<td align="middle" width="113">2pm - 3pm</td>
<td align="middle" width="145">45-104</td>
<td align="middle" width="155">78-116</td>
</tr>
</tbody>
</table>
<p>Tutorials commence in week 2 of semester. Students who sign up for a Wednesday
tutorial session should attend an alternative session in week 3 (because of
the Exhibition public holiday).</p>
<p>A PASS tutorial session will also be running (details to be provided later).
This tutorial session is for students who feel they need extra help. Sign-up
is not necessary - any student may attend. </p>
<h3>Pracs</h3>
<p>Students should sign-up for and attend a weekly prac session. (Sign-up will
be available via mySI-net from 9am July 22.) The pracs are designed to reinforce
your learning of the course material. They are also designed to build the practical
skills of students in prototyping logic circuits, using the LogicWorks application
and writing, assembling, compiling and running code on a microcontroller. There
are twelve weeks of pracs (including two prac exams which are described in the
Assessment section below).</p>
<p>Prac activities are carried out in pairs. You may choose your own partner,
or you will be assigned one at your first prac session. You should maintain
the same pairing for the whole semester. The project (see below) will be completed
with your prac partner.</p>
<p>You should obtain a workbook in which to write your prac notes. The workbook
should be an A4 bound notebook. All preparatory exercises, working notes and
diagrams, code listings etc should be included in your workbook (as glued-in
printouts if necessary). Your workbook will not be directly assessed, however,
it is the only item you may take into the prac exams, so it is in your best
interests to make it as complete as possible. Your prac workbook should be individual
- i.e. it should be separate from your partner's workbook (although the contents
may well be very similar).</p>
<p>Keeping a workbook is a good introduction to professional practice. Many people
working in industry or research are required to keep workbooks. These fully
document the thoughts and steps behind any experiments or development. It is
common commercial practice that each page of a workbook is signed and dated
at the end of each day and often that this is witnessed by some independent
person. Some organisations require that workbooks be kept in a fire-proof safe
each night. The workbooks are legal documents which can be used, for example,
to support patent claims. </p>
<p>The available prac sessions are listed below (subject to change). Not all
sessions will be offered. The number of sessions offered will depend on enrolment
numbers.</p>
<table id="AutoNumber2"
bordercolor="#111111" cellspacing="0" width="332" border="1">
<tbody>
<tr>
<th align="middle" width="100"><b>Prac Session</b></th>
<th align="middle" width="114"><b>Day</b></th>
<th align="middle" width="108"><b>Time</b></th>
</tr>
<tr>
<td align="middle" width="100">Pa</td>
<td align="middle" width="114">Monday</td>
<td align="middle" width="108">2pm - 4pm</td>
</tr>
<tr>
<td align="middle" width="100">Pb</td>
<td align="middle" width="114">Monday</td>
<td align="middle" width="108">4pm - 6pm</td>
</tr>
<tr>
<td align="middle" width="100">Pc</td>
<td align="middle" width="114">Tuesday</td>
<td align="middle" width="108">2pm - 4pm</td>
</tr>
<tr>
<td align="middle" width="100">Pd</td>
<td align="middle" width="114">Tuesday</td>
<td align="middle" width="108">4pm - 6pm</td>
</tr>
<tr>
<td align="middle" width="100">Pe</td>
<td align="middle" width="114">Wednesday</td>
<td align="middle" width="108">10am - 12pm</td>
</tr>
<tr>
<td align="middle" width="100">Pf</td>
<td align="middle" width="114">Wednesday </td>
<td align="middle" width="108">2pm - 4pm</td>
</tr>
<tr>
<td align="middle" width="100">Pg</td>
<td align="middle" width="114">Wednesday</td>
<td align="middle" width="108">4pm - 6pm</td>
</tr>
<tr>
<td align="middle" width="100">Ph</td>
<td align="middle" width="114">Thursday</td>
<td align="middle" width="108">8am - 10am</td>
</tr>
<tr>
<td align="middle" width="100">Pi</td>
<td align="middle" width="114">Thursday </td>
<td align="middle" width="108">10am - 12pm</td>
</tr>
<tr>
<td align="middle" width="100">Pj</td>
<td align="middle" width="114">Thursday</td>
<td align="middle" width="108">2pm - 4pm</td>
</tr>
<tr>
<td align="middle" width="100">Pk</td>
<td align="middle" width="114">Thursday </td>
<td align="middle" width="108">4pm - 6pm</td>
</tr>
<tr>
<td align="middle" width="100">Pl</td>
<td align="middle" width="114">Friday</td>
<td align="middle" width="108">2pm - 4pm</td>
</tr>
<tr>
<td align="middle" width="100">Pm</td>
<td align="middle" width="114">Friday </td>
<td align="middle" width="108">4pm - 6pm</td>
</tr>
</tbody>
</table>
<p>Pracs commence in week 2 of semester and will be held in 47-405 - the Computer
Systems teaching laboratory. Students who sign up for a Wednesday prac
session will be required to attend an alternative session in week 3 (due to
the Exhibition public holiday). </p>
<p>You may change your prac session sign-up (subject to the availability of space
in the desired session). You may only attend the session you have signed up
to and you must sign-up to that session by midnight prior to the session. For
prac exams, you must sign-up by 11:59pm of the Sunday immediately before the
prac exam week. Changes to signup will not be possible during prac exam weeks.</p>
<h3>Attendance</h3>
<p>You are not <i>required</i> to attend any of the teaching sessions (except
those in which an assessment activity is taking place), however, you are <i>strongly
encouraged</i> to do so. The lectures, tutorials and pracs have been specifically
designed to aid your learning of the course material. Failure to attend a session
may result in you being disadvantaged. It is up to you to find out what happened
at any class session that you miss. Should you miss a tutorial or prac, you
MAY be able to attend an alternative session. You should apply via the form
on the course web-site and you should be prepared to provide documentary evidence
of extenuating circumstances (e.g. medical certificate). The capacity of the
laboratory and many of the tutorial rooms is quite limited, so the possibility
of attending a session other than your regularly scheduled session is quite
low. Preference will be given to those students who have a legitimate excuse
for missing a session (e.g. medical reasons).</p>
<h3>Teaching Plan</h3>
<table border="1" cellspacing="1" bordercolor="#111111">
<tbody>
<tr>
<th rowspan="2">Week Number</th>
<th rowspan="2">Monday's Date</th>
<th rowspan="2">Lecture Number</th>
<th colspan="2">Lecture Topic</th>
<th rowspan="2">Prac Session</th>
<th align="left" rowspan="2"> <p align="center">Tutorial Exercises</p></th>
<th rowspan="2">Assessment</th>
</tr>
<tr>
<th> </th>
<th>Monday Extra Hour (1-2pm)</th>
</tr>
<tr>
<td align="middle" rowspan="2">1</td>
<td align="middle" rowspan="2">28 July</td>
<td align="middle">1</td>
<td>Introduction. <br />
Bits, Bytes and Binary Numbers.</td>
<td><i>(Not used.)</i></td>
<td rowspan="2"><i>(No prac in the first week.)</i></td>
<td align="left" rowspan="2"><i>(No tutorial sessions in the first week.)</i></td>
<td rowspan="2"> </td>
</tr>
<tr>
<td align="middle">2</td>
<td colspan="2">Logic Functions and Gates.</td>
</tr>
<tr>
<td align="middle" rowspan="2">2</td>
<td align="middle" rowspan="2">4 August</td>
<td align="middle">3</td>
<td>Flip-flops.</td>
<td><i>Lab Equipment Introduction</i></td>
<td rowspan="2">1. Combinational Logic</td>
<td align="left" rowspan="2">Lecture 1 and 2 material</td>
<td rowspan="2"> </td>
</tr>
<tr>
<td align="middle">4</td>
<td colspan="2">Binary Number Systems.</td>
</tr>
<tr>
<td align="middle" rowspan="2">3</td>
<td align="middle" rowspan="2">11 August</td>
<td align="middle">5</td>
<td>Arithmetic and Combinational Circuits.</td>
<td> </td>
<td rowspan="2">2. Flip-flops <br />
<i>(Wednesday pracs to be rescheduled)</i></td>
<td align="left" rowspan="2">Lecture 3 and 4 material<i> (Wednesday tutorials
to be rescheduled.)</i></td>
<td rowspan="2"><br />
</td>
</tr>
<tr>
<td align="middle">6</td>
<td colspan="2">Sequential Circuits</td>
</tr>
<tr>
<td align="middle" rowspan="2">4</td>
<td align="middle" rowspan="2">18 August</td>
<td align="middle">7</td>
<td>Computer Memory.</td>
<td> </td>
<td rowspan="2">3. Adders and Subtractors</td>
<td align="left" rowspan="2">Lecture 5 and 6 material</td>
<td rowspan="2"> </td>
</tr>
<tr>
<td align="middle">8</td>
<td colspan="2">Flowcharting</td>
</tr>
<tr>
<td align="middle" rowspan="2">5</td>
<td align="middle" rowspan="2">25 August</td>
<td align="middle">9</td>
<td align="left"> <p align="center"><b>Class Test One</b></p></td>
<td align="left"><i>Class Test One may stretch into this time.</i></td>
<td rowspan="2">4. Counters and Shift Registers</td>
<td align="left" rowspan="2">C Programming 1: Hello World</td>
<td rowspan="2">Class Test One (Monday)</td>
</tr>
<tr>
<td align="middle">10</td>
<td colspan="2">CPU Chips and Buses</td>
</tr>
<tr>
<td align="middle" rowspan="2">6</td>
<td align="middle" rowspan="2">1 September</td>
<td align="middle">11</td>
<td>Microarchitecture</td>
<td><i>Class Test One Review</i></td>
<td rowspan="2"><b>Prac Exam One</b></td>
<td align="left" rowspan="2">C Programming 2: Loops</td>
<td rowspan="2">Prac Exam One (during prac sessions)</td>
</tr>
<tr>
<td align="middle">12</td>
<td colspan="2">Introduction to AVR Microcontroller</td>
</tr>
<tr>
<td align="middle" rowspan="2">7</td>
<td align="middle" rowspan="2"> 8 September</td>
<td align="middle">13</td>
<td>Instruction Set Architecture</td>
<td> </td>
<td rowspan="2">5. Atmel AVR Studio</td>
<td align="left" rowspan="2">C Programming 3: Functions</td>
<td rowspan="2">Assignment Out</td>
</tr>
<tr>
<td align="middle">14</td>
<td colspan="2">Instruction Formats</td>
</tr>
<tr>
<td align="middle" rowspan="2">8</td>
<td align="middle" rowspan="2">15 September</td>
<td align="middle">15</td>
<td>Addressing Modes</td>
<td><i>Installing the software tools at home</i></td>
<td rowspan="2">6. AVR Assembly Language Programming</td>
<td align="left" rowspan="2">C Programming 4: Preprocessor</td>
<td rowspan="2"> </td>
</tr>
<tr>
<td align="middle">16</td>
<td colspan="2">Instruction Types</td>
</tr>
<tr>
<td align="middle" rowspan="2">9</td>
<td align="middle" rowspan="2">22 September</td>
<td align="middle">17</td>
<td>Flow of Control, Interrupts</td>
<td> </td>
<td rowspan="2">7. Tone Generator (Assembly and C)</td>
<td align="left" rowspan="2">C Programming 5: Structures and Pointers</td>
<td rowspan="2">Project Out</td>
</tr>
<tr>
<td align="middle">18</td>
<td colspan="2">AVR Input/Output</td>
</tr>
<tr>
<td align="middle"> </td>
<td align="middle">29 September</td>
<td align="middle" colspan="6"> <p align="center">Mid-semester break (one
week)</p></td>
</tr>
<tr>
<td align="middle" rowspan="2">10</td>
<td align="middle" rowspan="2">6 October</td>
<td align="middle">19</td>
<td>Assembly</td>
<td> </td>
<td rowspan="2">8. Interrupts (Tone Generator, Serial IO)</td>
<td align="left" rowspan="2">C Programming 6: Debugging</td>
<td rowspan="2">Assignment Due (Friday, 5pm)</td>
</tr>
<tr>
<td align="middle">20</td>
<td colspan="2">Aspects of C programming</td>
</tr>
<tr>
<td align="middle" rowspan="2">11</td>
<td align="middle" rowspan="2">13 October</td>
<td align="middle">21</td>
<td align="left"><b>Class Test Two</b></td>
<td align="left"><i>Class Test Two may stretch into this time.</i></td>
<td rowspan="2">9. Terminal IO</td>
<td align="left" rowspan="2">Project Assistance</td>
<td rowspan="2">Class Test Two (Monday)</td>
</tr>
<tr>
<td align="middle">22</td>
<td colspan="2">Libraries</td>
</tr>
<tr>
<td align="middle" rowspan="2">12</td>
<td align="middle" rowspan="2">20 October</td>
<td align="middle">23</td>
<td>Linking and Loading</td>
<td><i>Class Test Two Review</i></td>
<td rowspan="2">Project Work</td>
<td align="left" rowspan="2">Project Assistance</td>
<td rowspan="2">Project Due (Friday 5pm)</td>
</tr>
<tr>
<td align="middle">24</td>
<td colspan="2">Virtual Machine</td>
</tr>
<tr>
<td align="middle" rowspan="2">13</td>
<td align="middle" rowspan="2">27 October</td>
<td align="middle">25</td>
<td>Other Architectures</td>
<td> </td>
<td rowspan="2"><b>Prac Exam Two</b></td>
<td align="left" rowspan="2"> </td>
<td rowspan="2">Prac Exam Two (during prac sessions)</td>
</tr>
<tr>
<td align="middle">26</td>
<td colspan="2">Review</td>
</tr>
<tr>
<td align="middle"> </td>
<td align="middle">3 November</td>
<td align="middle" colspan="6">Revision Period</td>
</tr>
<tr>
<td align="middle">Exam Week 1</td>
<td align="middle">10 November</td>
<td align="middle"> </td>
<td> </td>
<td> </td>
<td> </td>
<td align="left"> </td>
<td rowspan="2">Final Exam</td>
</tr>
<tr>
<td align="middle">Exam Week 2</td>
<td align="middle">17 November</td>
<td align="middle"> </td>
<td> </td>
<td> </td>
<td> </td>
<td align="left"> </td>
</tr>
</tbody>
</table>
<hr />
<h2>Assessment</h2>
<p>COMP1300/2302 will be assessed by several methods as outlined below. Your
final grade (on a 1 to 7 scale) will be determined by combining the marks and
grades from the various assessment components as described below. For each assessment
item, reference is made to the specific learning objectives (from the list above)
which the assessment item will address. </p>
<h3>Class tests</h3>
<p>Two class tests will be held during lecture time (in place of lectures 9 and
21). The tests are individual and will be multiple-choice, open-book. The lecture
9 test will cover material from lectures 1 to 7 (and associated readings, tutorials
and pracs). The lecture 21 test will cover material from lectures 8 to 18 (and
associated readings, tutorials and pracs). The class-test marks will be combined
to give a final class-test mark out of 100% by scaling your lower test mark
to be out of 33<sup>1</sup>/<sub>3</sub> and your higher test mark to be out
of 66<sup>2</sup>/<sub>3</sub>. (For example, if you achieve 30% on class test
1 and 60% on class test 2, your final class test mark will be 50%). </p>
<p>Failure to attend a class-test will result in a mark of zero for that test
unless you submit a request for a special class test (using the form available
from the course web site). The request should be accompanied by supporting documentary
evidence of extenuating circumstances (e.g. medical certificate) and must be
submitted to the course coordinator no later than five working days following
the scheduled test. Special class tests will be scheduled at a time and date
to be advised.</p>
<p>Open-book means that you may bring any <i>written</i> material into the examination
room. You may also bring a battery-operated or solar-powered non-programmable
calculator. Programmable calculators and other computing or communication devices
are NOT permitted. You will require a HB or 2B pencil and an eraser to complete
the class tests.</p>
<p>Class tests are subject to the rules of the University (see the Assessment
Rules). In particular, please be sure to bring identification (student card)
and obey the instructions of exam supervisors. </p>
<p>The first class test is designed to evaluate you against learning objectives
1 to 9. The second class test will examine you against learning objectives 10
to 20 and 24. </p>
<h3>Assignment</h3>
<p>Students will be required to undertake an assignment in which they research
the architecture of various microprocessors and/or microcontrollers and write
a brief report which compares and contrasts these architectures. The assignment
will be individual and will be graded on a 1-7 basis. The assignment will test
you against learning outcomes 11, 13-15, 17, 30 and 31. More detailed
assessment criteria will be provided later in the semester (with the assignment
handout). Submission of assignment work without academic merit (see description
below) will result in an assignment mark of 0 being awarded. </p>
<h3>Project</h3>
<p>Students, in pairs, will be required to undertake a project in which they
develop a program for the AVR microcontroller which implements specified behaviour.
The project will test you against learning outcomes 10, 24-28, 34 and 35.
More detailed assessment criteria will be provided later in the semester (with
the project handout). Submission of project work without academic merit (see
description below) will result in a mark of 0 being awarded. The submitted project
will also form the basis of the second prac exam. Both students within a pair
will receive the same mark for the project. </p>
<h3>Prac Examinations</h3>
<p>Two prac exams will be held during the regularly schedule prac times in weeks
6 and 13 of semester. Prac examinations are individual. Each two-hour prac session
will be split into two prac exam sessions. You and your prac partner will be
allocated to different sessions (you will be informed of this allocation prior
to the prac exam session). The prac exam in week 6 will involve the completion
of an activity or activities like those undertaken in pracs 1 to 4. The prac
exam in week 13 will involve the completion of an activity or activities like
those undertaken in pracs 5 to 9 and the project.</p>
<p>You may bring your workbook (see description above) into the prac exam but
no other written or electronic material (e.g. floppy disks) may be brought into
the room. You WILL have electronic access to the prac resources (e.g. prac handouts,
template code for pracs, datasheets) and in the second prac exam you will have
access to your project code.. </p>
<p>Prac examinations are marked on a pass/fail basis. You must pass <b>both</b> prac
exams to be awarded a passing grade (i.e. 4 or higher) for the course. Should
you fail a prac examination, you may undertake a supplementary prac exam (at
a time to be scheduled - possibly during the examination period) - i.e. you
have a second chance to pass each prac exam should you fail it the first time.. </p>
<p>Failure to attend a scheduled prac examination will be considered failure
of the exam unless you submit a request for a special prac exam (using the form
available from the course web site). The request for a special examination should
be accompanied by supporting documentary evidence of extenuating circumstances
(e.g. medical certificate) and must be submitted to the course coordinator no
later than five working days following your scheduled prac examination. Failure
of a special prac exam will be treated the same as failure of the original prac
exam and will entitle you to a supplementary prac exam. Failure of a prac examination
through non-attendance (where a special exam is not awarded) will NOT be considered
grounds for awarding a supplementary prac exam, i.e. you will not pass the course. </p>
<p>You must only attend the prac session you are signed up for. You may change
your signup up until 11:59pm of the Sunday immediately before the prac exam
weeks. You may not change your signup during prac exam weeks.</p>
<p>Prac examinations are subject to the rules of the University (see the Assessment
Rules). In particular, please be sure to bring identification (student card)
and obey the instructions of exam supervisors. </p>
<p>As with all prac sessions, you will NOT be admitted to the prac exam if you
are not wearing covered footwear or if you have not submitted an Occupational
Health and Safety declaration. This will be treated as an exam failure through
non-attendance.</p>
<p>The first prac exam will test you against a subset of the learning objectives
1 to 7, 32 and 33. The second prac exam will test you against a subset of the
learning objectives 18 to 21, 23 to 28, 34 and 35.</p>
<h3>Final Examination</h3>
<p>A two hour final examination will be held during the final examination period.
This exam will be open-book and will contain both multiple-choice and written-answer
questions. Open-book means that you may bring any <i>written</i> material into
the examination room. You may also bring a battery-operated or solar-powered
non-programmable calculator. Programmable calculators and other computing or
communication devices are NOT permitted. You will require a HB or 2B pencil
and an eraser to complete the exam.</p>
<p>The final exam will test you against learning objectives 1 to 31. </p>
<h3>Determination of Final Grade</h3>
<p>Based on your assessment component marks, an overall percentage will be calculated
according to the following weightings. Your overall percentage will be rounded
to the nearest whole percent. </p>
<table id="AutoNumber9"
bordercolor="#111111" cellspacing="0" border="1">
<tbody>
<tr>
<th>Assessment Component</th>
<th>Weighting (%)</th>
</tr>
<tr>
<td align="middle">Final Exam</td>
<td align="middle">40</td>
</tr>
<tr>
<td align="middle">Class tests</td>
<td align="middle">30</td>
</tr>
<tr>
<td align="middle">Project</td>
<td align="middle">20</td>
</tr>
<tr>
<td align="middle">Assignment</td>
<td align="middle">10</td>
</tr>
</tbody>
</table>
<p>Your final grade for COMP1300/2302 will be the highest grade for which your
overall percentage and component results satisfy the criteria in the following
table. For example, if you achieve final exam, class test, project, assignment,
prac exam one and prac exam two results of 70, 49, 80, 75, pass and pass respectively,
your overall percentage will be 66% and your final grade will be a 5.</p>
<table id="AutoNumber7"
bordercolor="#111111" cellspacing="0" border="1">
<tbody>
<tr>
<td align="middle"><b>To be awarded this</b></td>
<td align="middle" colspan="7"><b>requires that you achieve this...</b></td>
</tr>
<tr>
<td align="middle"><b>Final Grade</b></td>
<td align="middle"><b>Overall Percentage</b></td>
<td align="middle"><b>Final Exam</b></td>
<td align="middle"><b>Class tests</b></td>
<td align="middle"><b>Project</b></td>
<td align="middle"><b>Assignment</b></td>
<td align="middle"><b>Prac Exam 1</b></td>
<td align="middle"><b>Prac Exam 2</b></td>
</tr>
<tr>
<td>7 (High Distinction)</td>
<td align="middle">85% or higher</td>
<td align="middle">75% or higher</td>
<td align="middle">75% or higher</td>
<td align="middle">75% or higher</td>
<td align="middle">75% or higher</td>
<td align="middle" colspan="2">Pass both on first attempt</td>
</tr>
<tr>
<td>6 (Distinction)</td>
<td align="middle">75% or higher</td>
<td align="middle">50% or higher</td>
<td align="middle">50% or higher</td>
<td align="middle">50% or higher</td>
<td align="middle">50% or higher</td>
<td align="middle">Pass</td>
<td align="middle">Pass</td>
</tr>
<tr>
<td>5 (Credit)</td>
<td align="middle">65% or higher</td>
<td align="middle">50% or higher</td>
<td align="middle">40% or higher</td>
<td align="middle">50% or higher</td>
<td align="middle">50% or higher</td>
<td align="middle">Pass</td>
<td align="middle">Pass</td>
</tr>
<tr>
<td>4 (Pass)</td>
<td align="middle">50% or higher</td>
<td align="middle">30% or higher</td>
<td align="middle">No requirement</td>
<td align="middle">30% or higher</td>
<td align="middle">30% or higher</td>
<td align="middle">Pass</td>
<td align="middle">Pass</td>
</tr>
<tr>
<td>3 (Conceded Pass)</td>
<td align="middle">45% or higher</td>
<td align="middle" colspan="4">No requirement.</td>
<td align="middle" colspan="2">Pass at least one</td>
</tr>
<tr>
<td>2 (Fail)</td>
<td align="middle">20% or higher</td>
<td align="middle" colspan="6">No requirement.</td>
</tr>
<tr>
<td>1 (Fail)</td>
<td align="middle" colspan="7">At least one item of work submitted or exam/test
attempted.</td>
</tr>
<tr>
<td>X</td>
<td align="middle" colspan="7">No work submitted or tests/exams attempted.</td>
</tr>
</tbody>
</table>
<p>Your attention is drawn to the following implied requirements. In addition
to achieving the required overall percentage for a given grade:</p>
<ul>
<li>in order to achieve a grade of 7, you must exhibit excellent performance
across all assessment items </li>
<li>in order to achieve a grade of 6, you must pass all assessment items </li>
<li>in order to achieve a grade of 5, you must pass all assessment items (except
the class tests, for which you must achieve at least 40%) </li>
<li>in order to achieve a grade of 4, you must attempt, and achieve at least
30% on, the final exam, project AND assignment, as well as pass both prac exams </li>
</ul>
<hr />
<h2>Assessment Policies</h2>
<h3>Submission</h3>
<p>Submission instructions for the assignment and project will be contained in
the assignment/project handout. Submission will be electronically (via http://www.submit.itee.uq.edu.au/)
and/or via the submission boxes on level one of the GPSouth building. A signed
coversheet declaring that your submission is your original work (or the work
of you and your partner) will be required. </p>
<h3>Late Submission</h3>
<p>Late submission of the assignment and project will result in a penalty of
10% plus 10% per working day or part thereof, i.e. a submission less than one
working day late will be penalised 20%, less than two working days late 30%
and so on. Requests for extensions should be made to the course coordinator
(before the due date) and be accompanied by documentary evidence of extenuating
circumstances (e.g. medical certificate). </p>
<p>Late submission should be made to the school office (ask them to put it in
Dr Sutton's pigeon hole) or electronically as instructed. </p>
<h3>Return of Assignments</h3>
<p>Students will be notified of assignment collection arrangements towards the
end of the semester. </p>
<h3>Academic Merit, Plagiarism, Collusion and Other Misconduct</h3>
<p>The School and the wider academic community in general takes academic integrity
and respect for other persons and property very seriously. In particular, the
following behaviour is unacceptable: </p>
<ul>
<li>Submission of plagiarised work, i.e. work that contains content copied from
an unacknowledged source. </li>
<li>Submission of work without academic merit, i.e. work that adds little or
nothing to material available from reference sources such as textbooks, websites,
etc., even where this is appropriately acknowledged. </li>
<li>Engaging in collusive behaviour, i.e. inappropriate working together with
other students where individual work is required, or working with people outside
your team where team work is required. </li>
<li>Copying work done by other students. </li>
<li>Failing to adhere to the School's regulations concerning behaviour in laboratories,
in particular occupational health and safety regulations. </li>
</ul>
<p>Penalties for engaging in unacceptable behaviour can range from cash fines
or loss of grades in a subject, through to expulsion from the University.<br />
<br />
You are required to read and understand the School Statement on Misconduct,
available on the ITEE website at: http://www.itee.uq.edu.au/about/student-misconduct.jsp <br />
<br />
If you have any questions concerning this statement, please contact your
lecturer in the first instance.</p>
<hr />
<h2>Graduate Attributes Developed</h2>
<p>The University of Queensland has defined a set of graduate attributes to specify
broad core knowledge and skills associated with all undergraduate programs (http://www.uq.edu.au/hupp/contents/view.asp?s1=3&s2=20&s3=5).
This course addresses these attributes as follows:</p>
<table id="AutoNumber4"
bordercolor="#111111" height="96" cellspacing="1" width="100%" border="1">
<tbody>
<tr>
<th width="20%" height="16">Attribute</th>
<th width="80%" height="16">Contributions from this Course</th>
</tr>
<tr>
<td width="20%" height="16">In-depth knowledge of the field of study</td>
<td width="80%" height="16">COMP1300/2302 provides an introduction to the
implementation of computer systems. Students will gain knowledge of the operation
of computers and processors at the lowest levels. Students will also gain
knowledge and skills in software development for embedded computing systems.</td>
</tr>
<tr>
<td width="20%" height="19">Effective Communication</td>
<td width="80%" height="19">The assignment will require students to gather
and present information in a written form. Students will also be introduced
to the concept of a prac workbook and the importance of keeping detailed
notes about experimental work. Pracs and the project will require students
to work in pairs and effectively communicate with their partner in order
to accomplish the prac objectives. </td>
</tr>
<tr>
<td width="20%" height="19">Independence and Creativity</td>
<td width="80%" height="19">This course will provide students with a basic
knowledge of how to solve "digital problems" (e.g. how to use a microcontroller)
which can be used by students to creatively solve future design problems
(e.g. in Engineering Team Project courses). Open-ended tutorial exercises
give students an opportunity to demonstrate creativity in the solution process.
Students are expected to work independently on the assignment. </td>
</tr>
<tr>
<td width="20%" height="19">Critical Judgement</td>
<td width="80%" height="19">Students will be introduced to criteria on which
microprocessors and other computer hardware can be evaluated. This will allow
students to make informed comparisons and judgements on the capabilities
of particular pieces of computer hardware. The assignment will provide an
opportunity by which this ability can be demonstrated. </td>
</tr>
<tr>
<td width="20%" height="19">Ethical and Social Understanding</td>
<td width="80%" height="19">Students are expected to be familiar with and
abide by the school's misconduct policy. Students are expected to conduct
themselves appropriately during lab sessions and in the use of the school's
computing resources.</td>
</tr>
</tbody>
</table>
<hr />
<h2>Having Troubles?</h2>
<p>If you are having difficulties with any aspect of the course material you
should seek help. See the "Consultation" section above.</p>
<p>If external circumstances are affecting your ability to work on the course,
you should seek help as soon as possible. The University and UQUnion have organisations
and staff who are able to help, for example, UQ Student Support Services are
able to help with study and exam skills, tertiary learning skills, writing skills,
financial assistance, personal issues, and disability services (among other
things). </p>
<p>Complaints and criticisms should be directed in the first instance to the
course coordinator. If you are not satisfied with the outcome, you may bring
the matter to the attention of the Head of School. </p>
<hr />
<h2>Support for Students with a Disability</h2>
<p>Any student with a disability who may require alternative academic arrangements
in the course is encouraged to seek advice at the commencement of the semester
from a Disability Adviser at Student Support Services. </p>
<hr />
<p>Sourced From <a href="http://www.itee.uq.edu.au/undergraduate/_profile_view.php?print=1&file=2003_2_COMP1300_StLucia">http://www.itee.uq.edu.au/undergraduate/_profile_view.php?print=1&file=2003_2_COMP1300_StLucia</a></p>
</body>
</html>