Application Development in Python

BAN438 Application Development in Python

Autumn 2023

Spring 2024
  • Topics

    This course begins with the one-week intensive seminar "BAN436 Introduction to Python". There, you learned how to write Python scripts that you would now like to show off to the world. While BAN436 focused on how to use Python for data handling and analysis, BAN438 focuses on how we can make the results from our analysis 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.

    BAN438 consists of several workshops where we will dig deeper into some of the topics covered in BAN436, such as functions and control structures. We will then convert our Python scripts into applications and deploy them both locally and 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 applications in Python that executes the three steps of data analysis in business:

    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 executing data analysis and how to deploy the results of the analysis through applications. After successful completion of the course, students will have:

    the practical skills to:

    • 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.
    • search package documentation and online sources for help with coding.
    • 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.

    and the general knowledge to

    • identify the appropriate format of data sets with regards to data analysis (i.e. tidy data).
    • conduct reproducible research in Jupyter Notebook.
    • identify the usefulness and limitations of Python in application development.
    • understand the process of professional application development in business.

  • Teaching

    Weekly lectures and workshops where the students work on exercises.

  • 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 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. Offered Spring 2023.

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

Course responsible

Assistant Professor Isabel Hovdahl, Department of Business and Management Science