Programming 1 Autumn 2023
Programming 1 Autumn 2023
41039 Programming 1
Course area UTS: Information Technology
Delivery Autumn 2023; City
Subject
Fields of practice: Computing Science
classification
Credit points 6cp
Result type Grade and marks
Subject coordinator
Dr Luke Mathieson
Email: luke.mathieson@uts.edu.au
Teaching staff
Lecturer
Dr Luke Mathieson
Email: luke.mathieson@uts.edu.au
Subject description
Programming computers is an essential skill for computer scientists, software engineers, software developers and data
scientists, and successful programmers integrate many diverse capabilities to be able to solve complex, abstract
problems. This subject introduces the core programming concepts using an object-oriented approach to programming,
prioritising project-based learning and independent research, experimentation, and communication skills. Additionally,
most programming in industry occurs as alterations to a portion of a large existing codebase, and this subject
introduces students to how their initial programming explorations may eventually expand to making fixes or
improvements to complex industry-scale projects.
This subject contributes to the development of the following Engineers Australia Stage 1 Competencies:
1.1. Comprehensive, theory based understanding of the underpinning natural and physical sciences and the
engineering fundamentals applicable to the engineering discipline.
1.2. Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information
sciences which underpin the engineering discipline.
2.2. Fluent application of engineering techniques, tools and resources.
3.2. Effective oral and written communication in professional and lay domains.
The flipped lecture format allows the students to engage with the learning material in an asynchronous, self-paced,
location-independent manner. It also supports a modular approach to delivering core content, permitting students to
revise, engage and re-engage as suits their needs. Included in the learning material are staged practice exercises to
help the students develop their knowledge and skills in a consequence- and stress-free environment.
In the workshops, this learning will be reinforced with scaffolded exercises that weave the core material together and
provide a practical experience of the subject matter. These exercises are then capped with a low-stakes assessment
task to help the students gauge their progress and understanding of the material.
Tying these two structural components together is the weekly drop-in sessions, that offer students a face-to-face
expert contact point tailored to their current progress, addressing the exact difficulties they are facing at the time.
The learning material also builds towards the larger, ongoing project, which ties the content together into a functioning
whole.
Content (topics)
1. Simplest Working Program, and Simple Output
2. Data Types and Variables
3. Decisions and Branching Program Flow
4. Arrays and User Input
5. Loops and Iterative Program Flow
6. Classes and Constructors
7. Methods, Properties and Access Control
8. Lists and Polymorphism
9. File Input and Output
10. Object Oriented Programming Techniques and Structures
11. Inheritance and Interfaces
12. Review and Preview of Programming 2
Program
Week/Session Dates Description
Notes:
Notes:
Notes:
Notes:
Notes:
Notes:
Notes:
Notes:
Friday workshops will run this week due the public holiday the previous
week.
Notes:
Notes:
NOTE: Tuesday 25/4/2023 is a public holiday. The lecture for this week will
be pre-recorded, and anyone with a lab on Tuesday should attend one of
the other labs throughout the week.
Notes:
Notes:
Notes:
Notes:
Tuesday workshops will run this week due to the public holiday in Week 9.
Assessment
Assessment task 1: Lab Assessments
Intent: This task provides a mixture of formative and summative assessment to allow students to gauge
Objective(s): This assessment task addresses the following subject learning objectives (SLOs):
1, 2, 3 and 5
This assessment task contributes to the development of the following Course Intended Learning
Outcomes (CILOs):
Type: Exercises
Groupwork: Individual
Weight: 30%
Task: Building on the material presented in the preparation lectures, exercise and workshop exercises, the
student will attempt a programming challenge.
Due: Week 12
Weekly, last task due by Friday Week 12 (19/5/2023 11:55PM).
Objective(s): This assessment task addresses the following subject learning objectives (SLOs):
4 and 5
This assessment task contributes to the development of the following Course Intended Learning
Outcomes (CILOs):
Type: Exercises
Groupwork: Individual
Weight: 25%
Task: The student will be presented with a large program codebase, from which they will select a portion of
approximately 50 lines of code, which they will then read and comment. The comments should
explain the purposes and key structural elements of the reviewed code correctly and concisely, and
relate that code back to the overall codebase.
Due: Week 10
Final due date will be the end of Week 10 (5/5/2023 11:55PM), though students may request informal
feedback during lab time.
Objective(s): This assessment task addresses the following subject learning objectives (SLOs):
1, 2, 3, 4 and 5
This assessment task contributes to the development of the following Course Intended Learning
Outcomes (CILOs):
Type: Project
Groupwork: Individual
Weight: 25%
Task: Building on the material presented throughout the subject, students will progressively build
components of a single, substantial piece of software, meeting a design objective.
Due: Week 13
Final due date will be the Monday of Week 13 (29/5/2023 11:55PM).
Objective(s): This assessment task addresses the following subject learning objectives (SLOs):
1, 2, 3, 4 and 5
This assessment task contributes to the development of the following Course Intended Learning
Outcomes (CILOs):
Type: Examination
Groupwork: Individual
Weight: 20%
Task: Answer questions posed by the examiner in a take-home, open-book exam format.
Length: 1 day
Objective(s): This assessment task addresses the following subject learning objectives (SLOs):
1, 2, 3 and 5
This assessment task contributes to the development of the following Course Intended Learning
Outcomes (CILOs):
Type: Project
Groupwork: Individual
Task: The student will develop program(s) to solve a (series of) challenging free-form problem(s), requiring
research into techniques that may be outside the scope of the subject, and thus at least some
independent study.
Due: Week 12
Final due date Friday Week 12 (19/5/2023 11:55PM).
Further Although weighted at 0%, this assessment task can be used as an alternative assessment to the lab
information: assessments.
Moderation of marks
Where required, moderation between markers will take place.
Assessment feedback
Feedback will be provided immediately, where automated marking is available, or will be provided 2-3 weeks after
submission of all elements of the assessment.
Minimum requirements
To pass this subject, students must achieve an overall mark of 50% or greater.
References
Introductory Texts
2. K. Sierra & B. Bates, "Head First Java", 2nd Ed., O'Reilly, 2005. (Only covers up to Java 5, but the differences won't
matter for this subject)
4. Al Swigert, "Automate the Boring Stuff with Python", 2nd Ed., No Starch, 2019. (This gets a bit away from learning
to program, to just using Python as a tool without deep comprehension, but it's still useful and the cover matches the
Matthes one).
5. Z. A. Shaw, "Learn Python 3 the Hard Way", 1st Ed., Addison Wesley, 2017. (There's an older version for Python
2.7 which is just as good, and a follow-on book as well. This is probably my pick of the three intro texts at the moment).
6. P. Barry, "Head First Python", 2nd Ed., O'Reilly, 2016. (Same series as "Head First Java", so if you like that, you'll
probably like this.)
7. C. S. Horstmann, “Core Java, Volume I – Fundamentals”, 11th Ed., Prentice Hall, 2018.
8. J. Bloch, “Effective Java”, 3rd Ed., Addison-Wesley Professional, 2018. (Advanced text.)
9. H. Schildt, "Java: The Complete Reference", 11th Ed., McGraw-Hill Education, 2019.
10. M. Lutz, "Learning Python", 5th Ed., O'Reilly, 2013. (Maybe getting a bit old now, but quite comprehensive, and
part of a huge series of O'Reilly books on Python.)
For the contribution of subjects taken in the Bachelor of Engineering (Honours) or Master of Professional Engineering
to the Engineers Australia Stage 1 Competencies, see the faculty's Graduate Attributes and the Engineers Australia
Stage 1 Competencies webpage.
Marking criteria for each assessment task will be available on the Learning Management System: Canvas.
Extensions
When, due to extenuating circumstances, you are unable to submit or present an assessment task on time, please
contact your subject coordinator before the assessment task is due to discuss an extension. Extensions may be
granted up to a maximum of 5 days (120 hours). In all cases you should have extensions confirmed in writing.
Special consideration
If you believe your performance in an assessment item or exam has been adversely affected by circumstances
beyond your control, such as a serious illness, loss or bereavement, hardship, trauma, or exceptional employment
demands, you may be eligible to apply for Special Consideration.
Late penalty
Work submitted late without an approved extension is subject to a late penalty of 10 per cent of the total available
marks deducted per calendar day that the assessment is overdue (e.g. if an assignment is out of 40 marks, and is
submitted (up to) 24 hours after the deadline without an extension, the student will have four marks deducted from
their awarded mark). Work submitted after five calendar days is not accepted and a mark of zero is awarded.
For some assessment tasks a late penalty may not be appropriate – these are clearly indicated in the subject outline.
Such assessments receive a mark of zero if not completed by/on the specified date. Examples include:
a. weekly online tests or laboratory work worth a small proportion of the subject mark, or
b. online quizzes where answers are released to students on completion, or
c. professional assessment tasks, where the intention is to create an authentic assessment that has an absolute
submission date, or
d. take-home papers that are assessed during a defined time period, or
e. pass/fail assessment tasks.
Work submitted late without an approved extension will only be assessed at the subject coordinator’s discretion.
Students who do not submit assessment tasks by the due dates may be referred to the Responsible Academic Officer
under Student Rule 3.8.2, and a fail result may be recorded for the subject.
Querying results
If you believe an error may have been made in the calculation of your result in an assessment task or the final result
for the subject, it is possible to query the result with the Subject Coordinator within five (5) working days of the date of
release of the result.
ALOs are responsible for approving adjustments to assessment arrangements for students in these categories.
Students who require adjustments due to disability and/or an ongoing health condition are requested to discuss their
situation with an accessibility consultant at the Accessibility Service before speaking to the relevant ALO.
Statement on copyright
Teaching materials and resources provided to you at UTS are protected by copyright. You are not permitted to re-use
these for commercial purposes (including in kind benefit or gain) without permission of the copyright owner. Improper
or illegal use of teaching materials may lead to prosecution for copyright infringement.
Statement on plagiarism
Plagiarism and academic integrity
At UTS, plagiarism is defined in Rule 16.2.1(4) as: 'taking and using someone else's ideas or manner of expressing
them and passing them off as ... [their] own by failing to give appropriate acknowledgement of the source to seek to
gain an advantage by unfair means'.
The definition infers that if a source is appropriately referenced, the student's work will meet the required academic
standard. Plagiarism is a literary or an intellectual theft and is unacceptable both academically and professionally. It
can take a number of forms including but not limited to:
copying any section of text, no matter how brief, from a book, journal, article or other written source without duly
acknowledging the source
copying any map, diagram, table or figure without duly acknowledging the source
paraphrasing or otherwise using the ideas of another author without duly acknowledging the source
re-using sections of verbatim text without using quote marks to indicate the text was copied from the source (even if
a reference is given).
Other breaches of academic integrity that constitute cheating include but are not limited to:
submitting work that is not a student's own, copying from another student, recycling another student's work,
recycling previously submitted work, and working with another student in the same cohort in a manner that exceeds
the boundaries of legitimate cooperation
purchasing an assignment from a website and submitting it as original work
requesting or paying someone else to write original work, such as an assignment, essay or computer program, and
submitting it as original work.
Students who condone plagiarism and other breaches of academic integrity by allowing their work to be copied are
also subject to student misconduct Rules.
Where proven, plagiarism and other breaches of misconduct are penalised in accordance with UTS Student Rules
Avoiding plagiarism is one of the main reasons why the Faculty of Engineering and IT is insistent on the thorough and
appropriate referencing of all written work. Students may seek assistance regarding appropriate referencing through
UTS: HELPS.
Work submitted electronically may be subject to similarity detection software. Student work must be submitted in a
format able to be assessed by the software (e.g. doc, pdf (text files), rtf, html).