POL42340 Programming for Soc Scientists

Academic Year 2024/2025

This module provides an introduction to computer programming using the object-oriented language Python. Python is the 3rd most popular programming language at the moment, the most popular among data scientists, and is generally known as an excellent language to learn programming. A basic grounding in programming will allow you to automate mundane and repetitive tasks related to text and files, large data sets, web scraping, or develop complex simulations, all applications that are typical for a social scientist.

In this module, the main application will be a social simulation, which will be developed in teams. While all students will learn the basic programming skills, different students will be assigned different aspects of the overall program, while sharing their experience with the rest of the class. This will allow us to cover a wide range of aspects of the system (file manipulation, user interface, simulation model, visualisation of results, etc.), while keeping the overall effort manageable.

Lectures will be provided through video and seminar meetings will be used for practice with Python and related development and collaboration tools, as well as brainstorm and feedback sessions on the overall project, the development of the social simulation.

The target audience of this module is students who have no or very limited prior experience with Python programming or computer programming in general.

Show/hide contentOpenClose All

Curricular information is subject to change

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

Student Effort Hours: 
Student Effort Type Hours
Autonomous Student Learning

220

Seminar (or Webinar)

8

Computer Aided Lab

16

Total

244

Approaches to Teaching and Learning:
The main course material will be provided in a blended format, using video lectures, face-to-face group discussion, and reflection by students. Evaluation of this material will take place through a number of short quizzes.

The main participation will consist of a large development project throughout the module in large groups, which will be structured and managed throughout the module under supervision of the module coordinator. Evaluation of this material will take place through reflective essays and an assessment of the level of participation.

Generative Artificial Intelligence (e.g. ChatGPT) provides helpful tools for brainstorming ideas, proofreading draft essays, helping to write computer code, and so forth. You are encouraged to make use of these tools to increase your productivity, but be warned that AI cannot be trusted as an information source and cannot write the data project for you. It is a writing and coding tool, not a replacement of the author or coder. Information and example code cannot be trusted at face value.

During MCQ tests, the use of equipment with AI functionality will not be allowed. 
Requirements, Exclusions and Recommendations

Not applicable to this module.


Module Requisites and Incompatibles
Not applicable to this module.
 
Assessment Strategy  
Description Timing Component Scale Must Pass Component % of Final Grade In Module Component Repeat Offered
Quizzes/Short Exercises: MCQ test 1 Week 5 Alternative linear conversion grade scale 40% No

20

Yes
Quizzes/Short Exercises: MCQ test 2 Week 8 Alternative linear conversion grade scale 40% No

20

Yes
Quizzes/Short Exercises: MCQ test 3 Week 12 Alternative linear conversion grade scale 40% No

20

Yes
Assignment(Including Essay): Class diagram Week 7 Graded No

10

No
Assignment(Including Essay): Reflective lab report Week 12 Graded No

30

No

Carry forward of passed components
No
 
Resit In Terminal Exam
Summer No
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, post-assessment
• Group/class feedback, post-assessment
• Online automated feedback
• Peer review activities

How will my Feedback be Delivered?

Informal feedback on programming tasks will be provided throughout, both instructor- and peer-lead. Feedback on quizzes will be automatic. Feedback on reflective essays will be provided within 20 working days from submission, in writing.