Course Title: Programming 1

Part A: Course Overview

Course Title: Programming 1

Credit Points: 12.00


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 1 2016

COSC1073

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 1 2017

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

Viet1 2017

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

Course Coordinator: Dr. Caspar Ryan

Course Coordinator Phone: +61 3 9925 9775

Course Coordinator Email: caspar.ryan@rmit.edu.au

Course Coordinator Location: City Campus, 14.11.32

Course Coordinator Availability: By appointment


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Prerequisite: 

COSC1519/COSC1321 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; programming style and code reuse, and basic strategies for software testing.


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.


Course Learning Outcomes

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

  • CLO 1: Solve simple algorithmic computing problems using basic control structures and Object-Oriented Techniques.
  • CLO 2: Design and implement computer programs based on analysing and modelling requirements.
  • CLO 3: Identify and apply basic features of an Object-Oriented programming language through the use of standard Java (Java SE) language constructs and APIs.
  • CLO 4: Identify and apply good programming style based on established standards, practices and coding guidelines.
  • CLO 5: Devise and apply strategies to test the developed software.
  • CLO 6: Explain key concepts of object-oriented programming in Java.


Overview of Learning Activities

The learning activities included in this course are:

  • Lectures: In general, lectures will be based upon the prescribed text and lecture notes. Where other material is used, explicit references will be given, with preference going to material that is widely available (e.g. freely available on the WWW or in the library). Because this course has an emphasis on software development in practice, students will be exposed to demonstrations of application development using a laptop computer, a projector and a Java IDE where possible.
  • Tute/Lab Sessions: Weekly two-hour tute/lab sessions will be conducted with a focus on active learning via interactive activities and discussions around the practical assessment. In general lab exercises are practical in nature and mostly relate to the assessment tasks so that students incrementally gain the skills required to develop working applications rather than having to apply a broad range of knowledge and combine a number of different skills and capabilities in a single large effort.

Blackboard: All learning materials will be available on blackboard 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 (48 hours): lectures, tutorials and laboratory sessions. Each week there will be 2 hours of lecture plus 2 hours of practical work in the computer laboratory. You are encouraged to participate through asking questions, commenting on the material based on your own experiences and by formulating solutions to provided exercises. The tutorial/laboratory sessions will introduce you to the tools and techniques necessary to undertake the assignment work.

Student-directed hours (72 hours): You are expected to be self-directed, studying independently outside class.


Overview of Learning Resources

The course is supported by the Blackboard 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 (assignment part A, B and C) and a written exam component. The assignment work will be evaluated through both a laboratory demonstration and analysis of your source code and documentation. The exam will take place under standard exam conditions.


Note: This course has no hurdle requirements.

Assessment tasks

Assessment 1: Lab Assessment
You will have five small practical assessment exercises in the laboratory to help you assess your progress and manage your learning.
Weighting 5 x 2%=10%
This assessment task supports CLOs 1-5

Assessment 2: Assignment part A
In this assignment you will extend some supplied code to provide basic console input and output functionality.
Weighting 5%
This assessment task supports CLOs 1-5

Assessment 3: Assignment part B
In this assignment you will extend your solution from assignment part A by implementing some specified functionality using Java looping and array constructs.
Weighting 15%
This assessment task supports CLOs 1-5

Assessment 4: Assignment part C
In this assignment you will extend your solution from assignment part B by implementing some specified functionality using Object-Oriented Java constructs.
Weighting 20%
This assessment task supports CLOs 1-5
Assessment 5: End-of-semester Examination
Weighting 50%
This assessment supports CLOs 1, 2, 3 & 6

Please note that postgraduate students are expected to demonstrate knowledge and skills at postgraduate level.