Learning Outcomes:
- Good grasp of key concepts in object-oriented programming
- Foundational level knowledge of the Python programming language
- Solid experience in team-based development
- Basic experience with collaborative programming tools
- Basic understanding of agile development approaches
- Basic understanding of developing social simulations
- Understanding of the relevance of computer programming in the social sciences
Indicative Module Content:
- Working with IDEs and code repository management systems (git)
- Variables, functions, control statements
- Lists and other data structures
- Object-oriented software design
- String and file manipulation
- Debugging, logging, exception handling
- Working with APIs
- Basic introduction to social science simulations
- Basic visualisations of data