Postgraduate Course: Python Programming (CMSE11433)
||College||College of Arts, Humanities and Social Sciences
|Credit level (Normal year taken)||SCQF Level 11 (Postgraduate)
||Availability||Not available to visiting 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.
The course will cover the following topics:
- 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.
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.
Course Delivery Information
|Academic year 2020/21, Not available to visiting students (SS1)
|Learning and Teaching activities (Further Info)
Lecture Hours 10,
Seminar/Tutorial Hours 20,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Group assignments (30% weighting) - assess Learning Outcomes 1, 2, 3 and 4.
Weekly group assignments in random pairs will test concepts seen in class.
Individual Coursework (70% weighting) - assesses Learning Outcomes 1 to 5.
|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
|Course organiser||Dr Pawel Orzechowski
|Course secretary||Ms Emily Davis
Tel: (0131 6)51 7112