course-details-portlet

TDT4114

Applied Programming

Assessments and mandatory activities may be changed until September 20th.

Credits 7.5
Level Foundation courses, level I
Course start Spring 2027
Duration 1 semester
Language of instruction Norwegian
Location Trondheim
Examination arrangement Portfolio

About

About the course

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 outcome

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.

Learning methods and activities

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

Compulsory assignments

  • Mandatory assignments

Further on evaluation

(the information may be changed until June 15th)

In the course, several mandatory activities have been introduced to support the learning objectives and provide students with the opportunity to apply theory in practice. These must be approved in order to have the portfolio evaluated. This includes participation in and work on selected exercises related to the core milestones of the course. More detailed information about which activities this applies to will be given at the start of the semester.

Portfolio assessment conducted in smaller groups provides the basis for pass/fail in the subject. The portfolio includes a programming project and a simple individual reflection note on personal learning. The project and reflection note are submitted together at the end of the semester.

Feedback will be given throughout the semester on the content of the portfolio.

All students in the group typically receive the same grade based on the group submission. In special cases where a student has not contributed sufficiently, the student may be given an individual grade based on documented lack of effort and/or workload.

In the event of voluntary retake, failure, or valid absence, the entire portfolio must be redone in a semester with instruction.

Specific conditions

Admission to a programme of study is required:
Archives, Museums and Records Management (LTARKIV)
Digital Business Development (ITBAITBEDR)
Energy and the Environment (MTENERG)
Logistics - Engineering (FTHINGLOG)

Course materials

Announced at the start of semester.

Credit reductions

Course code Reduction From
TDT4100 3.7 sp Autumn 2024
TDT4102 3.7 sp Autumn 2024
DCST1007 3.7 sp Autumn 2024
INFT1006 3.7 sp Autumn 2024
IT6203 3.7 sp Autumn 2026
IT6204 2.5 sp Autumn 2026
This course has academic overlap with the courses in the table above. If you take overlapping courses, you will receive a credit reduction in the course where you have the lowest grade. If the grades are the same, the reduction will be applied to the course completed most recently.

Subject areas

  • Technological subjects

Contact information

Course coordinator

Department with academic responsibility

Department of Computer Science

Examination

Examination

Examination arrangement: Portfolio
Grade: Passed / Not Passed

Ordinary examination - Spring 2027

Portfolio
Weighting 100/100 Exam system Inspera Assessment