Course Title: Programming Studio 1

Part A: Course Overview

Course Title: Programming Studio 1

Credit Points: 24.00

Flexible Terms

Course Code




Learning Mode

Teaching Period(s)


City Campus


171H School of Science


UGRDFlex21 (PBC1),



City Campus


175H Computing Technologies


UGRDFlex22 (F2S1),

UGRDFlex22 (F4S1)

Course Coordinator: Timothy Wiley

Course Coordinator Phone: +61 3 9925 5202

Course Coordinator Email:

Course Coordinator Location: 014.11.013

Course Coordinator Availability: by appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

Co-requisite: COSC2801 - Programming Bootcamp 1

Successful completion of Programming Studio 1 requires that students have a proficiency in the Java Programming language as gained before the commencement of this course, or as gained in the co-requisite course. This proficiency includes the following skills and concepts:

• Foundations of programming:

o Basic control structures: sequence, selection, and iteration
o Common data types: integer, floating-point, string, etc.
o Basic data structures: arrays
o Methods and Functions

• Foundations of Object Orientated programming:

o Classes
o Objects

Course Description

Programming Studio 1 is a studio-based course that focuses on the acquisition and development of fundamental technical and professional skills for computing. The studio-based approach provides an authentic problem setting. Theory and practice are blended in the application of learning centred on development.

In Programming Studio 1 students explore how to build software, through learning how to build a simple fully functional data-driven website. Students learn about fundamental concepts in User-Centred Design (UX/UI) and Database System that explore the front-end-to-back-end of software development. Students integrate theory and practice across these concepts together in the Studio Project. In a studio-long project, students put into practice the theoretical concepts through your programming skills to make a fully functional website.

Objectives/Learning Outcomes/Capability Development

This course contributes to Program Learning Outcomes (PLOs) for:

BP094 Bachelor of Computer Science
BP096 Bachelor of Software Engineering
BP162 Bachelor of Information Technology
BP340 Bachelor of Data Science

Course Learning Outcomes (CLOs):

Upon successful completion of this course students will be able to:

  1. Apply pre-requisite and co-requisite knowledge of foundational skills in object oriented programming to (1) design and develop small-to-medium-scale software programs in the Java programming language; (2) design and develop small-to-medium-scale websites using simple web technologies; and (3) integrate the software programs with technologies for practical applications for other course learning outcomes;
  2. Apply core principles of design thinking and user-centred design to: (1) understand and apply concepts in innovative product design; (2) analyse users’ needs, usability goals and user experience goals; (3) understand the components of a design plan and apply user-centred design process from requirement gathering to user studies and evaluation; and (4) critically analyse and evaluate the  usability of sample interfaces and identify key features that make an outstanding user-centred interface;
  3. Transform and Apply and core principles of design thinking and user-centred design into practice to (1) create a ‘usability checklist’ that enhances the usability of an application, to summarize and explain usability concepts, relevant alternatives, and decision recommendations to peers and IT specialists; (2) apply software and paper prototyping tools to design user interfaces that take into account human capabilities and constraints, users’ needs, usability goals and user experience goals; and (3) synthesize the design and evaluation of various components of a user interface into a functional product using web technologies and the Java programming language;
  4. Apply core principles of database systems to (1) describe the underlying theoretical basis of the relational database model; (2) explain the main concepts for data modelling and characteristics of database systems; and (3) develop a sound database design using conceptual modelling mechanisms such as entity-relationship diagrams;
  5. Transform and Apply and core principles of database system theories into practice to (1) develop databases based on a sound database design; (2) apply SQL as a programming language to define database schemas, update database contents and to extract data from databases for specific users’ information needs; and (3) develop an interface for a database in the Java programming language;
  6. Demonstrate effective team participation, management and communication through relevant industry tools and practices, such as version control system;
  7. Identify and use strategies, including reflective frameworks and peer feedback to fill knowledge gaps;
  8. Demonstrate adherence to appropriate standards and professional practice.

Overview of Learning Activities

You will explore the course material through a sequence of hands-on workshops each week. Workshops are delivered in a blended mode featuring online interactive resources, practical exercises, activities, and discussions. The workshops depend on preparation material including written text, video content, and preparation exercises which you are expected to read and complete before attending the workshops. The workshops are supplemented by personal feedback opportunities and a weekly online Q&A live event.

You will need to spend significant time on learner-directed study and activities. This includes time spent completing the preparation material, completing the studio project and assessments, participating in the online course discussion channels, and conducting individual review, study, and reflection of the course content. Your learner-directed study will be designed by the instructors 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.

Overview of Assessment

The assessment for the programming studio places an emphasis on the workshop studio-model of the course. Through the assessments you will explore the front-end to back-end concepts of software development. You will apply the skills gained from the Programming Bootcamp in developing an application over the duration of the studio through the team based competitive review and studio project. You will individually demonstrate through the other assessment tasks, which will provide regular feedback on your individual progression.

This course has no hurdle requirements.

Assessment Task 1: Competitive Review. Initial Design of small to medium sized application (teamwork).
Weighting: 10% 
Investigate existing websites and mobile application that address a “social challenge". Conduct an informed survey to study the user perspective and identify shortcomings of the existing services from the user perspective.
This task supports CLOs: 2, 6, and 7.

Assessment Task 2: 50% Studio Project. Small to medium sized software application (teamwork).
Weighting: 50%
Studio Project: Design, prototype and build a small to medium sized application in teams. The project is divided into multiple milestones that cover: (1) the development of the end-to-end web application. (2) review and redevelopment of the studio project from user feedback and survey.
This task supports CLOs: 1 - 8.

Assessment Task 3: Studio Portfolio.
Weighting: 20%
An individual compilation of weekly studio activities including completed workshop exercises, results from studio discussions, and answers to set questions.
This task supports CLOs: 2 - 5, and 7.

Assessment Task 4: (20%) Programming and User Centred Design Challenge.
Individual formative knowledge and programming skills challenge of concepts in user-centred design and database systems held as a timed assessment during workshops or as scheduled.
This task supports CLOs: 2 - 5.