Undergraduate Course: Fundamentals of Programming for Business Applications (BUST08039)
||College||College of Arts, Humanities and Social Sciences
|Credit level (Normal year taken)||SCQF Level 8 (Year 1 Undergraduate)
||Availability||Available to all students
|Summary||THIS COURSE IS AVAILABLE TO STUDENTS IN THE BUSINESS SCHOOL ONLY - YEARS 1 AND 2. The course will provide you with the basics of programming for business applications 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.
This course aims at introducing business students to the topic of software engineering and it is the building block of many quantitative 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, financial 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 quantitative environment. A direct connection with major quantitative business problems will be made through case studies and exercises.
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, programming control flow, basic algorithms
- Business applications: a study on a range of business problems from statistics and operations research to illustrate the concepts
Teaching will take the form of class lectures, and lab sessions. Since software engineering is a real learning-by-doing topic, the concepts and methods discussed during the lectures will be illustrated and transformed into exercises on Python which will help you to develop your skillset gradually. 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 a weekly basis and engage students to keep up with the course.
Entry Requirements (not applicable to Visiting Students)
|| Students MUST have passed:
||Other requirements|| None
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2021/22, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 10,
Seminar/Tutorial Hours 20,
Programme Level Learning and Teaching Hours 4,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Group assignments (30% weighting) - assess Learning Outcomes 1 to 4.
Weekly group assignments in random pairs will test concepts seen in class.
Individual Coursework (70% weighting) - assesses Learning Outcomes 1 to 4.
Business Scenario assessed by Report and Coding exercises
||Weekly feedback on the assignments will be provided to let you readjust your learning experience accordingly. Given that there are weekly assignments, you will gain an insight into the progress you are making week by week.
During synchronous tutorials, teachers will give feedback on students ongoing work.
|No Exam Information
On completion of this course, the student will be able to:
- Develop an awareness and understanding of the concepts prevalent in systems engineering and adapt a problem-solving attitude that employs algorithmic thinking.
- Critically reflect on the level of difficulty of programming a range of problems in various business settings
- To employ the programming language Python in a practical and effective manner.
- To autonomously list the requirements in terms of procedures and data needed for tackling a precise, quantitative business-oriented problem and be able to communicate them to the relevant stakeholders.
|Learning Python (2013), Mark Lutz https://www.learnpython.org/|
|Graduate Attributes and Skills
||Knowledge and understanding:
- Obtain a thorough insight into programming concepts and their relation to business problems.
- Awareness of the complexities that exist when building programs.
Applied knowledge, skills and understanding: To adapt general programming solutions to more specific problems.
Generic cognitive skills: Undertake a critical analysis of a business problem in terms of data requirements and the subsequent analysis of this data.
Communication, ICT and numeracy skills: Use Python to implement programming problems.
Autonomy, accountability and working with others: Learn to find solutions from various sources to cater for the vastness of programming intricacies that are inherent to building a tailored program.
|Additional Class Delivery Information
||One 1-hour lecture video weekly;
One 2-hour computer lab weekly.
For the academic year starting in September 2021, we currently plan to deliver a mix of in-person and digital teaching. Our teaching model will depend on the Covid-19 restrictions in place at the time but we are planning on the basis that all students will be with us in Edinburgh.
|Keywords||Computer programming basics,data analysis,business applications
|Course organiser||Dr Pawel Orzechowski
|Course secretary||Mr Mark Woodfine-Jones
Tel: (0131 6)50 3825