Vous êtes sur la page 1sur 6

School of Information Technologies

INFO1103 Introduction to Programming


semester 2, 2016
Unit coordinator: Irena Koprinska (irena.koprinska@sydney.edu.au)
Course web site on eLearning: https://elearning.sydney.edu.au/ (login with your unikey)

Welcome to INFO1103 Introduction to Programming!


This course provides an introduction to programming using the programming language Java. By the end
of this semester you will be able to write simple programs in Java and understand the basics of computer
programming. Once you know how to program in one language, you can easily learn to program in
another. Programming is all about giving you power! Power to write your own programs that solve
problems, not only to use programs that somebody else has written. It is a very important skill in science,
engineering, economics, etc. - in any empirical field. Read more about why you need to learn
programming.
Unit of study description from the faculty handbook: Programming in a legible, maintainable,
reusable way is essential to solve complex problems in the pervasive computing environments. This unit
will equip students with foundation of programming concepts that are common to widely used
programming languages. The "fundamentals-first & objects-later" strategy is used to progressively guide
this introductory unit from necessary and important building blocks of programming to the objectoriented approach. Java, one of the most popular programming languages, is used in this unit. It provides
interdisciplinary approaches, applications and examples to support students from broad backgrounds such
as science, engineering, and mathematics.

1. Teaching team
Unit of study coordinator and lecturer
Associate Professor Irena Koprinska, irena.koprinska@sydney.edu.au
Office: School of IT Building, level 4, room 450
Consultation time: Monday 3-4pm (after the lectures)
Teaching assistants
Jessica McBroom, jmcb6755@uni.sydney.edu.au
Joshua Stretton, joshua.stretton@sydney.edu.au (PASTA)
Tutors
Xavier Holt, xhol4115@uni.sydney.edu.au
Ling Luo, ling.luo@sydney.edu.au
Jonathan Du, jodu8426@uni.sydney.edu.au
Jessica McBroom, jmcb6755@uni.sydney.edu.au
Farahnaz Yekeh, fyek9388@uni.sydney.edu.au

Eric Liu, eliu9480@uni.sydney.edu.au


David Zhao, dzha3983@uni.sydney.edu.au
Alexandra Sneddon, asne5282@uni.sydney.edu.au
Julia Wong, jwon5553@uni.sydney.edu.au

How to contact us
If you have questions about the course content, post them on the discussion board PIAZZA, assessable
via eLearning and also from this URL: piazza.com/sydney.edu.au/semester22016/info1103/home. This is
the fastest way to get a response from the teaching team or your classmates, almost in real time! You can
post the question anonymously or not anonymously.
You can also email the teaching team using sit.info1103@sydney.edu.au. Since the email goes to all of
us, you're more likely to get a fast response.
You can come and see Irena at any time by arrangement, but the best time is during the official contact
hour 3-4pm on Mondays (after the lectures) in her office (SIT 450). Take the lift to level 4 and call Irena
from the touch screen near the lift.

2. Timetable
Lectures: Monday 1-3pm, Chemistry Lecture Theatre 1
Labs: You need to attend only 1 of the following classes (check your timetable); labs start in week 1:
Lab
Lab 1 (W09A)
Lab 2 (W11A)
Lab 3 (W13A)
Lab 4 (W13B)
Lab 5 (R10A)
Lab 6 (R12A)
Lab 7 (R14A)
Lab 8 (R16A)
Lab 9 (F09A)
Lab 10 (F10C)
Lab 11 (F11A)
Lab 12 (F12A)
Lab 13 (F13A)
Lab 14 (F13B)
Lab 15 (F15A)
Lab 16 (F15B)

Time
Wednesday 9-11am, SIT Lab 114
Wednesday 11-1pm, SIT Lab 114
Wednesday 1-3pm, SIT Lab 114
Wednesday 1-3pm, SIT Lab 116
Thursday 10-12am, SIT Lab 114
Thursday 12-2pm, SIT Lab 114
Thursday 2-4pm, SIT Lab 114
Thursday 4-6pm, SIT Lab 114
Friday 9-11am, SIT Lab 114
Friday 10-12pm, Link Building 222 South
Friday 11-1pm, SIT Lab 114
Friday 10-12pm, Link Building 222 South
Friday 1-3pm, SIT Lab 114
Friday 1-3pm, SIT Lab 117
Friday 3-5pm, SIT Lab 114
Friday 3-5pm, SIT Lab 117

Tutor
Eric Liu
Alexandra Sneddon
Alexandra Sneddon
Eric Liu
Farahnaz Yekeh/Ling Luo
Farahnaz Yekeh/Ling Luo
Xavier Holt
Xavier Holt
David Zhao
Jonathan Du
David Zhao
Jonathan Du
Jessica McBroom
Julia Wong
Jessica McBroom
Julia Wong

