ECO2018 : Python Programming for Economists
- Offered for Year: 2024/25
- 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 Study | Assessment preparation and completion | 1 | 30:00 | 30:00 | Involves both formative and summative assessment tasks |
Scheduled Learning And Teaching Activities | Practical | 9 | 2:00 | 18:00 | Conducted in PC labs |
Guided Independent Study | Directed research and reading | 1 | 33:00 | 33:00 | Self-directed learning via interactive notebooks, exercises, and extensive reading |
Guided Independent Study | Independent study | 1 | 19:00 | 19:00 | Focused on practicing and understanding course materials |
Total | 100: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 report | 2 | M | 100 | Students 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 exercises | 2 | M | Homework problem sets |
Prob solv exercises | 2 | M | In-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
- Timetable Website: www.ncl.ac.uk/timetable/
- ECO2018's Timetable