BAN438 Application Development in Python
Spring 2025
Autumn 2024-
Topics
This course begins with the one-week intensive seminar "BAN436 Introduction to Python". There, you learned how to use Python to perform simple data analytics that you now would like to share with the world. While BAN436 focused on how to use Python for data handling and analysis, BAN438 focuses on how to make our data analytics available to users through applications. Please note that BAN436 constitutes the first part of BAN438, and it is an absolute prerequisite for continuing with this course.
In BAN438, we will dig deeper into some of the topics covered in BAN436, such as functions and control structures, and we will convert our Python scripts into interactive applications that we can deploy online as web applications.
An application is simply a computer program that executes a specific task that has nothing to do with the operation of the computer itself. The task could be to e.g. execute a calculation, translate a word, or forecast the weather for a given location. A web application is a program that is hosted by a web server, as opposed to being locally installed on a specific computer, and that is accessed through the web browser.
In BAN438, you will learn how to develop simple web applications known as dashboards that executes the three steps in data analytics:
- Data engineering - access the raw data that we wish to analyze. The data can be e.g. supplied by a user, scraped from the web, or retrieved from an API.
- Data analysis - transform and analyze the data. The data can be analyzed through e.g. visualization or by creating prediction models.
- Deployment - return the result to users through the web browser. The result can be returned as e.g. a calculation, model prediction or graph.
After successful completion of this course, you will be able to develop small-scale applications in Python and deploy them online through cloud platforms, as well as gain insight into how large web applications are developed and deployed by businesses.
-
Learning outcome
In this course, the students will learn how to use Python for data analytics and how to deploy their analysis through applications.
Knowledge
After successful completion of the course, students
- understand the importance of documentation when coding.
- understand how Python can be used in businesses and scientific research.
- understand the usefulness of virtual environments.
- understand the process of professional application development in business.
Skills
After successful completion of the course, students can
- write, modify and execute Python code.
- distinguish between the different data types and structures in Python (e.g. list, dictionary, array, data frame).
- create functions and loops.
- load, manipulate and save data.
- perform simple data analysis (e.g. descriptive statistics, correlation analysis).
- visualize data.
- perform simple web scraping.
- develop control structures that handle errors and exceptions.
- retrieve data from web servers through API requests.
- convert Python scripts to applications.
- deploy applications online through cloud platforms.
General competence
After successful completion of the course, students can
- identify the appropriate format of data sets with regards to data analysis (i.e. tidy data).
- conduct reproducible research in Jupyter Notebook.
- compare the pros and cons of different Python IDEs.
- use package documentation and online sources for help with coding.
-
Teaching
Weekly tutorials and workshops where the students will work on larger assignments.
-
Restricted access
BAN436 constitutes the first part of BAN438, and it is an absolute prerequisite for continuing with this course.
-
Recommended prerequisites
The course introduces the students to Python, and therefore it requires no previous knowledge of Python or programming.
However, basic statistical knowledge as provided by MET2 is helpful.
-
Credit reduction due to overlap
The first part of the course is given as an intensive course, and may be taken separately as "BAN436 Introduction to Python".
Please note that because BAN436 is identical with the first part of BAN438, there is a full credit reduction between the two courses. If you have already passed BAN436 and wish to take BAN438 at a later point, you will be awarded with a total of 7.5 ECTS for the two courses combined.
-
Compulsory Activity
Passing grade for the course BAN436 Introduction to Python. Notice that BAN436 is offered as a one-week intensive course in the first week of the semester before BAN438. However, you must sign up for both courses separately.
In order to take the exam in BAN438, you must also complete one mandatory assignment during the semester.
-
Assessment
Four hour digital school exam.
-
Grading Scale
A-F
-
Computer tools
Python, Jupyter Notebook. I recommend downloading the Anaconda distribution for Python. More details regarding the required software will be provided at the beginning of the course.
We will also use the
to extract open-source financial and economic datasets.https://www.alphavantage.co/ Alpha Vantage API -
Literature
To be announced in Canvas.
-
Permitted Support Material
Calculator
One bilingual dictionary (Category I)
All in accordance with Supplementary provisions to the Regulations for Full-time Study Programmes at the Norwegian School of Economics Ch.4 Permitted support material
andhttps://www.nhh.no/en/for-students/regulations/ https://www.nhh.no/en/for-students/regulations/ https://www.nhh.no/en/for-students/examinations/examination-support-materials/ https://www.nhh.no/en/for-students/examinations/examination-support-materials/
Overview
- ECTS Credits
- 7.5
- Teaching language
- English.
- Semester
-
Spring. Offered spring 2025.
Please note that you must register for BAN436 to attend this course.
Course responsible
Associate Professor Isabel Hovdahl, Department of Business and Management Science