Student commitment
In this course you are expected to work 12 hours per week; this includes: attending the 2-hour lecture on
Monday, attending the 2-hour lab (as per your timetable) and studying 8 hours at your own time.
Learning to program is not easy and takes time! It is not enough just to read the textbook, you need to
write code and practice programming tasks (practice, practice, ... , a lot of practice, every week). This is
the only way to learn!

3. INFO1103 website
The main place for this course is the eLearning/Blackboard INFO1103 website, accessible from:
https://elearning.sydney.edu.au/
We will use it for all teaching materials (lecture slides, lab notes and lab solutions), assessment
specifications (Task 1, Task 2 and Task 3), submission of the weekly homeworks and posting of your
marks.
All systems and tools that we will use in the course are linked to the INFO1103 eLearning website, e.g.
the discussion board (Piazza) and the submission system for the three tasks (PASTA).

4. Assessment overview
Components Marks Value Individual or not
Homeworks 5
5%
Individual

Due
Wednesday 9am, every
week, except weeks 1, 7
and 13.

Task 1
Task 2
Practical
test

2
5
16

2%
5%
16%

Individual
Individual
Individual

Week 4, Tuesday 5pm


Week 6, Saturday 5pm
Week 7, during your lab
(2 hours)

Quiz

10

10%

Individual

Task 3
Exam

12
50

7%
55%

Individual
Individual

Week 10, during the


first hour of your lab
Week 11, Saturday 5pm
During exam period

Notes
10 weekly homeworks,
worth 0.5 marks each.
Submitted in eLearning.
Multiple choice questions
requiring reading and
understanding code.
Submitted in PASTA.
Submitted in PASTA.
Writing small programs
in front of the computer;
done during the labs.
Paper-based quiz similar
to the final exam.
Submitted in PASTA.
Paper-based written
examination.

PASTA (http://info1103.it.usyd.edu.au/) is an online assignment submission system developed at the


School of Information Technologies. We will use it to automatically test your code for Task 1, Task 2 and
Task 3. It allows multiple submissions and provides instant feedback on the submitted code.
Note: If you are off-campus, you will need to establish a VPN connection to access PASTA. This means
installing a program called VPN client on your computer and running it every time when you use
PASTA off-campus. See the INFO1103 User Manual on eLearning for instructions how to do this.
More about the homeworks: Every week, except in weeks 1, 7 and 13, you are required to submit a
homework via eLearning. The homeworks consist of multiple-choice questions that mainly require
reading and understanding code. They are easy and involve direct application of the material covered in
the lectures. Their aim is to prepare you for the lab and also to encourage you to learn steadily during the
semester.
The homeworks are due on Wednesday 9am (which is before the first INFO1103 lab). Please also note
that the homeworks are due in the current week, not the week after (as their goal is to prepare you for the
lab in the current week), e.g. the homework for week 2 is due on Wednesday week 2, the homework for
week 3 is due on Wednesday week 3, etc.
3

Passing this unit of study: The School of Information Technology has the following policy: To pass a
unit of study, a student must achieve at least 40% in the written examination. A student must also achieve
an overall final mark of 50 or more in order to pass a unit of study.
Special considerations: If you experience short-term circumstances beyond your control, such as illness,
injury or misadventure, which affect your preparation or performance in an assessment, you may apply
for special consideration. There is a new centralised University system; all applications are submitted
online after login to myUni. For more information see: http://sydney.edu.au/special-consideration
Important: You are required to submit your special consideration application form within 3 working
days from the date when the assessment was due.

5. Weekly schedule
Topics
Week Date
1
25 July
2
1 August
3
4

8 August
15 August

5
6

22 August
29 August

5 September

12 September

19 September

Mid semester break


10
3 October public holiday
(no lectures)
11

10 October

12

17 October

13

24 October

Topic
Introduction. First Java program.
Variables. Conditional Statements.
Task 1 out (Saturday)
Loops.
Methods.
Task1 due (Tuesday 5pm).
Task 2 out (Saturday)
Arrays 1. Common array algorithms.
Arrays 2. Array lists.
Task 2 due (Saturday 5pm).
Objects and classes 1.
Practical test during labs (2 hours, computerbased)
Objects and classes 2.
Task 3 out (Saturday).
Arrays and array lists of objects.
Inheritance and polymorphism.
Test during labs (1 hour, paper-based)
Objects, classes and methods practice and case
studies (during labs).
Interface types. Abstract classes.
Task 3 due (Saturday 5pm).
Input/output reading from files and writing to
files, command line arguments.
Exceptions and exception handling.
Recursion. Revision.

Availability of teaching materials


The course materials (lecture slides, lab notes and the weekly homework) will be available every week in
advance on Saturday morning on eLearning. E.g. the materials for week 2 will be available on Saturday
9am in week 1, etc.).

