Learning Outcomes:
On successful completion of this module, students should be able to:
• Understand what constitutes a computer program and how it is constructed.
• Comprehend written source code.
• Write and compile programs in C/Fortran.
• Make use of standard libraries in their own code.
• Keep track of code changes using version control.
• Write a computer program to solve problems relevant to scientific research.
Indicative Module Content:
• Overview of computer architecture
• The UNIX/Linux shell
• C and Fortran programming
• Variables and arithmetic operators
• Version control with git
• Loops & conditional statements
• Arrays, functions and subroutines
• Casting and pointers
• Structs and programmer tools
• Dynamic memory allocation
• Algorithms
• Recursive functions
• Standard libraries
• Object-oriented programming