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

Course Coordinator: Dr Haytham Fayek

Course Coordinator Phone: +61 3 9925 0858

Course Coordinator Email:

Course Coordinator Location: 014.01.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.

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

This course is a University Student Elective.

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.

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.  

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% 

Assignment 2: 8% 

Assignment 3: 10% 
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