Module Catalogue

ECO2018 : Python Programming for Economists

  • Offered for Year: 2024/25
  • Available to incoming Study Abroad and Exchange students
  • Module Leader(s): Dr Grega Smrkolj
  • Owning School: Newcastle University Business School
  • Teaching Location: Newcastle City Campus
Semesters

Your programme is made up of credits, the total differs on programme to programme.

Semester 2 Credit Value: 10
ECTS Credits: 5.0
European Credit Transfer System

Aims

In today's digital era, computers are indispensable in economic research and data analysis, offering deep insights into complex global phenomena. This module is designed with two primary objectives in mind. Firstly, it aims to introduce economics students to the foundational principles of scientific programming, ensuring they develop the skills necessary to excel in the modern research landscape. Secondly, the module provides a comprehensive introduction to Python, a leading programming language in the realm of data science. Celebrated for its versatility and open-source nature, Python is an essential tool for a wide range of professional endeavors.

Students engaging with this module will acquire the skills needed to delve into the fields of data science and quantitative economics, preparing them to navigate the quantitatively-focused landscape of modern economic research and to make data-driven decisions in professional settings. Designed for students with a basic understanding of economics and a keen interest in computational methods and data analysis, the module requires no prior programming experience. The curriculum emphasizes practical programming skills, fundamental Python concepts, and applied learning through hands-on exercises, ensuring a comprehensive and engaging educational experience.

Outline Of Syllabus

1. Fundamentals of Python
- Understanding numbers and strings
- Exploring lists and dictionaries
- Mastering loops and iteration techniques
- Designing and implementing functions
- Grasping boolean logic and crafting conditional statements
- An overview of object-oriented programming: delving into classes, methods, and inheritance

2. Data Handling and Analysis
- Introduction to Pandas: the powerhouse of data analysis
- Navigating series and data frames
- Visualizing data: a journey with Matplotlib and Plotly
- Interacting with CSV and JSON file formats
- Harnessing the power of Web APIs for data retrieval

3. Python in the Realm of Scientific Computing
- Exploring scientific libraries: a deep dive into NumPy, SciPy, and Numba
- Understanding roots and fixed points in computations
- Techniques for optimization in Python
- Leveraging parallelization for enhanced computational efficiency

4. Applications in Economics
- Data Visualization in Economics: Techniques for creating clear and informative plots
- Basic Economic Simulations: Introduction to simulating simple economic scenarios
- Practical Data Exercises: Hands-on work with real-world economic datasets

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion130:0030:00Involves both formative and summative assessment tasks
Scheduled Learning And Teaching ActivitiesPractical92:0018:00Conducted in PC labs
Guided Independent StudyDirected research and reading133:0033:00Self-directed learning via interactive notebooks, exercises, and extensive reading
Guided Independent StudyIndependent study119:0019:00Focused on practicing and understanding course materials
Total100:00
Teaching Rationale And Relationship

The practical nature of this module necessitates a hands-on learning approach, which is best facilitated in a PC lab environment. All formal teaching is conducted in a PC lab, where each student has access to their own computer station. This setup allows for:

- Interactive Learning: Immediate application of concepts through Python exercises during lectures, enhancing understanding and engagement.
- Integration of Theory and Practice: Smooth transition between theoretical instruction and practical application, reinforcing learning.
- Personalized Experience: Individual workstations enable students to learn and practice at their own pace, accommodating different learning styles.
- Immediate Support: The lab setting allows for real-time feedback and assistance from the instructor, addressing challenges as they arise.

This approach ensures an effective learning experience, aligning with the module's practical focus.

Assessment Methods

The format of resits will be determined by the Board of Examiners

Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report2M100Students will individually prepare a PC report (equivalent to a 2000-word essay) to demonstrate their mastery of Python programming through practical problem-solving.
Formative Assessments

Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.

Description Semester When Set Comment
Prob solv exercises2MHomework problem sets
Prob solv exercises2MIn-class problem-based exercises
Assessment Rationale And Relationship

The lab report is designed to allow students to demonstrate their ability in applying Python to solve practical examples. To equip them for this, students will participate in various formative exercises. These exercises will introduce them to essential tools, deepen their understanding of programming concepts, and provide hands-on experience with practical examples.

Reading Lists

Timetable