Postgraduate Course: Programming for the Life Sciences (PGBI11110)
|School||School of Biological Sciences
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Postgraduate)
|Course type||Online Distance Learning
||Availability||Not available to visiting students
|Summary||*Online Distance Learning*
This course is aimed at those with no prior experience of programming. Therefore, the course will consist of introductory programming learning material presented in the Python language. All material and teaching will be available online through Learn and Collaborate, and will consist of:
- Exercises to demonstrate the main principles of computer programming through hands-on activities
- Video lectures to explain and expand on more difficult points
- Collaborate flipped classrooms to provide face-to-face contact time with lecturers
- Group online discussion forum to allow communication between students
- Week 0: Welcome Week will consist of events recommended by the IAD Distance Education Task Group, such as Introduction to the Virtual Classroom (Collaborate), Icebreaker, Competition (course site navigation and course site-mediated communication). This will provide a graded path into ODL for those who have not done it before.
- Week 1: Collaborate Lecture 1: Why programming?
o Distribution of formative group project
- Week 2: Python Exercise 1: Coding basics: simple variables, string operators, arithmetic operators
- Week 3: Python Exercise 2: Program navigation: flow control, Boolean logic, input/output
- Week 4: Python Exercise 3: Manipulating data: indexed arrays, associative arrays,
- Week 5: Python Exercise 4: Putting it to work 1: Functions, application of an example function, translating an example equation into code.
o Hand-in of formative group project
- Week 6: Python Exercise 5: Putting it to work 2: Manual calculation vs. making the computer work for you
o Detailed feedback on group project
o Distribution of summative group project
- Week 7: Python Exercise 6: File I/O
- Week 8: Python Exercise 7: Regular expressions & automated manipulation of text
- Week 9: Python Exercise 8: Automating common computer tasks
- Week 10: Python Exercise 9: Visualising data
Course Delivery Information
|Academic year 2018/19, Not available to visiting students (SS1)
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Successful completion of programming exercises and production of correctly functioning code 50%
Successful completion of group-based coding project and production of correctly functioning program 50%
||- Expected output to the exercises will be provided during each sessions so students can check their code is functioning correctly
- Model answers (code) to all exercises will be distributed the following week so that students can see how the correct output is generated.
- Students will be instructed in the meaning of Python error messages and other debugging skills so that the computer will provide meaningful feedback as the student works
- The formative group project in week 5 will provide instant feedback to students ¿ their program will either work or not ¿ and in addition more nuanced feedback from a lecturer on the strengths and weaknesses of their work will be provided
|No Exam Information
On completion of this course, the student will be able to:
- Describe the growing importance of programming and relevance to the Life Sciences
- Give examples of coding that made the impossible possible
- Use coding basics: simple variables, string operators, arithmetic operators
- Utilise program navigation in code: flow control, Boolean logic, input/output
- Solve examples problems via writing functional code: functions, complex variables (arrays), applying an example function
|Nine Algorithms That Changed the Future, MacCormick, J. (2013)|
Nature Volume 440 Number 7083 Special Issue, How Computers will Change the Face of Science (2006)
Python for Biologists: A complete programming course for beginners, Jones M. (2013)
|Graduate Attributes and Skills
||Students will acquire a number of the transferable skills specified in the Vitae Researcher Development Framework (Domains A, B and D) and the CBI¿s Future Fit higher education report :
- Enquiry ¿ students will be confident in their ability to successfully search for and identify programming knowledge resources.
- Personal and intellectual autonomy ¿ Students will become accustomed to solving programming problems autonomously.
- Communication ¿ Students will be familiar with online communication, collaboration and knowledge transfer.
- Personal effectiveness ¿ Flexibility; many students have limited exposure to maths/computation in which there is more than one ¿right¿ answer, but in programming, there is always more than one way to do it.
- Application of numeracy and information technology ¿ Students will advance beyond traditional ¿IT Skills¿ learning (which usually consists of learning how to use software packages such as Word) and will understand what makes such programs work ¿under the bonnet¿.
The emphasis on interdisciplinary training (computing, biology and mathematics) provides novel opportunities for graduates.
|Additional Class Delivery Information
||All lectures will be delivered online using Collaborate
|Course organiser||Dr Douglas Houston
Tel: (0131 6)50 7358
|Course secretary||Ms Andrea Nichol
Tel: (0131 6)50 8643