Course Title: Programming Techniques

Part A: Course Overview

Course Title: Programming Techniques

Credit Points: 12.00

Terms

Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC1283

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 1 2006,
Sem 2 2006,
Summer2007,
Sem 1 2007,
Sem 2 2007,
Summer2008,
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

COSC1284

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 1 2006,
Sem 2 2006,
Summer2007,
Sem 1 2007,
Sem 2 2007,
Summer2008,
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

COSC1284

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 1 2017,
Sem 2 2017,
Sem 1 2018,
Sem 2 2018,
Sem 1 2019,
Sem 2 2019,
Sem 1 2020,
Sem 2 2020,
Sem 1 2021

COSC2451

RMIT University Vietnam

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Viet2 2011,
Viet1 2012,
Viet3 2012,
Viet2 2013,
Viet1 2016

COSC2451

RMIT University Vietnam

Undergraduate

171H School of Science

Face-to-Face

Viet1 2017

COSC2497

Taylors College KL

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Offsh 3 10

Course Coordinator: Professor Shane Culpepper

Course Coordinator Phone: +61 3 9925 5224

Course Coordinator Email: shane.culpepper@rmit.edu.au

Course Coordinator Location: 014.11.003

Course Coordinator Availability: by appointment


Pre-requisite Courses and Assumed Knowledge and Capabilities

none


Course Description

 

This course introduces programming techniques, including Object-Oriented programming using the Java programming language. This course covers algorithm development using standard control structures, design methods such as step-wise refinement, the object oriented programming framework, the use of standard Java classes and interfaces, the use of container classes, disk file processing and introduces techniques for code reuse.


Objectives/Learning Outcomes/Capability Development

This course contributes to the following Program Learning Outcomes (PLOs) for BP094 Bachelor of Computer Science:

PLO1: Knowledge - Apply a broad and coherent set of knowledge and skills for developing user-centric computing solutions for contemporary societal challenges.

PLO2: Problem Solving - Apply systematic problem solving and decision-making methodologies to identify, design and implement computing solutions to real world problems, demonstrating the ability to work independently to self-manage processes and projects.

PLO3: Cognitive and Technical Skill - Critically analyse and evaluate user requirements and design systems employing software development tools, techniques, and emerging technologies.

 


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

  1. Demonstrate (through small programming exercises) knowledge and skills with concepts of program design and acceptable coding standards.
  2. Use Java programming language as a vehicle to demonstrate good software development practices
  3. Use arrays and control structures to demonstrate skills of basic algorithms and data structures
  4. Apply knowledge of the basic principles of the object oriented development process to the analysis and design of solutions for small scale problems
  5. Analyze requirements for a small scale programming project
  6. Design and implement small-scale software systems
  7. Explain the rationale for program design, data structures and user interface design chosen
  8. Demonstrate skills for self-directed learning.


Overview of Learning Activities

The learning activities included in this course are:

  1. key concepts will be explained in lectures where course material will be initially presented and demonstrated using programming examples
  2. small class practical sessions will reinforce the concepts taught in the lectures and discuss common problems
  3. students will be guided in the use of tool and programming exercises to analyse and apply the concepts taught in the lectures
  4. design and implement programming solutions to the prescribed problems during self-directed studies
  5. use online forums to discuss any course related materials.

 

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

Teacher-directed hours (48 hours): lectures, and laboratory sessions. Each week there will be 2 hours of lecture and 2 hours of computer laboratory work practical sessions. You are encouraged to participate during lectures through asking questions, commenting on the lecture material based on your own experiences and through presenting solutions to written exercises. The tutorial / laboratory sessions will introduce you to the tools necessary to undertake the assignment work. There will be in-class tests held in both the lectures and laboratory sessions throughout the semester.

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

Each of the three assignments will allow students to demonstrate the following skills:

  1. Creating a small program to demonstrate what you have learned as a developer.
  2. Analysing a problem and developing an algorithm to solve the problem.
  3. Converting an algorithm to computer code.
  4. Writing code using best practices (within the limitations placed on you by this specification)
  5. Documenting your program.
  6. Following coding conventions and behavioural requirements provided in this document and in the lessons.
  7. Independently solving a problem by using programming concepts taught in the course.
  8. Writing and debugging Java code independently.
  9. Documenting code.
  10. Providing appropriate referencing when required.
  11. Seeking clarifications from your teaching team, when needed, via discussion forums.
  12. Creating a program by recalling concepts taught in class, understanding and applying concepts relevant to the solution, analysing components of the problem, and evaluating different approaches.

There are no hurdle requirements in this course.

Assignment Task 1: 25%

This assessment supports CLOs 1, 2, 3, 5, 6, 8

Assignment Task 2: 40%

This assessment supports CLOs 1, 2, 3, 4, 5, 6, 8

Assignment Task 3: 35%

This assessment supports CLOs 1, 2, 3, 4, 5, 6, 7, 8