Course - Applied Programming - TDT4114
Applied Programming
Assessments and mandatory activities may be changed until September 20th.
About
About the course
Course content
The subject provides an overview of various programming concepts, such as lambda expressions, collections, iterators, and list comprehensions. It also introduces object-oriented programming. It covers important aspects of data storage and error handling, including file management, persistent storage of information, and exception handling.
Furthermore, the subject offers an introduction to data analysis and visualization, utilizing the packages NumPy, Matplotlib, SciPy, and Pandas. Predictive analysis is also included, with data preparation and the application of linear regression models using scikit-learn. The course encourages project work, allowing participants to delve into applications relevant to their own fields of study.
Emphasis is also placed on unit testing and version control with git. The programming environments used are Visual Studio Code and Jupyter Notebook.
Learning outcome
Skills
- Basic concepts of object-oriented programming
- File handling and error handling in Python, including how to read from and write to files, and how to handle exceptions.
- Data analysis and visualization, including the use of libraries NumPy, Matplotlib, SciPy, and Pandas.
- 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.
- Use of programming environments such as Visual Studio Code and Jupyter Notebook, and version control with git.
- Unit testing in Python, including how to write and run tests using the unittest framework.
Competence:
- Understanding and applying programming concepts such as lambda expressions, collections, iterators, and list comprehensions.
- Understanding the principles of object-oriented programming.
- Ability to handle data storage and errors, including file handling, persistent storage of information, and exception handling.
- Understanding and applying basic principles of data analysis and visualization using the modules NumPy, Matplotlib, SciPy, and Pandas.
- Ability to prepare data and apply linear regression models for predictive analysis using scikit-learn.
- Understanding and applying unit testing and version control with git.
- Ability to use programming environments such as Visual Studio Code and Jupyter Notebook effectively.
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
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.
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:
Digital Business Development (ITBAITBEDR)
Energy and the Environment (MTENERG)
Logistics - Engineering (FTHINGLOG)
Recommended previous knowledge
Knowledge equivalent to TDT4109 , TDT4110, TDT4111 (Information Technology, Introduction)
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 |
Subject areas
- Technological subjects