Postgraduate Course: Python Programming (CMSE11433)
||College||College of Arts, Humanities and Social Sciences
|Credit level (Normal year taken)||SCQF Level 11 (Postgraduate)
||Availability||Available to all students
|Summary||The course will provide students with the basics of programming in Python which will render you capable of solid algorithmic thinking, building your own programs, and of understanding and critically reflecting on the technical aspects of quantitative business problems. It requires no background knowledge and is specifically tailored to the novice's needs.
Anyone with an interest in technology will greatly benefit from following this course. A number of motivating examples will be considered from multiple areas including but not limited to business, finance, and data analysis.
This course aims at introducing business students to the topic of programming and software engineering in Python as it is a key building block of many business analytics courses. Indeed, being able to collect and transform data, perform analyses on them, and do this in an efficient way, is the basic setup of many topics in statistics, business modelling, operational research, and so on. By providing a thorough background in the building blocks of programming and its applications, this course aims to provide non-technical profiles with the necessary basics to be mature in a programming environment.
- An introduction to programming concepts: differences between programming languages, computer compiling, data types, programming styles, and programming building blocks
- Programming constructs: data structures (including numpy and panda), programming control flow, functions, basic algorithms
- More advanced programming concepts: use of APIs and live data sources in CSV and JSON, data visualisation and User Experience (UX), automated testing, Agile programming practices
- Business applications: a study on a range of business problems from statistics and operations research to illustrate the concepts
Student Learning Experience:
Teaching will take the form of class lectures, and lab sessions. Since programming and software engineering are a real learning-by-doing topic, the concepts and methods discussed during the lectures will be illustrated during the lectures and transformed into Python exercises for the Labs, which will help you to develop your skillset gradually. Weekly assignments will introduce various topics one at a time, but will gradually become more difficult as they start combining different concepts. Nevertheless, they provide iterative feedback on weekly basis and engage students to keep up with the course. The final individual assignment combines various programming topics into business problems, for which a solution needs to be provided or extended.
Tutorial/seminar hours represent the minimum total live hours - online or in-person - a student can expect to receive on this course. These hours may be delivered in tutorial/seminar, lecture, workshop or other interactive whole class or small group format. These live hours may be supplemented by pre-recorded lecture material for students to engage with asynchronously.
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| For MSc Business Analytics students, or by permission of course organiser. Please contact the course secretary.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2023/24, Not available to visiting students (SS1)
|Learning and Teaching activities (Further Info)
Seminar/Tutorial Hours 10,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Additional Information (Learning and Teaching)
Seminar/Tutorial hrs are the min total live hrs, online or in-person, students can expect to receive
|Assessment (Further Info)
|Additional Information (Assessment)
||70% coursework (individual) - assesses all course Learning Outcomes
30% coursework (group) - assesses course Learning Outcomes 1, 2, 3, 4
||Fomative: Feedback will be provided throughout the course.
Summative: Feedback will be provided on the assessments within agreed deadlines.
|No Exam Information
On completion of this course, the student will be able to:
- Utilise basic Python programming constructs.
- Apply a variety of programming paradigms such as procedural as well as object-oriented programming and test-driven development.
- Operationalise existing python libraries, such as numpy and pandas, in the context of small coding exercises.
- Document code and describe/communicate the structure of a programme.
- Independently carry out a requirement analysis to identify procedures and data needed for tackling a problem and be able to communicate them to the relevant stakeholders.
|Learning Python (2013), Mark Lutz|
|Graduate Attributes and Skills
||Communication, ICT, and Numeracy Skills
After completing this course, students should be able to:
Convey meaning and message through a wide range of communication tools, including digital technology and social media; to understand how to use these tools to communicate in ways that sustain positive and responsible relationships.
Critically evaluate and present digital and other sources, research methods, data and information; discern their limitations, accuracy, validity, reliability and suitability; and apply responsibly in a wide variety of organisational contexts.
Knowledge and Understanding
After completing this course, students should be able to:
Demonstrate a thorough knowledge and understanding of contemporary organisational disciplines; comprehend the role of business within the contemporary world; and critically evaluate and synthesise primary and secondary research and sources of evidence in order to make, and present, well informed and transparent organisation-related decisions, which have a positive global impact.
Identify, define and analyse theoretical and applied business and management problems, and develop approaches, informed by an understanding of appropriate quantitative and/or qualitative techniques, to explore and solve them responsibly.
|Course organiser||Dr Pawel Orzechowski
|Course secretary||Ms Heather Ferguson
Tel: (0131 6)50 8074