POL42340 Programming for Soc Scientists

Academic Year 2020/2021

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
Seminar (or Webinar)

8

Computer Aided Lab

16

Autonomous Student Learning

220

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.

Due to COVID-19, in Autumn 2020 the group sessions will be through an online platform as well.

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. 
Requirements, Exclusions and Recommendations

Not applicable to this module.


Module Requisites and Incompatibles
Not applicable to this module.
 
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Attendance: Participation in the main team project Throughout the Trimester n/a Graded No

15

Multiple Choice Questionnaire (Short): Short MCQ on Python programming 2 Week 6 n/a Alternative linear conversion grade scale 40% No

15

Lab Report: Progress report on programming project Week 5 n/a Graded No

20

Multiple Choice Questionnaire (Short): Short MCQ on Python programming 1 Week 3 n/a Alternative linear conversion grade scale 40% No

15

Multiple Choice Questionnaire (Short): Short MCQ on Python programming 3 Week 10 n/a Alternative linear conversion grade scale 40% No

15

Lab Report: Progress report on programming project - updated version Week 10 n/a Graded No

20


Carry forward of passed components
No
 
Resit In Terminal Exam
Spring 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.

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.

 
Autumn
     
Lecture Offering 1 Week(s) - Autumn: All Weeks Fri 11:00 - 12:50