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:
- Demonstrate (through small programming exercises) knowledge and skills with concepts of program design and acceptable coding standards.
- Use Java programming language as a vehicle to demonstrate good software development practices
- Use arrays and control structures to demonstrate skills of basic algorithms and data structures
- Apply knowledge of the basic principles of the object oriented development process to the analysis and design of solutions for small scale problems
- Analyze requirements for a small scale programming project
- Design and implement small-scale software systems
- Explain the rationale for program design, data structures and user interface design chosen
- Demonstrate skills for self-directed learning.
Overview of Learning Activities
The learning activities included in this course are:
- key concepts will be explained in lectures where course material will be initially presented and demonstrated using programming examples
- small class practical sessions will reinforce the concepts taught in the lectures and discuss common problems
- students will be guided in the use of tool and programming exercises to analyse and apply the concepts taught in the lectures
- design and implement programming solutions to the prescribed problems during self-directed studies
- 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:
- Creating a small program to demonstrate what you have learned as a developer.
- Analysing a problem and developing an algorithm to solve the problem.
- Converting an algorithm to computer code.
- Writing code using best practices (within the limitations placed on you by this specification)
- Documenting your program.
- Following coding conventions and behavioural requirements provided in this document and in the lessons.
- Independently solving a problem by using programming concepts taught in the course.
- Writing and debugging Java code independently.
- Documenting code.
- Providing appropriate referencing when required.
- Seeking clarifications from your teaching team, when needed, via discussion forums.
- 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