TDT4114

Applied Programming

Spring

Trondheim

Norwegian

Overview

288 candidates

Average grade

C

3.33

same

Pass rate

99%

same

Grade distribution
Average over time
Pass rate over time

About this course

Content

The course provides an overview of key programming concepts, such as lambda expressions, collections, and comprehensions, as well as an introduction to object-oriented programming.

It also covers important aspects of data storage and error handling, including file handling, and exception handling.

Furthermore, participants are introduced to data analysis, visualization, and basic machine learning. Popular Python libraries such as NumPy, Matplotlib, SciPy, and Pandas are used. In the context of predictive analysis, participants learn how to prepare data and apply linear regression models using scikit-learn.

The course includes project work, allowing participants to explore applications relevant to their own subject area.

Emphasis is also placed on unit testing and version control using Git. The programming environments used are Visual Studio Code and Jupyter Notebook.

Learning outcomes

Skills

  • K1: Basic concepts of object-oriented programming
  • K2: File handling and error handling in Python, including how to read from and write to files, and how to handle exceptions.
  • K3: Data analysis and visualization, including the use of libraries NumPy, Matplotlib, SciPy, and Pandas.
  • K4: Linear regression and other predictive modeling techniques, including how to prepare data for modeling, how to train and validate a model, and how to interpret the model's results.
  • K5: Use of development environments such as Visual Studio Code, Jupyter Notebook, and version control with git.
  • K6: Unit testing in Python, including how to write and run tests using the unittest framework.
  • K7: Can explain some common ways of using AI in programming.

Competence:

  • F1: Understanding and applying programming concepts such as lambda expressions, collections, iterators, and list comprehensions.
  • F2: Understanding the principles of object-oriented programming.
  • F3: Ability to handle data storage and errors, including file handling, persistent storage of information, and exception handling.
  • F4: Understanding and applying basic principles of data analysis and visualization using the modules NumPy, Matplotlib, SciPy, and Pandas.
  • F5: Ability to prepare data and apply linear regression models for predictive analysis using scikit-learn.
  • F6: Understanding and applying unit testing and version control with git.
  • F7: Ability to use programming environments such as Visual Studio Code and Jupyter Notebook effectively.
  • F8: Can write code partly by themselves and partly with the help of AI

General Competency

  • G1: Can reflect on how programming and data analysis can be applied within their own field of study.
  • G2: Can collaborate effectively in development projects, including the use of version control and unit testing to ensure code quality.
  • G3: Understands the importance of documentation, testing, and maintenance in software development.
  • G4: Can reflect on appropriate and less appropriate uses of AI as a support tool for learning.

Teaching methods

  • Coding in the lab: Participants can engage in coding in the lab, where they gain practical experience in programming in Python.
  • Data analysis tasks: Participants can work on exercises involving data collection, cleaning, analysis, and visualization. This will provide them with practical experience using libraries such as NumPy, Matplotlib, and Pandas.
  • Predictive Modeling: Participants can work on tasks that require the use of linear regression and other predictive modeling techniques to analyze and interpret data.
  • Unit Testing: Participants can write and run tests to verify that their code functions as expected.
  • Version Control: Participants can use git to version their code, providing them with experience in important software development practices.