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 2019,
Sem 1 2020,
Sem 2 2020,
Sem 1 2021

Course Coordinator: Dr Haytham Fayek

Course Coordinator Phone: +61 3 9925 0858

Course Coordinator Email:

Course Coordinator Location: 014.11.003

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

The assessment for this course comprises practical work involving the development and analysis of programs in Python. Across all assessment tasks, you will be required todemonstrate your critical analysis and problem-solving skills.

This course has no hurdle requirements.

Assessment Tasks

Assessment Task 1: Weight: 30%

In this assessment, the student will be exposed to reading, understanding, and contributing code. Student are provided with some working code in Python. The student should understand and comment on the code. The student should also write additional code to achieve some outlined objectives.

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

Assessment Task 2: Weight: 35%

This assessment is a negotiated project. Each student should propose a project related totheir own discipline that meets a certain level of complexity. The student will design, implement, demo, and discuss their code that achieves the objectives outlined in their project.

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

Assessment Task 3: Weight:35%

This assessment is a negotiated project, where the student can either extend and build on assessment task 2 or choose a new project related to their own discipline. The assessment requires a higher level of complexity than assessment task 2. The student will design, implement, demo, and discuss their code that achieves the objectives outlined in their project.

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