Print

Introduction to Programming for Engineers

Code

IT-PRG1

Version

2.0

Offered by

ICT Engineering

ECTS

5

Prerequisites

Basics in algebra, calculus, probability, and statistics. Prior programming experience is not required.

Main purpose

​​The long-term goal of this course is to provide participants with a solid understanding of the thinking and methods behind programming and IT technologies, often labelled “computational thinking".

The short-term aim of the course is to enable the participant to use programming to solve a wide range of common place engineering task with special emphasis on data analysis.

The course also gives the academic basis for studying Machine Learning and A.I. The course is aimed at people who have not previously worked with programming.​

Knowledge

After completion of the course, the student must be able to:

Account for the following basic programming concepts:
- data types
- operators
- variables
- control structure
- conditions
- loops
- functions
- recursion
- exceptions
- inheritance

Demonstrate knowledge about the following basic algorithmic techniques:
- Sorting
- binary search

Additionally, the student will be able choose an appropriate method for
- file-based input/output
- testing and debugging​

Skills

Following completion of the course, the student can:
- Use basic programming concepts and simple algorithmic techniques
- Prepare an engineering problem into sequences that can be transferred to code
- Prepare simple programs and applications that can automate engineering tasks
- Use standard libraries for engineering purposes

Competences

Following completion of the course, the student can:
- Create well-structured programs and perform testing of these
- Create programs and scripts for solving engineering problems

Topics

Teaching methods and study activities

​The mode of teaching will be classroom based and will involve short lectures by the teacher followed by practical exercises made in class. The students are also expected to work on the practical exercises both before and after classes. Emphasis is placed on practical programming. The total work-load for the student is expected be around 130 hours.

Resources

The student must install Python version 3.7 or greater and be able to work in the Jupyter environment. The student is also welcome to get acquainted with Google Colab.

Evaluation

Examination

Exam prerequisites:
At the end of the course, the student must upload a written summary of their 6 programming assignments that make up a portfolio of Python programs and of their group project, a total of 5 pages. The summary must include a brief reflection of the learning outcome of solving each of the assignments/group project and may include the docstrings that were written in the programs.

Exam type:
The exam is a 20-minute oral examination that departs from one of the six assignments that the student made during the semester. The exam will also include an examination of the group project assignment. The final grade will be based on an overall assessment of the six assignments, the group project, and the oral examination. All assignments and projects are programming assignments.
Internal assessment.

Tools allowed:
All allowed for the project and the small assignments. At the exam, the student is expected to show their programs which means they must bring a working laptop that is able to display and run their code.

Re-exam:
If the portfolio or group project are deficient, the student(s) will have to make the necessary adjustments based on input from the teacher. An oral examination will then follow.​

Grading criteria

Grading based on the Danish 7-point scale.

Additional information

Responsible

Richard Brooks (rib)

Valid from

8/1/2023 12:00:00 AM

Course type

Electives
6. semester
7. semester
Elective for the specialization District Heating
Elective for the specialization Waste Water Supply
Elective for the specialization Water Supply

Keywords