Application Development in Python

BAN438 Application Development in Python

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:

    1. 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.
    2. Data analysis - transform and analyze the data. The data can be analyzed through e.g. visualization or by creating prediction models.
    3. 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.


    After successful completion of the course, students

    • understand the importance of documentation when coding.
    • understand the usefulness of Python can be used in businesses and scientific research.
    • understand the process of professional application development in business.


    After successful completion of the course, students can

    • write, modify and execute Python code in Jupyter Notebook.
    • 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 lectures 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

    Eight hour individual home exam.

  • Grading Scale


  • 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.

  • Literature

    To be announced in Canvas.


ECTS Credits
Teaching language

Spring. Will be offered Spring 2024.

Please note that you must register for BAN436 to attend this course.

Course responsible

Assistant Professor Isabel Hovdahl, Department of Business and Management Science