This course introduces you to the foundations of the programming discipline, which underlies most technical subjects such as software design, data management and algorithms. It will involve both a theoretical component (e.g. learning about basic programming concepts like loops, arrays and functions) as well as a practical component (e.g. implementing simple algorithms in a computer laboratory). The course also provides a first step towards learning the principles of object-oriented design and programming through the use of the Java programming language.

The course is suitable for students with no prior programming experience. It is particularly targeted at IS students as it relates to a number of core concepts that are essential in understanding the technologies behind information systems in business without getting overmuch into low-level technical details.

We will be using the Java programming language and the BlueJ environment for learning.

Learning outcomes

On successful completion of this course, you should:

  • Be familiar with the concepts of object-oriented programming: classes, objects, fields and methods.
  • Be able to read, write and debug simple programs.
  • Be able to design programs to solve simple tasks using storyboards and flowcharts.
  • Be able to decompose a complex task into simpler functions and methods.
  • Understand and be able to use conditional statements, loops and recursion to make more complex programs.
  • Be able to make interactive programs using events.
  • Be able to use random numbers to make programs which respond non-deterministically.
  • Be able to use lists and arrays to handle sequences of data.
  • Be able to understand basic file input and output operations.

Course details

Lecturer in Charge:

Dr Hailun Tan


The lecture plan by week (subject to change):

  1. Introduction to programming
  2. Data types
  3. Conditions and loops
  4. Objects and classes
  5. Class definitions: fields, constructors and methods
  6. Object interaction
  7. Grouping objects: collections
  8. Random numbers
  9. Testing and debugging
  10. Object-oriented design
  11. Inheritance
  12. Review & Exam Preparation
  13. Practical Exam

Reading Materials

Text: Objects First with Java: A Practical Introduction Using BlueJ by David Barnes and Michael Kolling Prentice Hall

Course Design

The lectures will introduce you to new material, which is being re-enforced and practised in labs in smaller groups. Independent self-study of the textbook and completion of all exercises and assignments are essential. The principal assessment items are the assignments and the final exam.


There are two lectures:

Time Location
Mon 12:00 - 13:00 Ainsworth 102 (K-J17-102)
Thu 16:00 - 17:00 Ainsworth G02 (K-J17-G02)

These times may vary. Check the official timetable for correct times.

In this course 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 course. Lecture slides will be available to download and we will be to videoing lectures and placing them online.

Attendance to both lectures is necessary. We hope to be able to video lectures and publish them online but we do not guarantee that every lecture will be so recorded. No special consideration will be given to students who missed announcements or course material by failing to attend.


Each student is also expected to enrol in a lab at one of the following times. Book your tutorial-lab time online using myUNSW.

Lab Times: Check the official timetable for lab times.

Check your lab times at the end of week 1 even if you selected a time when you enrolled since some labs may have subsequently been cancelled and available times may have changed.

Practical programming competency is an important objective of this course. The best way to learn programming skills is to practice programming - you do that in Labs and in your assignments. Laboratories and tutorials are combined in this course. 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, support the material covered in the previous lectures, and are designed to assist you in your assignments. Your tutor will be there to assist you.


Assessment will be based on the labs, assignments and exams. Marks are assigned as:

Task Marks
Lab Attendance and Participation 10%
Assignment 1 10%
Assignment 2 10%
Assignment 3 10%
Mid-Semester Practical Exam 10%
Final Practical Exam 20%
Written Exam 30%

Note that you MUST obtain at least 40% in the final exams (Final Practical Exam and Written Exam) to pass this course .

Please note that the following times are subject to change:

Assignment Available Submission Due
Assignment-1 Monday Week 3 Sunday Week 5
Assignment-2 Monday Week 6 Sunday Week 8
Assignment-3 Monday Week 9 Sunday Week 11

Mid-Semester Practical Examination

The mid-semester practical exam will be held in the lab session in week 7. The LiC will post a sample exam paper one week prior to the mid-semester practical exam.

Assessment tasks will be graded on the following scale:Grading

Grade Meaning
HD Evaluation: Ability to critically reflect on the ideas taught.
DN Synthesis: Ability to apply the taught concepts to design.
CR Analysis: Ability to apply the taught concepts to the analysis of a problem.
PS Comprehension: Ability to understand and explain the basic ideas taught.
FL Failure to adequately understand or apply the fundamental ideas of the course.

Final Examination

The final examination in this course will be in two parts. A practical exam (worth 20%) will be held during laboratory times in week 13. The written exam will be held in the end of semester examination period; it will examine any material covered in lectures, lab exercises, assignments, and any reading you have been given.

Special Consideration

Students whose exam performance is affected by serious and unforeseeable 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 supplementary exam.

Special consideration does not mean we adjust your marks, it means that we permit you to sit the supplementary examination. If you apply for special consideration after the cut-off date set by the university or after the supplementary exam has been held then it will not be granted.

Special consideration will only be granted where students (a) have completed all other course components to a satisfactory standard, (b) have been absent from the final exam, (c) and have submitted a fully documented request for special consideration to the student centre within three working days of the final exam.

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 class website, and to contact the 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.


Plagiarism (taking the ideas, code or words of others and passing them off as your own) will not be tolerated. See the UNSW Statement on Plagiarism at:

Penalties for plagiarism range from reductions in the assignment mark to 0-Fail for the entire course. Before submitting any work you should read and understand the following very useful guide by the Learning Centre on 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 course submission of any work derived from another person, or solely or jointly written by and or with someone else, without clear and explicit acknowledgement, will be severely punished and may result in automatic failure for the course and a mark of zero for the course. 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 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. 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.

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 lose work in this way, email your tutor immediately.

Getting Help

If you need help speak to your tutor in the first instance. They are your point of contact with the course, and are there to help you.

If your tutor can't help you with an admin matter email the course account . Admin matters include requests for extensions and special considerations.

If you would like to speak to the lectures please do not write them personal email, they does not read email reliably, instead use the forum. The lecturers are also available after the Tuesday lecture for consultation.

If you wish to send email to the course account ( you must:

  1. Send your mail from your myunsw account (not from gmail or hotmail or ... ),
  2. Include your student id and your full name, and
  3. 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 tue15->thu11
  • Week 10 exercises not accessible

and here are some bad titles:

  • question
  • comp1400 problem

Course Feedback and Improvement

Student feedback on this course will be obtained via electronic survey at the end of semester, and will be used to make continual improvements to the course. Students are also encouraged to provide informal feedback during the semester, and to let the lecturer in charge know of any problems, as soon as they arise. Suggestions will be listened to very openly, positively, constructively and thankfully, and every reasonable effort will be made to address them.

<title>COMP1400 Course Outline</title>

Resource created Wednesday 12 July 2017, 01:16:06 PM, last modified Friday 04 August 2017, 10:22:44 AM.

Back to top

COMP1400 17s2 (Programming for Designers) is powered by WebCMS3
CRICOS Provider No. 00098G