Part A: Course Overview
Course Title: Further Programming
Credit Points: 12.00
Terms
Course Code |
Campus |
Career |
School |
Learning Mode |
Teaching Period(s) |
COSC1135 |
Bundoora Campus |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Sem 1 2006 |
COSC2288 |
Open Learning Australia |
Non Award |
175H Computing Technologies |
Distance / Correspondence |
OUASP1UG24 |
COSC2391 |
City Campus |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Sem 1 2006, Sem 1 2007, Sem 2 2007, Sem 1 2008, Sem 2 2008, Sem 1 2009, Sem 1 2010, Sem 2 2010, Sem 1 2011, Sem 2 2011, Sem 1 2012, Sem 2 2012, Sem 1 2013, Sem 1 2014, Sem 2 2014, Sem 1 2015, Sem 2 2015, Sem 1 2016 |
COSC2391 |
City Campus |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face or Internet |
Sem 2 2009 |
COSC2391 |
City Campus |
Undergraduate |
171H School of Science |
Face-to-Face |
Sem 1 2017, Sem 1 2018, Sem 2 2018, Sem 1 2019, Sem 2 2019, Sem 1 2020, Sem 2 2020, Sem 1 2021, Sem 2 2021 |
COSC2391 |
City Campus |
Undergraduate |
175H Computing Technologies |
Face-to-Face |
Sem 1 2022, Sem 2 2022, Sem 1 2023, Sem 2 2023, Sem 1 2024, Sem 2 2024, Summer2025, Sem 1 2025 |
COSC2401 |
City Campus |
Postgraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Sem 1 2006, Sem 1 2007, Sem 2 2007, Sem 1 2008, Sem 2 2008, Sem 1 2009, Sem 2 2009, Sem 1 2010, Sem 2 2010, Sem 1 2011, Sem 2 2011, Sem 1 2012, Sem 2 2012, Sem 1 2013, Sem 1 2014, Sem 1 2015, Sem 2 2015, Sem 1 2016 |
COSC2401 |
City Campus |
Postgraduate |
171H School of Science |
Face-to-Face |
Sem 1 2017, Sem 1 2018, Sem 2 2018, Sem 1 2019, Sem 2 2019 |
COSC2440 |
RMIT University Vietnam |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Viet2 2008, Viet3 2008, Viet1 2009, Viet2 2009, Viet3 2009, Viet1 2010, Viet3 2010, Viet2 2012, Viet1 2013, Viet3 2013, Viet3 2015, Viet2 2016 |
COSC2440 |
RMIT University Vietnam |
Undergraduate |
171H School of Science |
Face-to-Face |
Viet3 2017, Viet2 2018, Viet1 2019, Viet1 2020, Viet1 2021 |
COSC2440 |
RMIT University Vietnam |
Undergraduate |
175H Computing Technologies |
Face-to-Face |
Viet1 2022, Viet1 2023, Viet1 2024, Viet3 2024, Viet1 2025 |
COSC2447 |
Taylors College KL |
Undergraduate |
140H Computer Science & Information Technology |
Face-to-Face |
Offsh 3 10, Offsh 1 11 |
COSC2731 |
RMIT Vietnam Hanoi Campus |
Undergraduate |
175H Computing Technologies |
Face-to-Face |
Viet1 2024, Viet3 2024, Viet1 2025 |
Course Coordinator: Estrid He
Course Coordinator Phone: -
Course Coordinator Email: estrid.he@rmit.edu.au
Pre-requisite Courses and Assumed Knowledge and Capabilities
Enforced Pre-Requisite Courses
Successful completion of:
- COSC1073 Programming 1 (Course ID 004065) OR
- EEET2482 Software Engineering Design (Course ID 038296) OR
- COSC2803/COSC3056/COSC3057 Java Programming Studio (Course ID 054081)
Note: it is a condition of enrolment at RMIT that you accept responsibility for ensuring that you have completed the prerequisite/s and agree to concurrently enrol in co-requisite courses before enrolling in a course.
For your information go to RMIT Course Requisites webpage.
If you have completed prior studies at RMIT or another institution that developed the skills and knowledge covered in the above course/s you may be eligible to apply for credit transfer.
Alternatively, if you have prior relevant work experience that developed the skills and knowledge covered in the above course/s you may be eligible for recognition of prior learning.
Please follow the link for further information on how to apply for credit for prior study or experience.
Course Description
This course provides students with an advanced understanding of Object-Oriented software development with an emphasis on architecture and design and how this relates to programming and implementation. This course builds upon existing programming knowledge using Java as the implementation platform and assumes students already have a basic understanding of Java programming and basic OO concepts. Students will explore advanced OO concepts such as inheritance and polymorphism; abstract classes and interfaces; the Java Collection Framework (JCF), and generics/parameterized types. These topics will emphasise structural software quality evidenced through high cohesion and low coupling. This course will also cover Streams/Serialisation/Files and provide an introduction to parallel programming using threads. Students will also explore common OO design patterns such as MVC, Singleton and Facade and their application in User Interface Programming. This course serves as a pre-requisite for more specialized Java courses such as eCommerce, Web Services, Enterprise Architectures, and Mobile Application Development.
Objectives/Learning Outcomes/Capability Development
Program Learning Outcomes
This course contributes to the program learning outcomes for the following program(s):
Major - Enterprise Systems Development
- BP162O - Bachelor of Information Technology (RMITO)
- BP162P23 - Bachelor of Information Technology
- BP349 - Bachelor of Information Technology (Professional)
- BP094P23 - Bachelor of Computer Science
- BP340P23 - Bachelor of Data Science
PLO 1 Knowledge - Apply a broad and coherent set of knowledge and skills for developing user-centric information technology solutions for contemporary societal challenges.
PLO 2 Problem Solving - Apply systematic problem solving and decision-making methodologies to identify, design and implement information technology solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects.
BH120BIT - Bachelor of Engineering (Software Engineering) (Honours)
BH120CY - Bachelor of Engineering (Software Engineering) (Honours)
PLO 1 Demonstrate a coherent and advanced understanding and knowledge of fundamental engineering and scientific theories, principles and concepts and apply advanced technical knowledge in specialist domain of engineering.
PLO 4 Apply knowledge of established engineering methods to the solution of complex problems in the engineering discipline.
PLO 5 Utilise mathematics, software, tools and techniques, referencing appropriate engineering standards and codes of practice, in the design of complex engineering systems.
PLO 8 Communicate engineering designs and solutions respectfully and effectively, employing a range of advanced communication methods, in an individual or team environment, to diverse audiences.
PLO 10 Critically analyse, evaluate, and transform information, while exercising professional judgement, in an engineering context.
For more information on the program learning outcomes for your program, please see the program guide.
Upon successful completion of this course, you will be able to:
- Demonstrate working knowledge of OO concepts and design principles in the analysis, design and implementation of solutions for small to medium scale problems.
- Describe and Document Diagrammatically the OO design of the Java Collection Framework (JCF) and apply this framework in Java code.
- Describe and Document Diagrammatically the OO design of the JavaFX APIs and apply these APIs to create graphical user interface (GUI) code.
- Demonstrate Proficiency using an integrated development environment such as Eclipse for project management, coding and debugging.
- Describe and Document Diagrammatically common OO design patterns such as Model View Controller (MVC), Singleton, Facade and apply in Java code.
- Describe how streams are used for I/O in Java, and apply in code with different types of files (text, binary, random access).
Overview of Learning Activities
You will be actively engaged in a range of learning activities such as lectorials, tutorials, practicals, laboratories, seminars, project work, class discussion, individual and group activities. Delivery may be face to face, online or a mix of both.
You are encouraged to be proactive and self-directed in your learning, asking questions of your lecturer and/or peers and seeking out information as required, especially from the numerous sources available through the RMIT library, and through links and material specific to this course that is available through myRMIT Studies Course.
Overview of Learning Resources
RMIT will provide you with resources and tools for learning in this course through myRMIT Studies Course.
There are services available to support your learning through the University Library. The Library provides guides on academic referencing and subject specialist help as well as a range of study support services. For further information, please visit the Library page on the RMIT University website and the myRMIT student portal.
Overview of Assessment
Assessment Tasks
Assessment Task 1: Practical Assignment 1
Weighting 18%
This assessment task supports CLOs 1, 2, 4.
Assessment Task 2: Practical Assignment 2
Weighting 50%
This assessment task supports CLOs 1, 2, 3, 4, 5, 6.
Assessment Task 3: Late-Semester Test
Weighting 25%
This assessment task supports CLOs 1, 2, 3, 5.
Assessment Task 4: Part 2, In-Class Coding Activities
Weighting 7%
This assessment task supports CLOs 1, 2, 3, 4.
If you have a long-term medical condition and/or disability it may be possible to negotiate to vary aspects of the learning or assessment methods. You can contact the program coordinator or Equitable Learning Services if you would like to find out more.