COMP1011 Course Information for Session 1, 2004
Computing 1A 04s1 Last updated Fri 12 Mar 2004 10:36
Mail cs1011@cse.unsw.edu.au

The present document is available online at


http://www.cse.unsw.edu.au/~cs1011/04s1/outline.html

It will be updated from time to time. Check the web regularly for the latest version.

Course Overview

This course will introduce you to computer programming and basic elements of computer science. This includes the design, implementation, and testing of programs as well as reasoning about programs, elementary algorithms, and basic data structures. Moreover, you will learn how to use the Unix programming environment. Programming is explained at the example of the functional language Haskell, which exhibits basic concepts of programming languages in a particularly clean way and allows you to solve relatively complex programming problems after a couple of weeks. The course includes many practical exercises.

Course Objectives

After successfully completing this course, you are able to

Keeping Informed

Important notices related to this course will be displayed on the course home page, which is located at

  http://www.cse.unsw.edu.au/~cs1011/

It is your responsibility to check this page regularly. Sometimes urgent information may also be sent to you by email. Make sure to check your email daily and pay careful attention to any course-related email you receive. For the email policy, see under the heading Email below.

Staff

Name

Role

Notes

Tim Lambert

Lecturer-In-Charge

Mei Cheng Whale

Course Administrator

Responsible for the administration of the course

Tutorial and Laboratory Class Allocation

All students attend one 2.5 hour combined tutorial/lab each week. This is a one hour tutorial followed by a one and half hour lab.

Tutorials have been allocated during enrollments. You can inspect your allocated tutorial/lab time on the web (see the course homepage). You can also change your tutorial/lab using myUNSW. If you have any difficulty in changing your tutorial/lab, please attend an admin consult.

Consultations

If you need to see someone other than your tutor for help, you should attend a consultation. Consultations are run most weekdays in the consultation rooms next to the CSE school office in K-17. The timetable is posted on the window of the consultation room, and also on the course homepage.

There are two types of consultation: admin and teaching. Select the right type for your problem.

Admin consultations:
For all administrative problems (e.g., changing tutorial times, problems with marks, special considerations) you may attend an admin consult and see the course administrator. Or you can email the course administrator if you don't need to see them face to face.
Teaching consultations:
Starting Week 4 there are daily consultations to help students with any problems in understanding the content of the course. If you have problems or questions which arise after your tute, or if there was not enough time in your tute-lab to address all your questions, you may attend any teaching consultation and see the tutor on duty.

Getting Help

From time to time, various problems may arise in your study of this course. Below is a list of typical problems, with suggestions for where you might seek help with them:

Problem

Where to get help

Troubles understanding course

Your tutor (during tute or by email), OR
A consultation tutor, OR
Post a question on the message board

Problem installing software on home PC

Stuck with assignments, lab work

Your tutor (during tute or by email),
(Consultation tutors will not do your assignments for you!)

Problem with workstations in Lab

Help Desk (Mec Eng undercroft)

Problem with your login account

Want to change lab-tute class

myUNSW

General administrative problems

Course Administrator
Email: cs1011@cse.unsw.edu.au
In person: at an admin consult (timetable on course homepage)

Problems concerning the course web pages

Been very sick => Assignment late

Student Centre & Course Administrator

Been very sick => Affected final exam performance

Student Centre

Problem with Dial-Up-Access from home

UDUS: DIS><Connect Helpdesk (9385 1777)

Problems with enrolment in course

CSE School Office (K17 ground floor), or Student Centre

Problems with your degree (like which courses to do)

Your Program director

Problems coping with university generally

University Counselling Service: extension 5418 (or 9385 5418)

Lost property

Campus Security: extension 56000 (or 9385 6000)
CSE School office (K17 ground floor)

Emergency

Campus Security: extension 56666 (or 9385 6666)

Email

You may also ask questions by email; although given the amount of mail we normally get it may take a while before you get a reply. For many questions you will get a faster response if you post to the message board. Since the course is so large we have created several email addresses you can write to, one for each main area of the course. Please be careful to send your mail to the correct address (each address goes to a different person). Do not email Tim Lambert or Mei Cheng Whale directly; instead use the addresses below. Any direct email to the aforementioned persons may be entirely ignored.

