Course Title: Programming Fundamentals for Scientists
Part A: Course Overview
Course Title: Programming Fundamentals for Scientists
Credit Points: 12.00
Terms
Course Code |
Campus |
Career |
School |
Learning Mode |
Teaching Period(s) |
COSC2752 |
City Campus |
Postgraduate |
171H School of Science |
Face-to-Face |
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: haytham.fayek@rmit.edu.au
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.
- 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 TasksAssessment 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