University of Technology Sydney

48024 Programming 2

Warning: The information on this page is indicative. The subject outline for a particular session, location and mode of offering is the authoritative source of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.

Subject handbook information prior to 2024 is available in the Archives.

UTS: Engineering: Computer Science
Credit points: 6 cp

Subject level:

Undergraduate

Result type: Grade and marks

Requisite(s): 48023 Programming Fundamentals OR 31267 Programming Fundamentals OR 31465 Object-oriented Programming OR 48430 Fundamentals of C Programming OR 41039 Programming 1
Anti-requisite(s): 31244 Applications Programming AND 31469 Object-oriented Design

Recommended studies:

basic skills in Java and Python programming; 41039 Programming 1 is the recommended requisite for students who intend on taking 48024 Programming 2

Description

This subject teaches students how to design, develop and evaluate software systems to meet predefined quality characteristics of functionality (suitability) and usability (understandability, learnability, operability, compliance). Software solutions are implemented using Java or Python. Concepts, theories and technologies underlying the methods and techniques are introduced and explained as required. Students apply all that they have learned to develop and implement the architecture of a business system.

Subject learning objectives (SLOs)

Upon successful completion of this subject students should be able to:

1. Evaluate if a solution is well-designed and fit for purpose. (C.1)
2. Design a well-constructed OO solution from a specification. (C.1)
3. Demonstrate a working knowledge of lists. (D.1)
4. Use inheritance to improve the system design. (D.1)
5. Construct a GUI interface from a specification. (D.1)

Course intended learning outcomes (CILOs)

This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):

  • Design Oriented: FEIT graduates apply problem solving, design and decision-making methodologies to develop components, systems and processes to meet specified requirements. (C.1)
  • Technically Proficient: FEIT graduates apply abstraction, mathematics and discipline fundamentals, software, tools and techniques to evaluate, implement and operate systems. (D.1)

Contribution to the development of graduate attributes

Engineers Australia Stage 1 Competencies

This subject contributes to the development of the following Engineers Australia Stage 1 Competencies:

  • 1.2. Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences which underpin the engineering discipline.
  • 2.1. Application of established engineering methods to complex engineering problem solving.
  • 2.2. Fluent application of engineering techniques, tools and resources.
  • 2.3. Application of systematic engineering synthesis and design processes.

Teaching and learning strategies

The subject has one contact hour in Week 1 and three contact hours per week in the remaining weeks.

A weekly online study module on Canvas presents new material in the form of videos and written articles and shows working examples of code. Each study module on average is expected to take 1 hour to complete and needs to be completed before coming to the lecture and the lab. Note that access to the lab material is electronically blocked until the student has completed the required weekly study module.

Regular lectures include interactive quizzes clarifications on the key topics and techniques and Q&As

A weekly two-hour lab session gives students ongoing feedback and practice working in groups to analyse software specifications and construct software plans, and practice working individually to write, debug and run code.

Content (topics)

  1. Basic programming plans
  2. Design rules and notations
  3. Debugging
  4. Strings
  5. Classes
  6. Linked lists
  7. Inheritance
  8. How to build a GUI
  9. The event model
  10. GUI Lists and list models
  11. GUI tables and table models

Assessment

Assessment task 1: Labs

Intent:

The labs, both assessed and non-assessed, provide practice in programming.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2 and 3

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Laboratory/practical
Groupwork: Individual
Weight: 14%
Length:

Each weekly lab on average should take about 2 hours for the typical student.

Criteria:

The text-based labs are marked by system, and the GUI labs are marked by a combination of system, and the tutor. The minimum essential requirement for a pass in text-based lab is to pass all the test cases.

Ongoing feedback about weekly lab exercises will be provided only in lab classes.

Assessment task 2: Programming assignment 1

Intent:

This programming assignment provides practice and tests for the topics of system design and list operations.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2 and 3

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Project
Groupwork: Individual
Weight: 35%
Criteria:

The assignment is marked on correctness by system instantly, based on the match to the model solution’s IO trace. Design rules and spoofy check will be manually performed after due.

The minimum essential requirement for a pass in this assessment is to complete the tasks worth half the mark.

Assessment task 3: Programming assignment 2

Intent:

This programming assignment provides practice and tests for the topics of system design, GUIs and MVC.

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):

C.1 and D.1

Type: Project
Groupwork: Individual
Weight: 25%
Criteria:

The assignment is marked on correctness and design principles, which are marked by a combination of automated system marking, demonstration and the tutor.

The minimum essential requirement for a pass is to complete tasks worth more than half the marks.

Assessment task 4: Timed LMS exam

Intent:

Students are required to complete an LMS exam within a time frame to consolidate the factual knowledge taught in the subject.

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):

C.1 and D.1

Type: Quiz/test
Groupwork: Individual
Weight: 20%
Length:

60 minutes

Criteria:

The questions are marked for correctness only. Feedback and reflection in lectures and labs will be relevant to enhance student performance in the exam.

Assessment task 5: Advanced Challenges

Intent:

Engage in advanced challenges which aim to improve competency in programming.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2, 3 and 4

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

C.1 and D.1

Type: Quiz/test
Groupwork: Individual
Weight: 6%
Length:

30-200 lines of code

Criteria:

The questions are marked for correctness only.

Minimum requirements

In order to pass the subject, a student must achieve an overall mark of 50% or more.

References

You should study the weekly module videos and sample programs posted to Canvas and ED.

Other resources

All subject material is posted in Canvas and ED systems.

The following websites may be useful:

U:PASS

UTS Peer Assisted Study Success is a voluntary “study session” where you will be studying the subject with other students in a group. It is led by a student who has previously achieved a distinction or high distinction in the subject area, and who has a good WAM. Leaders will prepare activities for you to work on in groups based on the content you are learning in lectures and tutorials. It’s really relaxed, friendly, and informal. Because the leader is a student just like you, they understand what it’s like to study the subject and how to do well, and they can pass those tips along to you. Students also say it’s a great way to meet new people and a “guaranteed study hour”.

You can sign up for U:PASS sessions via U:PASS website https://www.uts.edu.au/current-students/support/upass/upass/sessions/register-sessions. Note that sign up is not open until week 2, as it’s voluntary and only students who want to go should sign up.

If you have any questions or concerns about U:PASS, please contact Georgina at upass@uts.edu.au, or check out the website.