Questions about

Who to email

Material you don't understand

Your tutor, or visit a consultation.

Problems with marks or marking

Your tutor

Assignment 1

cs1011.ass1@cse.unsw.edu.au

Assignment 2

cs1011.ass2@cse.unsw.edu.au

All other administrative matters

cs1011@cse.unsw.edu.au

Important: All course-related email will be sent to your CSE email address. Moreover, teaching staff is advised to only answer course-related email queries that originate from CSE email addresses. Email from other sources will be ignored due to privacy concerns. Failure to read your email does not constitute a sufficient reason for any form of special consideration.

Higher Computing 1A

Why separate streams?

The School of Computing Science & Engineering has decided to introduced streaming into its major introductory Computing courses. We aim to provide different styles of teaching, and different assignment and laboratory work to provide either a more directed step-by-step learning approach in the normal course, or a more challenging, open-ended problem solving approach in the advanced course. In our experience, providing just one of these approaches has typically disadvantaged a large group of students. We hope that the introduction of separate streams will allow you to choose the style and approach that suits you.

Who's doing what?

The enrolment condition for the advanced course was either a UAI of 97 or else admission to the Higher Mathematics course. Not all people who qualified by this criterion chose to take the advanced course.

How are the courses assessed?

To maintain standards across the two courses we are setting common components of both mid-session and final exams. The performance of the 2 courses in these exams will determine the scaling formula to apply across the courses. This is like what happens in HSC Mathematics (between 3 and 4 Unit say).

Can I transfer between courses?

Yes. Until the end of week two, you can use the university's online system to transfer between the two streams. Until the end of week eight you can transfer by sending an email to cs1011 and requesting a transfer. After week eight, transfer is no longer possible.

Lectures

The purpose of lectures is to introduce you to the concepts covered by this course, show where they fit in the overall scheme of things and provide motivating examples to help you understand them. Written lecture notes accompany all lectures and may contain additional information about the covered topics. You need to read and understand the lecture notes to fully cover the course content.

Learning research shows that students learn more efficiently when they do the reading before attending the lecture.

Wednesday 1-2, KBT (Keith Burrows Theater)

Thursday 1-2, MAT A (Matthews Theater)

Friday 12-1, EE LG1 (Rex Vowels Theater)

There will also be a remedial lecture on Fridays 2-3 (location TBA). This will revise material that students find difficult to understand.

Assessment Summary

The assessable components of the course are the following:

Item

Weight

Tute/Lab mark

10%

Assignment 1

15%

Assignment 2

25%

Final exam

50%

Total

100%

Your exam mark must be a pass (at least 25/50) in order to pass the course.

Tutorial marks will be given for attending and participating in the tutorials. Each week, lab exercises will be handed out. You should have a look at them before the tute - some of the exercises will be marked by your tutor during the lab; they will make up your lab marks.

The final mark will be the harmonic mean between the exam mark and the marks from the practical assessments (Tute/Lab mark and the assignment marks). Where assignment marks are significantly higher than your exam mark, you may be required to attend an interview to explain the difference. Marks may be scaled to ensure that the Pass/Fail boundary and the Distinction/High Distinction boundary are at a consistent standard from session to session.

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. Special considerations will only be given where all other components of the course (assignments, tutes, exams, and labs) have been satisfactorily completed.

The document "Important Advice for Students" states the supplementary assessment policy for CSE. The following criteria should be followed closely when considering a student for a supplementary exam:

The document can be found on-line at

http://www.cse.unsw.edu.au/~studentoffice/policies/yellowform.html

In particular, make up your mind whether your are ill before the exam. Once you have sat an exam, no supplementary exam will be granted. Depending on student numbers, supplementary exams may be oral. Oral exams will be conducted on the day before and after the date for written supplementary exams.

Lab-Tutes

Labs and tutes start in week 2. In week 1 there is an introductory lab on Friday in the Mechanical Engineering undercroft labs (next to the help desk).

