Postgraduate Course: Programming for the Life Sciences (PGBI11110)
Course Outline
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 |
SCQF Credits | 10 |
ECTS Credits | 5 |
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 |
Course description |
- 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 mid-course 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.
- Week 6: Python Exercise 5: Putting it to work 2: Manual calculation vs. making the computer work for you
- Week 7: Python Exercise 6: File I/O
- Week 8: Python Exercise 7: Regular expressions & automated manipulation of text
o Hand-in of mid-course project
- Week 9: Python Exercise 8: Automating common computer tasks
o Detailed feedback on mid-course project
o Distribution of summative project
- Week 10: Python Exercise 9: Visualising data
|
Course Delivery Information
|
Academic year 2019/20, Not available to visiting students (SS1)
|
Quota: None |
Course Start |
Semester 2 |
Timetable |
Timetable |
Learning and Teaching activities (Further Info) |
Total Hours:
100
(
Lecture Hours 20,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
78 )
|
Assessment (Further Info) |
Written Exam
0 %,
Coursework
100 %,
Practical Exam
0 %
|
Additional Information (Assessment) |
Successful completion of mid-course programming exercise and production of correctly functioning code. 50%
Successful completion of final coding project and production of correctly functioning program. 50% |
Feedback |
- 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 project in week 8 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 |
Learning Outcomes
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
|
Reading List
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) |
Additional Information
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 |
Keywords | PLS |
Contacts
Course organiser | Dr Douglas Houston
Tel: (0131 6)50 7358
Email: DouglasR.Houston@ed.ac.uk |
Course secretary | Ms Andrea Nichol
Tel: (0131 6)50 8643
Email: Andrea.Nichol@ed.ac.uk |
|
|