Scientific Programming in C - 2024 entry
MODULE TITLE | Scientific Programming in C | CREDIT VALUE | 15 |
---|---|---|---|
MODULE CODE | PHY2027 | MODULE CONVENER | Dr David Richards (Coordinator) |
DURATION: TERM | 1 | 2 | 3 |
---|---|---|---|
DURATION: WEEKS | 11 |
Number of Students Taking Module (anticipated) | 60 |
---|
DESCRIPTION - summary of the module content
Knowledge of a computer programming language and how to write programs to solve physics-related problems is a valuable transferable skill. This module is taught though a series of lectures and practical sessions in which the student must initially understand the logic of source code before being required to write their own code in order to complete a number of projects. This module teaches the C programming language, but the principles involved are applicable to almost every procedural programming language.
AIMS - intentions of the module
This module aims to give students the ability to write clearly structured, debuggable and maintainable computer programs in ANSI C and to be able to understand such programs written by others.
INTENDED LEARNING OUTCOMES (ILOs) (see assessment section below for how ILOs will be assessed)
On successful completion of this module you should be able to:
Module Specific Skills and Knowledge
1. construct flow charts for computer code;
2. write and modify simple programs in ANSI-C;
2. write and modify simple programs in ANSI-C;
3. find errors and debug code;
4. use files, keywords, structured programs and the elements which constitute good robust programs;
5. apply the principles of designing and writing debuggable and maintainable computer programs;
6. design and code data structures that reflect the problems;
7. write appropriately structured code based on short routines with a clear purpose and interfaces that are simple and unambiguous;
8. explain and use standard features of the C programming language including structures, pointers and simple memory management;
Discipline Specific Skills and Knowledge
9. apply logic to the solution of problems;
10. keep proper records of work;
10. keep proper records of work;
11. apply the C programming language to simple physical problems;
12. present a portfolio of work;
Personal and Key Transferable / Employment Skills and Knowledge
13. deal with the practicalities of writing a computer program;
14. think and plan in a logical manner;
14. think and plan in a logical manner;
15. apply a structured approach to problem solving;
16. make straightforward use of a professional programming IDE.
SYLLABUS PLAN - summary of the structure and academic content of the module
Whilst the module’s precise content may vary from year to year, it is envisaged that the syllabus will cover some or all of the following topics:
I. Introduction
Brief historical survey.
II. ANSI C
III. The Xcode Integrated Development Environment and C-compiler
IV. Local and global variables (integers, real, character)
V. Arithmetic expressions, relational, logical, increment and decrement operators
VI. Input/output (formats, data files, etc.)
VII. Functions and program structure (standard functions, user-defined functions)
VIII. Header files
IX. Arrays (strings, multidimensional arrays)
X. Rounding errors and accuracy considerations
XI. Good programming practice
XII. Program design
XIII. Data design
XIV. Functions
Variables and scope.
Initialisation.
Function Prototypes.
XV. Memory
Pointers
Arrays
Memory allocation
XVI. Structures
Pointers to structures
Using structures to pass data between functions
Linked lists
XVII. Projects
A number of projects based upon the Stage 2 physics course. The background physics required for each project is provided for the student in the project description.
LEARNING AND TEACHING
LEARNING ACTIVITIES AND TEACHING METHODS (given in hours of study time)
Scheduled Learning & Teaching Activities | 33 | Guided Independent Study | 117 | Placement / Study Abroad | 0 |
---|
DETAILS OF LEARNING ACTIVITIES AND TEACHING METHODS
Category | Hours of study time | Description |
Scheduled Learning and Teaching activities | 11 | 11×1-hour lectures |
Scheduled Learning and Teaching activities | 22 | 11×2-hour supervised computer labs |
Guided independent study
|
56 | Directed self-study and project work |
Guided independent study
|
61 | Reading to support own learning requirements |
ASSESSMENT
FORMATIVE ASSESSMENT - for feedback and development purposes; does not count towards module grade
SUMMATIVE ASSESSMENT (% of credit)
Coursework | 100 | Written Exams | 0 | Practical Exams | 0 |
---|
DETAILS OF SUMMATIVE ASSESSMENT
Form of Assessment | % of Credit | Size of Assessment (e.g. duration/length) | ILOs Assessed | Feedback Method |
---|---|---|---|---|
Homework assignment 1 | 20 | 10 hours | 1-16 |
Written and verbal
|
Homework assignment 2 | 20 | 10 hours | 1-16 |
Written and verbal
|
Programming Project | 60 | 40 hours | 1-16 |
Written and verbal
|
DETAILS OF RE-ASSESSMENT (where required by referral or deferral)
Original Form of Assessment | Form of Re-assessment | ILOs Re-assessed | Time Scale for Re-assessment |
---|---|---|---|
Programming Project and Homework Assignments | Programming Project (60 hours) 100% | 1-16 | Referral/deferral period |
RE-ASSESSMENT NOTES
RESOURCES
INDICATIVE LEARNING RESOURCES - The following list is offered as an indication of the type & level of
information that you are expected to consult. Further guidance will be provided by the Module Convener
information that you are expected to consult. Further guidance will be provided by the Module Convener
Core text:
McGrath M. (2002), C Programming in Easy Steps (3rd edition), Computer Step, ISBN 1-840-78203-X (UL: 005.133 MCG)
Supplementary texts:
Kernighan B.W. and Richie D.M. (1988), The C Programming Language (2nd edition), Prentice Hall, ISBN 0-13-110362-8 (UL: 001.6424/C KER)
Oualline S. (1997), Practical C Programming (3rd edition), O'Reilly, ISBN 1-565-92306-5 (UL: 005.133 OUA)
Reading list for this module:
CREDIT VALUE | 15 | ECTS VALUE | 7.5 |
---|---|---|---|
PRE-REQUISITE MODULES | PHY1025 |
---|---|
CO-REQUISITE MODULES |
NQF LEVEL (FHEQ) | 5 | AVAILABLE AS DISTANCE LEARNING | No |
---|---|---|---|
ORIGIN DATE | Tuesday 12th March 2024 | LAST REVISION DATE | Monday 29th April 2024 |
KEY WORDS SEARCH | Physics; Program; Structures; Function; Codes; Project; Data; Computing; Ansi; Arrays; Designing |
---|
Please note that all modules are subject to change, please get in touch if you have any questions about this module.