Practical programming competency is an important objective of this course. The best way to learn programming skills is to practise programming - you do that in that in weekly laboratories and with assignments. Laboratories and tutorials are integrated in this course. 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 practise 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.

There are marks for tutorial participation and for the completion of the laboratory exercises.

The tutorial questions and laboratory exercises will be placed on the course web page. You will need to read them and prepare in advance.

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. Lab exercises must be marked face to face with your tutor during the lab, email submissions will not be accepted. The total lab/tute mark is out of 30. Each week there are generally three marks available -- one for attending the tute, one for the core lab component, and one for the extension component.

Assignments

The programming assignments are a very important part of the course. Assignments give you the chance to practise programming on slightly larger problems (compared to the small programs in the laboratory exercises). The aim is for you to practise all stages of the programming process: Start by understanding the specification, design a method to solve the problem, refine this design, implement the design as a complete program, and test that the program meets the specification. Assignments are a very important part of this course; you absolutely must make sure that you attempt them yourself. A portion of the final exam may relate to assignment work.

There are two programming assignments; the second of which will be divided into two stages. The provisional schedule is as follows:

For each stage, you will have about two weeks from the release of the assignment specification to the submission deadline. Past students advise that assignments take far longer to complete than you at first estimate, so make sure you start them early 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. Assignments must be submitted on-line from a school terminal via the give command (submissions by email or on floppy disk will be disregarded). It is in your best interests to make regular backup copies of your work and (because of machine loads on deadline days, for example) to complete and submit assignments well before there deadlines. Failure to meet the assignment deadline due to technical problems (computer crash etc) do not constitute a valid reason for special consideration, except where these problems are caused by the School.

If you wish to submit an assignment late, you may do so, but the maximum available mark for late assignments is reduced by 10% per day for up to five days. Assignments that are more than 5 days late will be awarded zero marks. So if your assignment is worth 85% and you submit it one day late you still get 85%, but if you submit it two days late you get 80%, and so on.

Assignment extensions are only awarded for serious and unforeseeable events. Having a cold for a few days, deleting your assignment by mistake, going on holiday, going abroad, 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. No extension will be granted without a fully documented submission for special consideration at the Student Centre.

Plagiarism

All work submitted for assessment must be entirely your own work. We regard copying of assignments, in whole or part, as a very serious offence.

In this course, even the attempt to obtain code for a lab exercise or assignment from others (e.g., asking for code on a Haskell mailing list or other public forum) will result, at the very least, in 0 marks independent of whether any code has been submitted for assessment or not.

Actual submission of work derived from another person, or jointly written with someone else will, at the very least, result in a negative mark in the order of the maximum mark for the assignment (i.e., if an assignment is worth 20 marks, a person submitting work derived from somebody else will receive -20 marks). Repeated offenders will automatically fail the course with a mark of 0 FL.

Do not provide or show your assignment work to any other person. Allowing another student to copy from you will, at the very least, result in zero for your assignment. If you knowingly provide or show your assignment work to another person for any reason, and work derived from it is submitted, you will be penalised, 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.

Copying without consent, severe, or second offences will result in automatic failure, suspension from the university, and possibly other academic discipline.

These are no idle threats, we use plagiarism detection software to search for multiply-submitted work. See also the Unix Primer and the Yellow Slip for additional information. If the penalties set out on this page, the Unix Primer, or the Yellow Slip 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 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 a printout or floppy disk, please inform your tutor immediately.

Final Examination

The final examination in this course will be held during the June examination period; it will be a closed book exam and examine all material covered in the course. Supplementary examinations will be held in July. It is your responsibility to check notice boards for details of supplementary examinations and to ensure that you are available at the required time. See also the information about special considerations above. The exact dates for the exam and the supplementary can be found on the web (http://www.cse.unsw.edu.au/~studentoffice/policies/yellowform.html)

Further Information

Once you have your account, there is a large amount of information stored in the course home page, and further will be added over the session. You should explore the course web site and check back regularly from time to time.

Text Books

Chakravarty and Keller, An Introduction to Computing with Haskell, Pearson (2002)

Reference Books

maintained by cs1011@cse.unsw.edu.au