UQ Students should read the Disclaimer & Warning
Note: This page dates from 2005, and is kept for historical purposes.
The University of Queensland
School of Information Technology and Electrical Engineering
Semester 1, 2004
COMP2301 Systems Interface Programming
Course Profile
Version
This is version 1.10 of the COMP2301 course profile, dated 25 February 2004.
This is version 1.04 of the COMP2301 course profile, dated 21 February 2003.
Changes since the last version
Update Teaching Staff, Course Goals, Resources, Teaching Activities and Assessment Policies.
Course Summary
Course Code(s): | COMP2301 |
Unit Value: | #2 |
Contact Hours: | First week only (2L1T2P) All weeks: 3 hours per week (1T2P) |
Purpose: | COMP2301 gives students experience coding to a specific style guide in C, C++ and Visual Basic. |
Teaching Staff
Richard Cocks (Course Coordinator)
Office: TBA
Phone: (07) 3878-1935
Mobile: 0414 50 20 10
Fax: (07) 3365-4999
Email: uqrcocks[at]itee.uq.edu.au
Consultation Time: TBA
Tutors
Stefan Lehmann
Peter Waldeck
Course Goals
It is expected that upon successful completion of the course, students will:
- know what elements are required in a coding style to make code readable by others.
- be able to write readable code to a pre-defined style guide.
- be able to write code in C, Visual Basic and C++.
- be able to investigate new programming languages independently.
- be able to interpret a functional specification and design an appropriate solution.
- understand how to work cooperatively without compromising academic integrity.
Assumed Background
This course assumes that the student has a good background in the Java programming language, and possibly other languages. The course pre-requisite is COMP1500 or equivalent.
Resources
Textbook
There is no set text for the course.
Reference Texts
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.
The subject uses the Microsoft Developer Network library and Visual Studio
Help extensively. Both resources are available on all the Windows computers
in 78-109.
For general programming tips: "Code Complete" by Steve McConnell
For 'C': "The C Programming Language" by Kernighan and Ritchie or "A book
on C" by Kelly and Pohl
For 'C++': "The C++ Programming Language" by B. Stroustrop
Handouts
"Required Coding Style". (Hyperlink to file "CodingStyle.doc")
"Introduction to C Programming" by Rob Miles from the University of Hull . (Hyperlink to file "CProgrammingNotes.pdf")
Facilities
Practical work for this subject will take place in room 78-109. This room will be booked for 8 hour each week, when COMP2301 /7302 students will have priority. Each student must book one 2 hour session per week, students may attend sessions in addition to their assigned practical however preference will be given to students assigned to the current session. A tutor will also be present to answer questions and help with any problems. Students should be aware that they will need to do more work independently than the 2 hour per week that is set aside for them. All students are required to monitor the course news group and their student e-mail.
The software that will be used for this subject is Microsoft Visual Studio, which is installed on all the 78-109 computers. 78-109 provides 24 hour non exclusive access for COMP2301 / COMP7302 students. Students may be excluded from this lab while it is in use by other courses or during general maintenance. Students are responsible for scheduling their work to ensure assignments are submitted on time.
For details of the Occupational Health and Safety requirements of the ITEE labs, go to http://studenthelp.itee.uq.edu.au/ohs/ .
Consultation
The course coordinator, Richard Cocks, will post consultation times on the
course newsgroup.
All e-mails should be sent to uqrcocks[at]itee.uq.edu.au and will be responded
to as quickly as possible.
The course tutor(s), Stefan Lehmann and/or Peter Waldeck, will be available during scheduled practical sessions only.
Distribution of Notices
The primary resource for consultations outside of normal practical hours should be the newsgroup uq.itee.comp2301.
Web
The course web site is available at http://www.itee.uq.edu.au/~comp2301. The course web site will contain this profile, as well as the assignments specifications.
Newsgroup
The course newsgroup is uq.itee.comp2301. This group is available on both
the University and School news servers (news.uq.edu.au and news.itee.uq.edu.au).
Students are encouraged 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 however they will not answer all questions posted.
Do not post fully coded assignments to the newsgroup. Any such posting would be deemed to be academic misconduct in that it allows other students to copy your work.
If you have a coding question, post the smallest piece of sample code that
demonstrates the point you are unsure of.
This approach has two benefits:
a) in writing such code you may be able to isolate the problem
yourself and
b) rather than reading hundreds of lines of code, readers
of the newsgroup will only be required to fathom tens of lines of code.
Teaching Activities
SI-net is the authoritative source for times, dates and places for lectures, tutorials and practicals.
Lectures
There is one two hour introductory lecture in week 1 which will be repeated
during the week.
The lecture on Monday, March 1st, 2003 from 4pm to 6pm
will be repeated on Wednesday March 3rd from 4pm to 6pm, 2004.
This lecture will contain critical information on assignment 1, general assessment
and operational procedures
students will be significantly disadvantaged if they do not attend.
Lecture | Day | Time | Room |
---|---|---|---|
L1 | Monday 1st March | 4:00pm to 5:50pm | 78-224 |
L1 repeat | Wednesday 3rd March | 4:00pm to 5:50pm | 68-320 |
Tutorials
Tutorials will be used to identify problems and reinforce understanding of
the practical material.
Assignment, coding and research techniques will be discussed.
All students are encouraged to attend.
The available tutorial sessions are listed below (subject to change).
Tutorial | Day | Time | Room |
---|---|---|---|
T | Friday | 10am - 11:50am | 78-109 |
Practical Sessions
Students should sign-up for and attend one weekly practical session (commencing
in week 1).
The practical sessions are the primary mode of teaching in this subject.
The available practical sessions are listed below (subject to change).
Prac Session | Day | Time | Room |
Pa | Tuesday | 2:00pm - 3:50pm | 78-109 |
Pb | Thursday | 2:00pm - 3:50pm | 78-109 |
Pc | Friday | 2:00pm - 3:50pm | 78-109 |
Pd | Friday | 10am - 11:50am | 78-109 |
Attendance
Students are not required to attend any of the teaching sessions (except
those in which an assessment activity is taking place), however, you are strongly
encouraged to do so. The lectures, tutorials and practicals 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 session that you miss.
All assignments are due during the practical session in which you are enrolled.
If you do not attend the practical sessions and submit your assignments, you
will not pass the course.
Teaching Plan
Week Number | Monday's Date | Lecture Number | Lecture Topics | Prac Session | Assessment |
---|---|---|---|---|---|
1 | 1st March | 1 & 1A | Administrative, Coding Style, Assignment 1 | Graphics programming in C | |
2 | 8th March | ||||
3 | 15th March | ||||
4 | 22nd March | File I/O in C | Assignment 1 | ||
5 | 29th March | ||||
6 | 5th April | ||||
12th April | Mid-semester break (one week) |
||||
7 | 19th April | User interface design in Visual Basic | Assignment 2 | ||
8 | 26th April | ||||
9 | 3rd May | File I/O in C++ | Assignment 3 | ||
10 | 10th May | ||||
11 | 17th May | Basic Network programming in Visual Basic | Assignment 4 | ||
12 | 24th May | ||||
13 | 31st May | Assignment 5 | |||
8th June | Revision Period (one week) |
||||
Exam Week 1 | 14th June | ||||
Exam Week 2 | 21st June |
Assessment
COMP2301 will be assessed by assignments as outlined below.
A final grade of PASS will require a passing grade in ALL FIVE assignments.
Assignments
Assignments will be marked as pass/fail. In order to gain a grade of pass, each assignment must:
- Perform the task required of you in the assignment specification.
- Perform as per any amendments to the specification posted to the newsgroup.
- Be formatted according to the coding style guide for the subject.
There are five assignments. The subject matter covered by each assignment is:
- Graphics programming in C.
- File I/O in C.
- User interface design in Visual Basic.
- File I/O in C++.
- Basic Network programming in Visual Basic.
Determination of Final Grade
Your final mark will be calculated from your marks for the assignments, You
must pass each assignment to pass the subject.
Your final grade is then computed from the final mark using the table below:
Grade for Subject Grade for Assignments P 5 x P, 0 x N N 4 x P, 1 x N N 3 x P, 2 x N N 2 x P, 3 x N N 1 x P, 4 x N N. Non-graded failure
Fails to satisfy some of the basic requirements of the course.
P. Non-graded pass
Satisfies all of the basic learning requirements for the course, such as knowledge of fundamental concepts and performance of basic skills; demonstrates sufficient quality of performance to be considered satisfactory or adequate or competent or capable in the course.
( See General Award Rules 1A.4 for information on Non-graded results (P/N) )
Assessment Policies
Submission
Submission of assignments will be during your practical session in the week that the assignment is due. You can submit your assignment in the practical sessions before this time, but preference must be given to those actually enrolled in the earlier classes.
During the practical session, the tutor will:
- Verify student identity via student number and student ID Card.
- Verify that the assignment performs as specified by the assignment sheet and any modifications posted to the newsgroup.
- Verify that the application is stable and deterministic when run outside of the integrated development environment.
- Verify that the code written conforms to the style guide.
To submit, the student will:
- Print out two assignment submission cover sheets.
- Submit the assignment source code via the ITEE online submission system,
located at http://submit.itee.uq.edu.au/.
As part of your assignment submission, you will have to acknowledge that the submission is your original work. - Retain one cover sheet signed by student and tutor which includes the online submission reference code.
After electronic submission the course coordinator will:
- Verify each students work is original by passing all assignments through
an automated process which detects code and style similarities
indicating plagiarism, collusion and other misconduct. - Take appropriate action should any misconduct be identified.
In many cases, you will not be passed at your first attempt. If this happens, the tutor will identify the modifications required and re-evaluate the code when you have made the these changes. As this is a non graded assessment the tutor will ensure your assignment demonstrates sufficient quality of performance to be considered satisfactory or adequate or competent or capable. Provided an assignment meets these minimum standards it will be passed.
If you do not make the required changes before the end of your allocated practical in the week the assignment is due, you will not pass.
Late Submission
The programming assignments will not be accepted late unless there are exceptional personal or medical circumstances. In the event of exceptional personal or medical circumstances that prevent you from handing in the assignment on-time, you should contact the lecturer and be prepared to supply appropriate documentary evidence. You should be prepared to submit whatever work you have completed at the deadline, if required. Requests for extensions should be made as soon as possible, and preferably before the assignment due date.
Notification of Availability of Feedback
Students are encouraged to incorporate timely feed back into their learning
practices. COMP2301 is assessed by evaluating student output demonstrated
during practical sessions. Students should actively engage with
tutors and their peers presenting partially complete code and making changes
to code and work practice to optimise their performance. Students should
make independent investigations and evaluate alternative solutions proposed
by their peers and tutors .
All students should follow work practices that ensure academic merit is obtained
while avoiding plagiarism, collusion and other misconduct. Should
a question arise, students should discuss the issues with their lecturer in
the first instance.
Return of Assignments
Assignments are marked during the practical sessions. To avoid problems, the student should print out two cover sheets: the tutor will sign both and the tutor will keep one and the student the other.
When the tutor has passed the assignment, the student should electronically submit their files and note the reference number given after submission on both cover sheets.
Please keep your copy of the submission form to verify that you have passed the assignment.
Academic Merit, Plagiarism, Collusion and Other Misconduct
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:
- Submission of plagiarised work, i.e. work that contains content copied from an unacknowledged source.
- 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.
- 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.
- Copying work done by other students.
- Failing to adhere to the School's regulations concerning behaviour in laboratories, in particular occupational health and safety regulations.
Penalties for engaging in unacceptable behaviour can range from cash fines
or loss of grades in a subject, through to expulsion from the University.
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
If you have any questions concerning this statement, please contact your
lecturer in the first instance.
Graduate Attributes Developed
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:
Attribute | Contributions from this Course |
---|---|
In-depth knowledge of the field of study | The course broadens the programming language knowledge of the student by introducing them to C, C++ and Visual Basic. |
Effective Communication | The adherence to a coding style guide is used in this course to improve the communication skills of the student. |
Independence and Creativity | Learning different computer languages allows the student more independence to decide on the most appropriate language for solving their problems. Interpreting functional specifications allows students latitude to investigate alternative solutions. |
Critical Judgement | Adherence to the coding style guide is used to improve the student's critical judgement of the implementation details of code. |
Ethical and Social Understanding | The student should understand that adherence to a coding style guide improves the communication between members of a software engineering team, their management and their clients. The student must develop a clear understanding of academic merit and misconduct to produce individual outcomes and work cooperatively with peers. |
Support for Students with a Disability
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. Please also inform the course coordinator of any special needs as early as you can in the semester so that arrangements can be made to accommodate you.
Sourced From http://www.itee.uq.edu.au/undergraduate/_profile_view.php?print=1&file=2004_1_COMP2301_StLucia