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
01-08-2023 00:00:00
Course type
Elective for Civil Engineering
6. semester
7. semester
Elective for the specialization Sustainable Energy Design
Elective for the specialization Construction Management and Geotechnical Engineering
Elective for the specialization Infrastructure
Elective for the specialization Structural Design
Forår
Keywords