The lecture slides initially will not include the answers to all questions and exercises that we will do at the
lecture; the complete version with the answers will be uploaded after the lecture (i.e. at 3pm on Monday).
The lab solutions will be available on eLearning after the last lab on Friday which finishes at 5pm, i.e. the
lab solutions for week 2 will be available on Friday 5pm in week 2).
Task 1, Task 2 and Task 3 will also be available on eLearning with information how to submit them in
PASTA. Information about the practical test and quiz will also be available on eLearning in due time.

6. Academic honesty
All cases of plagiarism and academic dishonesty will be investigated. Since this semester there is a new
process and a centralized Uni system and database. Please read the University Policy on Academic
Honesty carefully:
http://sydney.edu.au/elearning/student/EI/academic_honesty.shtml
Please note that:

If you copy from another student, website or other source, you have committed an act of
plagiarism. This includes copying the whole assignment or only a part of it.
If you make your work available to another student to copy, you have committed an act of
academic dishonesty
If you engage another person to complete your assignment (or a part of it), for payment or not,
you have committed an act of misconduct. Your case will be forwarded to the University
Registrar for investigation which is very serious.

The penalties for academic dishonesty, plagiarism and misconduct are severe and include: 1) a permanent
record of academic dishonesty, plagiarism and misconduct in the University database and your student
file, 2) mark deduction, e.g. from 0 for the assignment to fail for the course, 3) expulsion from the
University and cancelling of your student visa.
To detect plagiarism we will use the similarity detection system MOSS. MOSS is designed especially for
detecting plagiarism in programming code. We will compare your programming assessments with these
of other INFO1103 students (current and previous) and the Internet. MOSS is an extremely good system
it cannot be fooled by changing the names of the variables or changing the order of the conditions in if
statements.
For examples of plagiarism in programming code, please see:
http://www.upenn.edu/academicintegrity/ai_computercode.html
5

Below are some cases of plagiarism and academic dishonesty that we have seen in our school, together
with the student excuses. Please note that both parties are penalized - the student who copies and the
student who makes his/her work available for copying.

I sat the test and then posted the questions and solutions to my friends whose test was later in the
week. I only wanted to help them understand the concepts that are examinable.
I posted parts of my code on my web page (or the group discussion forum) because my solution
was cool (or I wanted to help them). I didnt expect them to copy it.
I tried to do the assignment on my own but I had problems with the extension part that I couldnt
fix, so I submitted my core part and his extension part. I didnt cheat.
I finished my assignment but my friend had family problems. I felt sorry for her, so I gave her my
assignment as an example. She said she only wanted to have a look and promised not to copy it.
The test has finished but the tutor hasnt collected the papers yet. I showed my answer to my
friend. I didnt expect him to copy it.
He is my best friend. I had no choice but to let him copy.
I couldnt find a partner to work in pairs, so I joined their pair as they are my friends (when only
groups of maximum of 2 students are allowed illegitimate collaboration).

Please do not confuse legitimate cooperation with cheating. You can discuss the programming assignment
with another student, this is a legitimate collaboration, but you cannot complete the assignment together
everyone must write their own code.
Important: If someone asks you to see or copy your assignment, or to complete the assignment instead
of them, just say: I cant do this - we can both be thrown out of the University. I will not risk my future by
doing this. Be smart and dont risk your future by engaging in plagiarism and academic dishonesty!

7. Textbooks
There are 2 textbooks for this course; you need only one of them not both:
1) Walter Savitch and Kenrick Mock, An introduction to Problem Solving and
Programming,7th Edition, Pearson Education, 2015
http://www.pearson.com.au/products/S-Z-Savitch-Walter/Java-GlobalEdition/9781292018331?R=9781292018331
You can also use the previous edition of this book (the 6th edition):
Walter Savitch, Java: An introduction to Problem Solving and Programming, 6th
Edition, Pearson Education, 2011
http://www.pearson.com.au/search-results/product-details/?isbn=9780132162708
2) Gay Horstmann, Big Java: Late Objects, Wiley, 2012
http://au.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002041.html
Note that there are 2 books by Horstmann with similar titles - "late objects" and "early
objects"; we will use the "late objects".
The textbooks books are available in the co-op bookshop and the library. There are also
electronic versions of these books (cheaper) available from:
http://www.pearsonhighered.com/product?ISBN=0132772388 (Savitch 6th edition)
http://au.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002041.html (Horstmann)
6

Vous aimerez peut-être aussi