Course Title: Programming Fundamentals for Scientists

Part A: Course Overview

Course Title: Programming Fundamentals for Scientists

Credit Points: 12.00


Course Code




Learning Mode

Teaching Period(s)


City Campus


171H School of Science


Sem 2 2018,
Sem 2 2019

Course Coordinator: Dr Yongli Ren

Course Coordinator Phone: +61 3 9925 2859

Course Coordinator Email:

Course Coordinator Location: 14.09.07

Course Coordinator Availability: by appointment

Pre-requisite Courses and Assumed Knowledge and Capabilities

Assumed Knowledge and Capabilities:

  • Capable of using the basic functions of an operating system such as Windows/Mac OS X/Linux/UNIX.

This course is a University Student Elective.



Course Description

Programming is acknowledged as a vital skill that enables problem solving through the use of computers across a range of varied disciplines. This course introduces you to basic concepts, syntax and control structures in programming. You will learn how to program in a step-wise problem solving fashion. You are expected to bring a laptop to the lectures and practicals of this hands-on course.

Objectives/Learning Outcomes/Capability Development

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


CLO 1: Demonstrate knowledge of basic concepts, syntax and control structures in programming.

CLO 2: Devise solutions to simple computing problems under specific requirements.

CLO 3: Encode the devised solutions into computer programs and test the programs on a computer.

CLO 4: Demonstrate understanding of standard coding conventions and ethical considerations in programming. 

This course contributes to the following Program Learning Outcomes for BP330 Bachelor of Space Science,  and BP229 Bachelor of Science (Physics):

PLO-1 Understanding science and engineering
PLO-1.1 You will demonstrate an understanding of the scientific method and engineering fundamental and an ability to apply them  in practice.

PLO-2 Knowledge capability
PLO-2.2 You will have knowledge in at least one discipline other than your primary discipline and some understanding of interdisciplinary linkages.

PLO-3 Inquiry and problem solving
PLO-3.3 You will be able to choose appropriate tools and methods to solve scientific problems within your area of specialisation.
PLO-3.4 You will demonstrate well-developed problem solving skills, applying your knowledge and using your ability  to think analytically and creatively.

PLO-4 Communication
PLO-4.2 You will be able to communicate the solution to a problem or the results of a scientific investigation using appropriate methods for different audiences.

PLO-5 Personal and professional responsibility
PLO-5.1 You will develop a capacity for independent and self-directed work.
PLO-5.2 You will work responsibly, safely, legally and ethically.

Overview of Learning Activities

  Teaching staff inputs: Learning resources will be presented, explained and illustrated with demonstrations, examples and problems during lectures, tutorials, laboratories, consultation sessions, and online using the Canvas LMS. Problem solving exercises, assignments and laboratory discussions are designed to develop your analytical and communication skills, drawing on knowledge and frameworks covered in lectures.   Your inputs as learners: Your active and constructive participation in lectures and tutorial/laboratory discussions is expected in addition to weekly private study, completion of tutorial and laboratory exercises and careful planning and completion of assessment tasks.   While a minimum attendance standard is not compulsory, non-attendance is correlated with lack of success in this course. Where visa conditions apply, attendance is compulsory.   Total study hoursTeacher-guided Hours (face-to-face): 48 per semester   Teacher-guided learning includes 

  • lectures in which main concepts will be presented, 
  • small-class tutorials to reinforce those concepts, and 
  • supervised computer laboratory sessions to support programming practice 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 programming exercises and assignments designed by the teachers to reinforce concepts and develop practical programming skill across a variety of problem types.

Overview of Learning Resources

You should make extensive use of computer laboratories and relevant software provided by the School. You should 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

This course has no hurdle requirements.

Assessment Tasks  

Note: This course has no hurdle requirements.

Assessment Task Type 1: Tutorial submissions

Weighting 25% total
There are 6 weekly tutorial submission deadlines to be met between weeks 1-12 to a total of 25 marks. These submissions are due at the end of each second week, with the first due at the end of Week 2, as per the RMIT HE calendar.

This assessment task supports CLOs 1, 2, 3, 4

Assessment Task Type 2: Programming Assignments
Weighting 25% total

Assignment 1: 7% (due end of week 3)

Assignment 2: 8% (due end of week 7)

Assignment 3: 10% (due end of week 12)
This assessment task supports CLOs 1, 2, 3, 4


Assessment Task Type 3: Final Exam
Weighting 50%

There is an end-of-semester written exam. The final exam timetable will be made available towards the latter part of the semester.

This assessment supports CLOs 1, 2, 3, 4