Close
UCL Home
Prospective students
Current students
Staff
COMP0233: Research Software Engineering With Python
Home
Github Pages Example
Introduction to Version Control
Solo Git
Fixing Mistakes
Publishing
Collaboration
Fork and Pull
Branches
Git miscellany
Remotes
Rebase
Bisect
Introduction to Python
Many kinds of Python
An example program
Variables
Defining functions
Using Functions
Types
Containers
Dictionaries and Sets
Structures
Maze Solution
Conditionality
Looping
Maze Control Solution
Comprehensions
Maze comprehension solution
Modules
Basic plotting
Classes
Research Data in Python
Working with files
Internet
Tabular data
Structured data files
Maze Files Solution
Earthquakes Exercise
Quakes Solution
Scientific File Formats
Plotting
Numerical Python
The Boids
Understanding the Exemplar
Testing
Testing Basics
The Fields of Saskatchewan
Test Frameworks
Energy Example
Mocks
Debugger
Continuous Integration
Diffusion Example
Software Projects
Libraries
Installing Libraries
Writing Libraries
Argparse
Packaging
Documentation
Agile and Waterfall
Issue Tracking
Licensing
Construction and Design
Construction
Coding Conventions
Comments
Refactoring
Object Refactorings
Object Oriented Design
Design Patterns
Exercise - Boids
Advanced Programming Techniques
Don't Repeat Yourself
Functional Programming
Iterators, Generators, Decorators, and Contexts
Exceptions
Operator Overloading
Operator Overloading (example)
Metaprogramming
Programming for Speed
Two Mandelbrots
Faster Mandelbrots?
NumPy
Miscellaneous libraries
Cython
Scaling
Installation
Linux
Mac OSX
Windows
Github Pages Example
Introduction to Version Control
Solo Git
Fixing Mistakes
Publishing
Collaboration
Fork and Pull
Branches
Git miscellany
Remotes
Rebase
Bisect
Introduction to Python
Many kinds of Python
An example program
Variables
Defining functions
Using Functions
Types
Containers
Dictionaries and Sets
Structures
Maze Solution
Conditionality
Looping
Maze Control Solution
Comprehensions
Maze comprehension solution
Modules
Basic plotting
Classes
Research Data in Python
Working with files
Internet
Tabular data
Structured data files
Maze Files Solution
Earthquakes Exercise
Quakes Solution
Scientific File Formats
Plotting
Numerical Python
The Boids
Understanding the Exemplar
Testing
Testing Basics
The Fields of Saskatchewan
Test Frameworks
Energy Example
Mocks
Debugger
Continuous Integration
Diffusion Example
Software Projects
Libraries
Installing Libraries
Writing Libraries
Argparse
Packaging
Documentation
Agile and Waterfall
Issue Tracking
Licensing
Construction and Design
Construction
Coding Conventions
Comments
Refactoring
Object Refactorings
Object Oriented Design
Design Patterns
Exercise - Boids
Advanced Programming Techniques
Don't Repeat Yourself
Functional Programming
Iterators, Generators, Decorators, and Contexts
Exceptions
Operator Overloading
Operator Overloading (example)
Metaprogramming
Programming for Speed
Two Mandelbrots
Faster Mandelbrots?
NumPy
Miscellaneous libraries
Cython
Scaling
Installation
Linux
Mac OSX
Windows
UCL
Advanced Research Computing
Training
COMP0233
Turning your code into a package
Releasing code
Documentation
Software project management
Organising issues and tasks
Choosing an open-source license