- Homepage
- Key Information
- Students
- Taught programmes (UG / PGT)
- Student Services and Procedures
- Student Support
- Events and Colloquia
- International Students
- Students as Change Agents (SACA)
- Student Staff Liaison Committees (SSLC)
- The Exeter Award
- Peer Support
- Skills Development
- Equality and Diversity
- Athena SWAN
- Outreach
- Living Systems Institute Webpage
- Alumni
- Info points and hubs
- Inbound Exchange Students
- Staff
- PGR
- Health and Safety
- Computer Support
- National Student Survey (NSS)
- Intranet Help
- College Website
ECM1408 - Programming for Science (2015)
MODULE TITLE | Programming for Science | CREDIT VALUE | 15 |
---|---|---|---|
MODULE CODE | ECM1408 | MODULE CONVENER | Prof Richard Everson (Coordinator) |
DURATION: TERM | 1 | 2 | 3 |
---|---|---|---|
DURATION: WEEKS | 11 weeks | 0 | 0 |
Number of Students Taking Module (anticipated) | 80 |
---|
We use computers in almost all aspects of our daily lives and throughout science, so it is easy to take them for granted. However, in order that we can use computers to solve new problems and create new things, we have to be able to program them. This module introduces you to programming and problem solving with a computer. You will learn how to formulate an algorithm to solve a problem, and you will acquire the skills to write, test and debug a program, particularly programs with scientific applications.
This module is not available for students who have taken, or are taking, ECM1409.
This module is an introductory course in computer programming and will introduce you to the fundamental concepts of computer algorithms and programming, with a strong emphasis on practical implementation. You will also learn how to apply analytical and problem-solving skills to the design and implementation of small applications.
On successful completion of this module, you should be able to:
Module Specific Skills and Knowledge:
1 design an algorithm, using sequence, iteration and selection;
2 write, compile, test, and debug a computer program;
3 explain how a program written in a procedural language is translated into a form that allows it to be executed on a computer;
4 systematically test your programs;
5 document software to accepted standards;
6 design an algorithm, using a divide and conquer strategy;
7 demonstrate familiarity with basic numerical and discrete algorithms;
8 use a high-level programming language for basic numerical analysis, simulation and data visualisation.
Discipline Specific Skills and Knowledge:
9 systematically break down a problem into its components;
10 understand and choose appropriate programming techniques.
Personal and Key Transferable/ Employment Skills and Knowledge:
11 analyse a problem and synthesise a solution;
12 use technical manuals and books to interpret specifications and technical errors.
- problem solving and programming overview: algorithms, flow charts; pseudo-code; compilers and interpreters;
- python as a language: statements, comments and simple arithmetic operations;
- variables, and data types;
- sequences and iteration: lists, loops, nested loops; accumulation as a programming idiom;
- flow control: conditional expressions, while loops; searching by bisection and bracketing;
- functions: encapsulation and abstraction; arguments and return values;
- integer and floating point representation; numerical precision;
- mutable and immutable variables, and sequences: tuples, lists and strings;
- data structures: stacks and queues;
- simulation: pseudo-random numbers; larger programs; encapsulation and program organisation;
- input/output and exceptions;
- recursion: divide and conquer algorithms; memorisation;
- associative arrays, hashing and dictionaries;
- searching and sorting: linear search versus bisection; insertion sort, bubble sort, merge sort.
Scheduled Learning & Teaching Activities | 42.00 | Guided Independent Study | 108.00 | Placement / Study Abroad | 0.00 |
---|
Category | Hours of study time | Description |
Scheduled learning and teaching activities | 22 | Lectures |
Scheduled learning and teaching activities | 20 | Workshops/tutorials |
Guided independent study | 66 | Individual assessed work |
Guided independent study | 42 | Lecture and assessment preparation |
Form of Assessment | Size of Assessment (e.g. duration/length) | ILOs Assessed | Feedback Method |
---|---|---|---|
Workshop exercises | 1 hour per week | 1 - 12 | Model answers and verbal feedback |
Coursework | 70 | Written Exams | 30 | Practical Exams | 0 |
---|
Form of Assessment | % of Credit | Size of Assessment (e.g. duration/length) | ILOs Assessed | Feedback Method |
---|---|---|---|---|
Written exam – closed book | 30 | 1.5 hours | All | Verbal on request |
Coursework – practical programming assignments | 70 | 66 hours | All | Written |
Original Form of Assessment | Form of Re-assessment | ILOs Re-assessed | Time Scale for Re-reassessment |
---|---|---|---|
All above | Written exam (70%) | All | August Ref/Def period |
All above | Coursework (30%) | All | Completed over summer with a deadline in August |
Students failing the module will be required to take both elements of the re-assessment.
information that you are expected to consult. Further guidance will be provided by the Module Convener
ELE – http://vle.exeter.ac.uk
Web based and electronic resources:
Python language website: http://www.python.org
Reading list for this module:
Type | Author | Title | Edition | Publisher | Year | ISBN | Search |
---|---|---|---|---|---|---|---|
Set | Downey, Allen | Python for software design: How to think like a computer scientist | Cambridge University Press | 2009 | 978-0521725965 | [Library] | |
Extended | Zelle John | Python Programming: an introduction to computer Science | 2nd Edition | Franklin, Beedle & Associates | 2010 | 978-1590282410 | [Library] |
Extended | Lutz, Mark | Learning Python | 4th revised | O'Reilly media | 2009 | 978-0596158064 | [Library] |
Extended | Summerfield Mark | Programming in Python3 | 2nd Edition | Addison Wesley | 2010 | 978-0321680563 | [Library] |
CREDIT VALUE | 15 | ECTS VALUE | 7.5 |
---|---|---|---|
PRE-REQUISITE MODULES | None |
---|---|
CO-REQUISITE MODULES | None |
NQF LEVEL (FHEQ) | 4 | AVAILABLE AS DISTANCE LEARNING | No |
---|---|---|---|
ORIGIN DATE | Friday 09 January 2015 | LAST REVISION DATE | Friday 09 January 2015 |
KEY WORDS SEARCH | Computer; programming; algorythms; problem solving; Python. |
---|