Aims
As computers find their way into every part of our lives, both work and play, the ability to understand how they “think” and to tell a computer what you want it to do becomes more and more important. Computer programming is widely regarded as “black magic” by outsiders, full of arcane languages and strange rituals. This course attempts to dispel the magic and reveal computer programming as a simple matter of thinking procedurally — that is, decomposing a task into a sequence of simple instructions.
The purpose of this course is to introduce computer programming to students with no prior experience. We will be using the Alice programming language, which provides an easy and fun 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.
- 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 to handle sequences of data.
Course details
Units of credit: 6
Pre-requisites: None
Excluded: COMP1711, COMP1721, COMP1911, COMP1917
Web Pages: http://www.cse.unsw.edu.au/~cs1400
Handbook entry: http://www.handbook.unsw.edu.au/undergraduate/courses/current/COMP1400.html
Timetable: http://www.timetable.unsw.edu.au/current/COMP1400.html
Lecturer in Charge:
Claude Sammut
claude@cse.unsw.edu.au
ph: 9385-6932
Lecturer:
Malcolm Ryan
malcolmr@cse.unsw.edu.au
ph: 9385-6921
Tutors:
YinLin Ooi
yinlin@cse.unsw.edu.au
Reza Farid
rezaf@cse.unsw.edu.au
Syllabus
The topics covered by week are listed below:
- Intro to Alice / Alice Concepts
- Storyboards / Code generation
- Functions / Conditionals
- Classes & objects / parameters
- Class methods / Visibility
- Interaction / Event handlers
- More on IF / Random numbers
- Definite Loops / Indefinite Loops
- Recursion
- Lists
- Properties & Inheritance
- “Real World” Programming / Revision
Reading Materials
Text:
Learning to Program with Alice
Wanda P. Dann, Stephen Cooper, Randy Pausch
Pearson Prentice Hall
Course Design
The lectures will introduce you to new material, which is being re-enforced and practised in labs in smaller groups. The course matrial will closely follow the textbook and students are required to revise all lectures by studying the relevant chapters of the textbook in detail by themselves. 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.
Lectures
There are two lectures:
| Time | Location |
|---|---|
| Mon 10-11am | Red Centre Central Wing M032 |
| Wed 10-11am | Rupert Myers Theatre |
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. In particular, you need to study the relevant chapters of textbook after each lecture. As the textbook covers all relevant material, there will be no extra lectures notes or slides being made available.
Labs
Each student is also expected to enrol in a lab at one of the following times:
| Time | Location | Tutor |
|---|---|---|
| Mon 12am-2pm | Pipe Lab K17 Ground floor (K-K17-G14) | YinLin |
| Mon 2-4pm | Pipe Lab K17 Ground floor (K-K17-G14) | Claude |
| Mon 4-6pm | Pipe Lab K17 Ground floor (K-K17-G14) | Reza |
| Wed 11am-1pm | Bell Lab Mech Eng Undercroft (K-J17-G01A) | YinLin |
| Wed 1-3pm | Bell Lab Mech Eng Undercroft (K-J17-G01A) | Reza |
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. The first hour will be discussing set tutorial questions and preparing for the lab exercises. This will be followed by an hour in which you will work on lab exercises.
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, 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.
The tutorial questions and laboratory exercises relating to the work covered in lectures each week will be placed on the course web page at the end of the week. Soltuions to these exercises will be made available the week after. Hence, you need to get your tutor to mark your lab work in each lab. Late submission of lab work is not possible.
Book your tutorial-lab time online using myUNSW. Check your tutorial times at the end of week1 even if you selected a time when you enrolled since some tutorials may have subsequently been cancelled and available times may have changed.
Assessment
Assessment will be based on the labs, assignments and an exam. Marks are assigned as:
| Task | Marks |
|---|---|
| Labs | 10% |
| Ass 1 | 10% |
| Ass 2 | 10% |
| Ass 3 | 10% |
| Exam | 60% |
Lab marks
You tutors will assign you a mark for each week’s laboratory, for participation and for attempting the lab exercise. Each lab is worth 1 mark, to a maximum of 10.
Assignment 1
Set: Monday Week 3 (Aug 3)
Designs due: Week 4 lab
Implementation due:: Sunday Week 5 (Aug 23)
Your first assignment will be to design and code a simple movie in Alice. You will work indiviudually to storyboard and code a scene or your choice. You will present your designs to your lab class in week 4. More details will be available in Week 3.
Assignment 2
Set: Monday Week 6 (Aug 24)
Designs due: Week 7 lab
Implementation due:: Sunday Week 8 (Sep 20)
Your second assignment will be to design and code an interactive world. You will work in pairs.
You will present your designs to your lab class in week 7. More details will be available in Week 6.
Assignment 3
Set: Monday Week 9 (Sep 21)
Designs due: Week 10 lab
Implementation due:: Sunday Week 11 (Oct 11)
Your third assignment will be to design and code a more complex interactive world. You may work individually on in pairs. You will present your designs to your lab class in week 10 More details will be available in Week 9.
Grading
Assessment tasks will be graded on the following scale:
| 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 held during the end of session examination period; it may examine any material covered in lectures, tutorials, 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 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.
Plagiarism
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: https://my.unsw.edu.au/student/atoz/Plagiarism.html
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 How Not To Plagiarise: http://www.lc.unsw.edu.au/plagiarism/
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 soley 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 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.
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 you can’t wait till your tutorial then ask on the course forum. The course staff, and your fellow students all monitor the forum regularly and questions there usually get a prompt response.
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 Malcolm please do not write him personal email, he does not read email reliably, instead use the forum. Malcolm is also available after the Friday lecture for consultation. Rex will also be available for consultation by appointment.
If you wish to send email to the course account (cs1400@cse.unsw.edu.au) you must:
- Send your mail from your myunsw or cse account (not from gmail 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 exercises not accessible
and here are some bad titles:
- URGENT!
- question
- comp1400 problem
Course Feedback and Improvement
Student feedback on this course will be obtained via electronic survey at the end of session, and will be used to make continual improvements to the course. Students are also encouraged to provide informal feedback during the session, 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.
As this is the first time this course has been offered, we have no prior feedback to report.
0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
You must log in to post a comment.