version: 1.0 (release version). let me know if you spot any errors or typos.
Contents
- Contents
- Subject Overview
- Assumed Knowledge
- Objectives
- Staff
- Subject Design
- Lectures
- Tutorial-Labs
- Assessment
- Assignments
- Texts
- Getting Help
- Plagiarism
- Marking policy
- Intellectual Property
- Final Examination
- Check Your Marks
- Polices and Rules
- Keeping Informed
Subject Overview
This subject consists of two strands: programming and general computer-science literacy.
The programming strand is further divided into two parts. For the first half of the subject we cover small scale programming, in the second half we cover programming in the large.
In the literacy strand we will cover Unix, and some topics drawn from: computing history, algorithms, WWW programming, ethics and law, cryptography and security, and other topics of general interest.
The two strands will be covered in an intermingled fashion.
A detailed list of topics is available in the
subject schedule. This is likely to change somewhat from year to year to keep the coverage interesting and up-to-date. Computing is a constantly evolving discipline.
My intention is make this a highly enjoyable subject. Computing is a great deal of fun with puzzles, cunning, craftsmanship, and a never ending supply of great stories. However it will not be an easy subject - I'll expect you to master the underlying theory *and* to be able to apply it to real world situations. That's a lot to learn and we expect you to study and learn a lot of it in your own time. Furthermore you may find that my teaching style does not suit you. You should consider these factors carefully before deciding to take this subject rather than Comp 1011 (I've provided more information to help you assess these factors -
follow this link).
Assumed Knowledge
We don't assume you know anything about computing.
Well, I guess we assume you know how to use a mouse and type on a keyboard but that is about it. In particular we don't assume you already know how to program. Many 1711 students will already know some programming and many will know nothing about programming. We'll teach assuming you are in the later category. If you happen to be in the former category you may find the first few weeks a bit easier than the rest of the subject - or you may not.
I'll assume you know a bit of discrete maths, or are willing to learn.
Objectives
After completing this subject, you should be able to:
-
Design solutions for simple problems.
-
Design solutions for larger problems using abstraction and interfaces
-
Distinguish between well-written programs and poorly written programs.
-
Write programs using good programming style.
-
Test and debug programs.
-
Work in a team to design and implement software.
-
Use the Unix environment.
-
Program in a declarative language.
Staff
| Richard Buckland | Lecturer-In-Charge |
| Mei Cheng Whale | Subject Administrator |
| Sean Seefried | Tutor |
| Ricky Friedlander | Tutor |
| Lisa Beeren | Tutor |
| David Greenway | Tutor, Project Admin |
| Tim Hunter | Tutor, Project Admin |
| Roland Wen | Task 2 Admin |
Subject Design
Our teaching objectives for this subject are to have students doing continuious independent research and learning in their own time throughout the entire session. This is not a subject where you can do little work throughout session and then cram for the final exam. You will need to be active in your learning each week.
There is weekly homework consisting of tutorial preparation, practical lab exercises, and general programming practise. You are expected to spend at least 3 hours per week on this homework. Any spare time you get you should spend practising. Learning programming craftsmanship involves much the same process as learning the pianno.
Topics are introduced in lectures. You will need to do further work to master the topics. You are expected to contribute to the subject wiki.
The principal assement items are the final exam and the major project. The major project has a groupwork componant based on your tutorial group. You will need to meet regularly with your tutorial group and start to plan and prepare your project well in advance. We do not chase you up on this - you will need to manage your own time.
Lectures
There are three hours of core (compulsory) lectures each week, and one (optional) extension lecture. When there is demand we will also run a remedial lecture in the hour between the extension and wednesday core lecture. All lectures are in EELG1, also known as the "Rex Vowels" Theatre.
In this subject the purpose of lectures is to introduce you to the concepts covered, show where they fit in the overall scheme of things and provide motivating examples to help you understand them. They will not be comprehensive. You will need to do additional work outside of lecture time to master the subject.
My lecture notes are available via the subject wiki. These are only in point form and do not contain detail. They are designed to be printed out before the lecture to provide a framework for your note taking. You are free to add your own notes to the wiki to expand on interesting or cryptic points. I suggest you use the wiki for your own notetaking, that way others will check, correct, expand, and proofread your notes for you. Sometimes I'll ammend the notes on the wiki to clarify or elaborate on something that I feel wasn't expained well in the lecture or to fix a mistake in a student's notes.
However as my published notes only provide an outline of the material we cover, they are not an effective replacement for attending lectures or for making your own notes. You will need to attend lectures and make your own detailed lecture notes to do this subject effectively.
I want those last points to be very clear. You will need to attend lectures, take notes, and do additional study in order to master this subject. You will NOT be able to skip lectures and print out the lecture slides during stuvac and be able to pass the subject.
Tutorial-Labs
Practical programming competency is an important objective of this subject. The best way to learn programming skills is to practice programming - you do that in Tutorial-Labs and in your assignments.
Laboratories and tutorials are combined in this subject. The first hour will be conducted in a tutorial room discussing set tutorial questions and preparing for the lab exercises. This will be followed by 1.5 hours in a laboratory.
The tutorial component will give you a chance to clarify ideas mentioned in lectures and to practice your problem-solving skills in a small, more personal, class with the assistance of a tutor. Tutorials are designed to help you learn. They are your main forum for asking questions and getting personal assistance. You should make sure that you use them effectively by examining in advance the material to be covered, by asking questions, by offering suggestions and by generally participating.
In the laboratory component of the class you will work through set programming exercises. This will give you a chance to develop your programming skills on small, simple examples. The examples have been chosen to highlight particular aspects of programming, and are designed to assist you in your assignments. Your tutor will be there to assist you.
The tutorial questions and laboratory exercises relating to the work covered in lectures each week will be placed on the subject web page at the end of the week.
Book your tutorial-lab time online using myUNSW. Check your tutorial times in week 1 even if you selected a time when you enrolled since some tutorials may have subsequently been cancelled and available times may have changed.
Assessment
| tutor mark | 10 marks |
| task1 | 10 marks |
| task2 | 10 marks |
| project | 25 marks |
| final exam | 50 marks |
Notice this adds up to 105 marks. If your final mark exceeds 99 it will be truncated at 99. In exceptional cases we may award a final mark of 100.
The tutor mark mark is the geometric mean of your tutorial mark and your lab mark.
-
Your tutorial mark is up to 5 marks for tutorial participation plus up to 5 marks for your presentation. You must participate in 12 tutorials to get 5/5 for participation. Tutorial presentations are explained on the
Your lab mark is determined by the marks you get for laboratory exercises (confusingly called "lab marks"). The assessment of the laboratory exercises will be done in labs by your tutor. Each week's lab exercises will include a core section and many will include an extension section. Unless otherwise stated all questions are to be completed and marked during the lab in which they are given. You may prepare the exercises in advance if you wish. Lab exercises are be marked face to face with your tutor during the lab, email submissions afterwards are not accepted. Over 30 lab marks are possible. We divide your lab marks by 3 and truncate them at 10 to give you a final lab mark out of 10. This means you can miss a few lab exercises and still get full marks.
Extension exercises score brownie points. Brownie points are quite worthless and do not contribute towards your mark. We will probably use them to compute some sort of honor roll of the top 50 students. Last year we used them to determine who got to play with the lego.
Your final mark is the weighted geometric average of your exam mark and the total of your non-exam marks, except that if your exam mark is less than 50% your final mark for the subject will be your exam mark.
Where your non-exam marks are significantly higher than your exam mark, your non-exam marks will be reduced and you may be required to attend an interview to explain the difference.
Exam marks and final marks will be scaled to ensure that the subject Pass/Fail boundary and the Distinction/High Distinction boundary reflect a consistent standard from session to session.
Assignments
The assignments are an extremely important part of the course. They are an essential way of learning the practical skills you need to acquire. Any plagiarism in assignments will result in an automatic Fail for the whole subject. Read the plagiarism warning below for more detail.
There are two programming "tasks" and one large project. Due dates are shown on the subject schedule. There will be an intermediate due date for the major project and some marks will be awarded by competition before the final due date.
Some of the labs will have assignment related material in them, this will be worth additional lab marks.
The assignment specifications will be posted on the subject web page closer to their release date.
Unless advised otherwise assignments will be released midnight Monday in the release week and due 10am Monday in the due week.
In cases where a "beta" specification is provided before the official release you are welcome to start the assignment early - but be aware that the official release specification may differ from the beta specification and marking will be on the basis of the official specification. A rapid completion ("earlybird") bonus of 1 mark will be awarded to assignment submissions made before the official assignment release and within 36 hours of the beta specification being provided.
Past students advise that assignments take far longer to complete than you at first estimate, so make sure you start them promptly and allow plenty of time. You cannot complete a computing assignment in one week.
Assignment work can be completed on the workstations at Uni or on a PC at home. Your assignment must be able to run on the computers at Uni so test them here if you develop them at home. Unless otherwise stated assignments must be submitted on-line from a school terminal using the give command. It is in your best interest to make regular backup copies of your work and (because of machine loads on deadline days, for example) to complete assignments well before their deadlines.
Unless otherwise stated if you wish to submit an assignment late, you may do so but the maximum available mark for a late assignment is reduced by 10% if it is one day late, by 25% if it is 2 days late and by 50% if it is 3 days late. Assignments that are late 4 days or more will be awarded zero marks. So if your assignment is worth 88% and you submit it one day late you still get 88%, but if you submit it two days late you get 75%, three days late 50%, and four days late zero.
Assignment extensions are only awarded for serious and unforeseeable events. Having the flu for a few days, deleting your assignment by mistake, going on holiday, work commitments, etc do not qualify. Therefore aim to complete your assignments before the due date in case of last minute illness, and make regular backups of your work.
Texts
No single book covers the entire subject well. We'll discuss textbooks and recommended reading in the first week and I'll bring copies of some books in for you to browse.
Getting Help
If you need help email or speak to your tutor in the first instance. They are your point of contact with the subject, and are there to help you.
If your tutor can't help you with an admin matter contact Mei Cheng (email cs1711@cse.unsw.edu.au). Admin matters include requests for extensions and special considerations.
If you need help with the subject material ask on the forum or ask Richard at the lecture. Richard will stay back as long as needed after lectures to answer questions. Please do not email Richard, he does not read email reliably, instead use the forum. Richard, the other subject staff, and your fellow students all monitor the forum regularly and questions there usually get a prompt response.
For urgent issues email Mei Cheng and she will deal with it or contact Richard as appropriate.
If you wish to contact Mei Cheng by email you must:
-
Send your mail from your cse account (not from yahoo or bigpond or ...),
-
Include your student id and your full name, and
-
Give a descriptive and meaningful subject title to your mail.
Here are some examples of good titles:
-
problem submitting ass1
-
need to change tutorial from wed15->thu15
-
week 10 lecture notes not accessible
and here are some bad titles:
-
URGENT!
-
question
-
comp1711
If you are having serious problems you can also attend any of the face-to-face remedial teaching consultations run for COMP1011. You might find this particularly useful if you are contemplating transferring to 1011. Details on the
1011 homepage.
Plagiarism
In my 3rd year subject in 2004 we penalised over 50% of assignment submissions for plagiarism! Penalties ranged from 0 for the assignment to 0Fail for the entire subject. Many students did not appear to understand what is regarded as plagiarism. This was no defense. Before submitting any work you should read and understand the following very useful guide by the Learning Centre
How Not To Plagiarise.
All work submitted for assessment must be entirely your own work. We regard unacknowledged copying of material, in whole or part, as an extremely serious offence.
In this subject submission of any work derived from another person, or soley or jointly written by and or with someone else, without clear and explicit acknowledgement, will at the very least result in automatic failure for the subject and a mark of zero for the subject. Note this includes including unreferenced work from books, the internet, etc.
Do not provide or show your assessable work to any other person. Allowing another student to copy from you will, at the very least, result in zero for that assessment. If you knowingly provide or show your assessment work to another person for any reason, and work derived from it is subsequently submitted you will be penalized, even if the work was submitted without your knowledge or consent. This will apply even if your work is submitted by a third party unknown to you. You should keep your work private until submissions have closed.
If you are unsure about whether certain activities would constitute plagiarism ask us before engaging in them(!)
Copying without consent, severe, or second offences will result in automatic failure, exclusion from the university, and possibly other academic discipline.
These are not idle threats, we search the internet and use plagiarism detection software and a range of search engines to hunt for non-original work.
See also the latest version of the Unix Primer and the Yellow Form and the faculty and university plagiarism policies for additional information. If the penalties set out on this page, the Unix Primer, the Yellow Form, the school, faculty, or university plagiarism policies differ for any situation, the more severe penalty applies.
Note that we have experienced cases of plagiarism where the code has been copied from printouts or floppy disks/CDs/USB sticks that have been lost in the lab or stolen from the computer or printer. Generally it is your responsibility to prevent other students from accessing your files, but if you loose work in this way, email Mei Cheng immediately.
Marking policy
In this subject assignment assessment is intended to be formative (to help students learn material) rather than summative (give an objective benchmark measuring what has been learned)
When marking assignments we want tutors to build up an intimate model of what each student is up to, their strengths and weaknesses.
For this reason assignments are not marked anonymously. If you have concerns about non-anonymous assignment marking come to an admin consultation and discuss them with us in advance.
Intellectual Property
Copyright of any material you submit will belong to us. Submitting means you accept this condition. We give you a non exclusive licence granting you in every way possible the rights you had before submitting the material. If you have special circumstances and wish to negotiate variations to this condition you must do so before submitting.
One of the reasons we require this is so we can share your work with students in this and future sessions. We may also use it to demonstrate poor style and/or common mistakes.
We usually try to keep student material anonymous unless we are praising it. However if you would like to be identified as the author of a work even if we are not praising it, then include the following line as a comment at the start of the file:
-
Please identify me as the author whenever referring to this
We may distribute and share any material you submit, including but not limited to assignments, reports, papers, presentation handouts, seminar material, videos, wiki, lab solutions, emails and forum content. All copyright and intellectual property arising from this belongs to us.
Submitting material includes but is not limited to physical submission, submission via give, posting material on the subject forum or wiki, sending email to the teaching staff or subject account, etc.
Cameras are not permitted in the theatre. Video recordings of lectures are not permitted to be made. Sound recordings are not permitted to be made without express written permission from the lecturer. In all cases any recordings must only be for single personal use and not distributed or made publically available.
Final Examination
The final examination in this subject will be held during the end of session examination period; it may examine any material covered in core lectures, tutorials, presentation topics, lab exercises, assignments, and any reading you have been given.
Special Consideration
Students whose exam performance is affected by serious and un-foreseeable events outside their control can apply at the student centre for special consideration. If special consideration is granted you will be able to sit the supplimentary exam.
Special consideration doesn not mean we adjust your marks, it means that we permit you to sit the supplimentary examination. If you apply for special consideration after the cut-off date set by the university or after the supplimentary exam has been held then it will not be granted. Furthermore, special consideration will only be granted when each and every other component of the course (eg assignments, tutorial participation, labs, etc) has been attempted and satisfactorily completed (passed).
Supplementary Exam
A supplementary examination will be held soon after the results have been released. If you think that you may be eligible for the Supplementary Examination, make sure you are available around that time. Be careful not to plan any overseas travel at that time. If you can't attend the sup exam you will not be offered a second chance.
It is your responsibility to check your email, the CSE website, and to contact the CSE school office for details of Supplementary Examinations. If you think there is any chance you might be eligible for a Supplementary Exam then you should prepare for it. Requests such as "I didn't find out until the day before the sup exam that I could sit the sup exam, so I need more time to study" or "I have to go overseas at that time and i have already purchased the tickets so can you write and administer a special sup sup exam just for me" will not be granted.
Check Your Marks
You can inspect the current state of your mark record by using the command
classrun -sturec
Check your record frequently and make sure you contact us promptly if you do not agree with it.
All marks must be finalised by the end of week 15. If you think there is a problem with any of your marks (participation, tutorial paper, homework, seminar) then you need to advise us by emailing cs1711@cse.unsw.edu.au within two weeks of the mark being released, and, in all cases before the end of week 15. No marks will be changed after the end of week 15.
Polices and Rules
The university has a number of rules and policies which affect you (see the university calandar and the university home page), additionally the school of CSE has a number of rules and policies (eg see the "Yellow form"), and this subject has a number of rules and policies (see this page). Where there is a conflict between these sets of rules and policies the most strict shall apply. Where there is ambiguity in the interpretation of any rule of policy the most strict interpretation shall apply. If you are in any doubt as to the meaning, interpretation, or effect of any rule or policy please ask the subject administrator or the lecturer in charge. Some of the policies which apply to you can be accessed from the subject home page. Be aware that this list may not be definitive or up-to-date.
Good Faith Policy
This subject has a "Good Faith Policy". This means we expect you to act in good faith at all times. We expect you to be a good citizen. To not invade alter or damage the property of others including the university, invade the privacy of others, break any laws or regulations, annoy other people, deprive other of access to resources, breach or weaken the security of any system, or do or omit to do anything else which you know or suspect we would not be happy about. Furthermore you are not to do anything which appears OK by a loophole or a strict interpretation of "the letter of the law" but which is not consistent with the spirit. You must not act in any way so as to bring disrepute to the reputation of the teachng staff, fellow students, the subject, the school, the university, or the profession.
If you are unsure, ask!
If, in our sole descretion, we feel you have violated the Good Faith Policy you will be awarded 0 Fail for the subject. Further penalties may apply also depending on the nature and severity of the violation. Students who have violated the Good Faith Policy will not be permitted to re-enroll in future offerings of the subject.
Students who are or have been found guilty of academic or computer related misconduct or any other activity which casts doubt on their ability or willingness to comply with the Good Faith Policy will be disenrolled and not permitted to re-enroll in future offerings of the subject.
Keeping Informed
Important notices related to this course will be displayed on the ?StopPress section of the subject home page from time to time. It is your responsibility to check this page regularly. The URL is:
Sometimes urgent information may also be sent to you by email. Make sure you pay careful attention to any email you receive.
All official email will be sent to your cse email address. If you prefer to read your mail at some other address you will need to redirect your mail using mlalias. Ask your tutor if you need help doing this.
Additional information will be provided in the subject Forum and elsewhere on the 17111 site as the session progresses. Lecture notes and supporting material will be made available via the subject wiki.
You should explore the subject web site, and read the stopPress, wiki, forums, and this page regularly for updates.
