Course Title: Programming 1

Part A: Course Overview

Course Title: Programming 1

Credit Points: 12.00

Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC1073

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 1 2006,
Sem 2 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 2 2013,
Sem 1 2014,
Sem 2 2014,
Sem 1 2015,
Sem 2 2015,
Sem 1 2016

COSC1073

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 2 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

COSC1073

City Campus

Undergraduate

175H Computing Technologies

Face-to-Face

Sem 1 2022,
Sem 2 2022,
Sem 1 2023,
Summer2024

COSC2081

RMIT University Vietnam

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Viet2 2007,
Viet3 2007,
Viet1 2008,
Viet2 2008,
Viet3 2008,
Viet1 2009,
Viet2 2009,
Viet3 2009,
Viet1 2010,
Viet2 2010,
Viet3 2010,
Viet1 2011,
Viet2 2011,
Viet3 2011,
Viet1 2012,
Viet2 2012,
Viet3 2012,
Viet1 2013,
Viet2 2013,
Viet3 2013,
Viet1 2014,
Viet2 2014,
Viet3 2014,
Viet1 2015,
Viet2 2015,
Viet3 2015,
Viet1 2016,
Viet2 2016,
Viet3 2016

COSC2081

RMIT University Vietnam

Undergraduate

171H School of Science

Face-to-Face

Viet3 2017,
Viet1 2018,
Viet3 2018,
Viet1 2019,
Viet2 2019,
Viet3 2019,
Viet2 2020,
Viet3 2020,
Viet2 2021,
Viet3 2021

COSC2081

RMIT University Vietnam

Undergraduate

175H Computing Technologies

Face-to-Face

Viet2 2022,
Viet3 2022,
Viet2 2023

COSC2135

Open Learning Australia

Non Award

171H School of Science

Distance / Correspondence

OUASP2UG21,
OUASP3UG21

COSC2231

Taylors College KL

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Offsh 3 10,
Offsh 1 11

COSC2362

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 1 2006,
Sem 2 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 2 2013

COSC2712

RMIT Vietnam Hanoi Campus

Undergraduate

175H Computing Technologies

Face-to-Face

Viet2 2023

Flexible Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC2681

OUA CSP

Undergraduate

171H School of Science

Internet

OUACSP2021 (All)

Course Coordinator: Andy Song

Course Coordinator Phone: -

Course Coordinator Email: andy.song@rmit.edu.au

Course Coordinator Location: -

Course Coordinator Availability: By appointment


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Prerequisite: 

COSC1519 Introduction to Programming

You may not enrol in this course unless one of these courses is explicitly listed in your enrolment program summary.

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 the RMIT Course Requisites policy can be found at Course requisites – 7.29.1.6: http://www.rmit.edu.au/browse;ID=twx09y07zi1c


Course Description

This course introduces Object-Oriented programming using the Java programming language. This course covers: algorithm development using standard control structures; design methods such as step-wise refinement and object oriented programming; the use of standard Java classes and interfaces; the use of standard APIs; I/O processing; and programming style and code reuse. 


Objectives/Learning Outcomes/Capability Development

This course contributes to the following Program Learning Outcomes (PLOs) for BP162 Bachelor of Information Technology and BP232 Bachelor of Technology (Computing Studies):

PLO1. Enabling Knowledge: You will gain skills as you apply knowledge effectively in diverse contexts.

PLO2. Critical Analysis: You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:

  • Analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems
  • Evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.

PLO3. Problem Solving: Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to:


Design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.

PLO4. Communication: You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to:


Present a clear, coherent and independent exposition of software applications, alternative IT solutions, and decision recommendations to both IT and non-IT personnel via technical reports of professional standard and technical presentations.

PLO5. Team Work: You will learn to work as an effective and productive team member in a range of professional and social situations, in particular to:


Work effectively in different roles, to form, manage, and successfully produce outcomes from teams, whose members may have diverse cultural backgrounds and life circumstances, and differing levels of technical expertise.

PLO6. Responsibility: You will be required to accept responsibility for your own learning and make informed decisions about judging and adopting appropriate behaviour in professional and social situations. This includes accepting the responsibility for independent life-long learning. Specifically, you will learn to:


Effectively apply relevant standards, ethical considerations, and an understanding of legal and privacy issues to designing software applications and IT systems.


Upon successful completion of this course you should be able to:

  1. Solve simple algorithmic computing problems using basic control structures and Object-Oriented Techniques.
  2. Design and implement computer programs based on analysing and modelling requirements.
  3. Identify and apply basic features of an Object-Oriented programming language through the use of standard Java (Java SE) language constructs and APIs.
  4. Identify and apply good programming style based on established standards, practices and coding guidelines.
  5. Use GitHub for software development


Overview of Learning Activities

The learning activities may include: review of pre-recorded lectures, completion of preparation activities, lectorials, laboratory-based activities, webinars, post-lecture exercises, assignment and project work, and self-study. 

Canvas: All learning materials will be available on Canvas including lecture notes, tutorial and lab exercises, example source code and recorded lectures. Students will also participate in discussion with staff and other students via the online discussion board.

A total of 120 hours of study is expected during this course, comprising:

Teacher-directed hours: Teacher-directed activities may include lectorials, webinars, laboratory-based activities and QA sessions. The teacher-directed hours may vary depending on delivery mode location. Refer to Part B of the course guide for details applicable to each of the study period and location. 

Student-directed hours: You are expected to be self-directed, studying independently outside class. Student-directed activities may include pre-lecture preparation, post-lecture revision, completion of tutorial exercises, completion of assignments, and project work. The student-directed hours may vary depending on delivery mode location.


Overview of Learning Resources

The course is supported by the Canvas learning management system which provides specific learning resources. See the RMIT Library Guide at http://rmit.libguides.com/compsci 


Overview of Assessment

The assessment for this course comprises a laboratory component, a practical programming assignment component and a take-home coding assessment.  The assignment work will be evaluated in terms of functional correctness as well as the quality of your source code and documentation.

The assessment tasks are in two schedules: A and B. You will be advised at the start of the teaching period which of the two schedules apply for any given teaching period and location.   

Note: This course has no hurdle requirements.

Assessment tasks

Schedule A:

Assessment 1: Lab Assessment -- 30%

You will have small practical assessment exercises in the laboratory (spread throughout the semester) to help you assess your progress and manage your learning.

This assessment task supports CLOs 1-5

Assessment 2: Assignment -- 40%
In this assessment you will write code to create a large console application specified using Object-Oriented Java constructs.

This assessment task supports CLOs 1-5

Assessment 3: End-of-semester take home coding assessment --  30%
You will be required to code for a mini software based upon the concepts taught to you throughout the semester using an IDE and GitHub classroom.

This assessment supports CLOs 1, 2, 3 & 5

 

Schedule B:

Assessment 1: Programming based assignments-- 60% 

You will have programming based assessments spread throughout the semester/study period/trimester) to help you assess your progress and manage your learning.  

This assessment task supports CLOs 1-5 
 
Assessment 2: Online tests-- 10% 
In this assessment you will be tested on the concepts covered in the course. 

This assessment task supports CLOs 1-5 
 
Assessment 3: End-of-semester take home coding assessment --  30% 
You will be required to code for a mini software based upon the concepts taught to you throughout the semester using an IDE and GitHub classroom. 

This assessment supports CLOs 1, 2, 3 & 5