Course Title: Rapid Application Development

Part A: Course Overview

Course Title: Rapid Application Development

Credit Points: 12.00


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC2675

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 1 2017

Course Coordinator: Dr Andy Song

Course Coordinator Phone: +61 3 9925 9761

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

Course Coordinator Location: 14.08.11

Course Coordinator Availability: By appointment


Pre-requisite Courses and Assumed Knowledge and Capabilities

Assumed Knowledge and Capabilities

It is assumed that you have the knowledge and computer programming skills as developed by completing COSC2413/2426 Web Programming

OR

COSC1284 Programming Techniques

OR

COSC1295 Advanced Programming

OR an equivalent course as approved by the Course Coordinator.


Course Description

Rapid application development provides a range of enabling skills for independent development of complete and industry standard software applications.  These skills will equip students to be ready for commercial development and to meet the demand of clients of various sizes, especially startups.

A range of application development, especially web application development frameworks, that are popular in industry, will be introduced in this course.  The focus will be on building applications based on the most widely used framework, Ruby on Rails, which is behind Airbnb, Yammer, Github and many other famous brands.

In addition students will learn model-view-controller (MVC) paradigm through this course.  Students will also learn industry level development methodologies as well as software engineering patterns.  Students will practise rapid application development assignments and projects that involve a variety of real world scenarios.


Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes

This course contributes to the following Program Learning Outcomes for BP094 Bachelor of Computer Science, BP096 Bachelor of Software Engineering, BP162 Bachelor of Information Technology, BP232 Bachelor of Technology (Computing Studies), MC061 Master of Computer Science

  • Enabling Knowledge:

You will gain skills as you apply knowledge effectively in diverse contexts. This will include knowledge of

  • 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 solutions to a learning challenge;

-- evaluate and compare approaches and algorithms on the basis of the nature of the problem/task being addressed.

  • Problem Solving:

Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to: select and apply algorithms to address particular machine learning problems, based on analysis of the problem and characteristics of the data involved.

  • Communication:

You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to: interpret abstract theoretical propositions, choose methodologies, justify conclusions and defend professional decisions to both IT and non-IT personnel via technical reports of professional standard and technical presentations.

  • 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 analyse problems for appropriate approach, while accounting for ethical considerations.


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

  1. Demonstrate knowledge of the fundamental concepts of development frameworks;
  2. Demonstrate knowledge of and perform a range of techniques and procedures for developing a commercial software application using a particular framework;
  3. Design and build essential components of an application using a given development framework;
  4. Demonstrate knowledge of and perform a range of rapid development methodologies that are widely used in the software development industry;
  5. Demonstrate knowledge of and utilize software engineering patterns in development;
  6. Design and manage the development life-cycle of a complete application.


Overview of Learning Activities

The learning activities included in this course are:

  • key concepts will be explained in lectures, classes or online, where syllabus material will be presented and the subject matter will be illustrated with demonstrations and examples;
  • tutorials and/or labs and/or group discussions (including online forums) focused on projects and problem solving will provide practice in the application of theory and procedures, allow exploration of concepts with teaching staff and other students, and give feedback on your progress and understanding;
  • assignments, as described in Overview of Assessment (below), requiring an integrated understanding of the subject matter; and private study, working through the course as presented in classes and learning materials, and gaining practice at solving conceptual and technical problems.

 

Teacher Guided Hours (face to face): 48 per semester

Teacher-guided learning will include lectures to present main concepts, small-class tutorials to reinforce those concepts, and supervised computer laboratory sessions to support exercises under guidance from an instructor.

 

Learner Directed Hours: 72 per semester

Learner-directed hours include time spent reading and studying lecture notes and prescribed text in order to better understand the concepts; working through examples that illustrate those concepts; and performing exercises and assignments designed by the teachers to reinforce concepts and develop practical skills across a variety of problem types.


Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School. You will be able to access course information and learning materials through MyRMIT and may be provided with copies of additional materials in class or via email. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

Use the RMIT Bookshop’s textbook list search page to find any recommended textbook(s).


Overview of Assessment

This course has no hurdle requirements.

 

The assessment for this course comprises practical work involving the development of computer programs, class tests and a final exam.

 

Assessment Task 1: Assignment

An assignment that involves design of an application

Weighting 10%

This assessment task supports CLOs 1, 3 & 5

 

Assessment Task 2: Assignment

A second assignment that involves a major development of an application based on Assessment 1.

Weighting 40%

This assessment task supports CLO 1, 2, 3, 4, 5, 6

 

Assessment Task 3: In-Class Tests

In-class tests, conducted during contact hours, aim to assess your understanding of concepts and to help you identify challenges in your learning so that you may develop and manage your improvement strategies.

Weighting 10% 

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

 

Assessment Task 4: Examination

A final written exam is designed to provide a comprehensive analysis of your understanding of core concepts introduced in the course.

Weighting 40% 

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