Programming 1
| Program start date | Application deadline |
| 2025-09-01 | - |
Program Overview
Course Overview
The course IDATT1003, Programming 1, is a foundation course at level I, offering 7.5 credits. It commences in the autumn of 2025 and spans one semester. The language of instruction is Norwegian, and the course is located in Trondheim.
Course Content
The course covers the following topics:
- Basic principles of object-oriented design and object-oriented programming (OOP) - definitions and concepts in OOP (classes, objects, encapsulation)
- Modelling - Datatypes, logical conditions, loops, logical and arithmetic operations, read and write operations
- Arrays, lists and collections
- Interaction between objects
- Lambda expressions, streams and functional programming used with collections
- Basic exception handling
- Debugging and unit-testing
- Introduction to Integrated Development Environment (IDE)
Learning Outcome
Knowledge
Candidate:
- can demonstrate knowledge in OOP
- can explain what a software program is
- has knowledge of principles such as encapsulation, modularization and interaction of objects within object-oriented programming
- can explain the concepts of modular architecture and its importance in software program design
- can explain good design practices such as coupling and cohesion
- has knowledge of typical life cycles of software design at a high level (design, development and testing)
- can model a class diagram for a given problem and can create basic UML diagrams (e.g., activity diagram, class diagram, sequence diagram, package diagrams)
Skills
Candidate:
- can set up a programming environment to develop, test and run object-oriented programs
- can use professional tools for software development, including AI-based tools, in a critical and reflective manner
- can create structured and well-documented code based on principles of good design practices
- can make use of classes, controls and interaction between objects
- can reuse classes from existing libraries and find relevant classes in API documents
- can apply basic object-oriented programming paradigms to analyse and solve simple problems
- can apply elements from functional programming
- can test and analyse software programs through unit-testing
- can write robust code including throwing and catching exceptions (simple exception handling)
- can use an Integrated Development Environment (IDE) and debugger along with other tools to assure the quality of code
- can apply the concepts of source control and actively use it (theory taught in IDATT1004)
General Competence
Candidate:
- can explain and make use of knowledge for solving problems in simple application scenarios and across different topics
Learning Methods and Activities
Teaching Activities Every Week
- Lectures using student-active learning methods such as teacher-led programming tasks and co-coding (live coding) to solve programming tasks
- Guided lab sessions will be conducted with teaching assistants with individual mentoring and assignment solving
Mandatory Assignments
Mandatory assignments will be provided and 90% of the assignments must be approved to qualify for the final exam
Evaluation
The portfolio assessment, conducted individually, forms the basis for the final grade in the course IDATT1003. The portfolio consists of a programming project and a report, which are submitted together for evaluation at the end of the semester. Guidance is provided along the way through discussions and feedback sessions, held three times during the project period and spread out over time during the semester
Specific Conditions
Admission to a programme of study is required: Computer Science - Engineering (BIDATA) - some programmes
Required Previous Knowledge
Candidate must be admitted to Bachelor in computer science at NTNU
Course Materials
Will be provided at the start of the course
Credit Reductions
Course code | Reduction | From
---|---|---
IDATA1001 | 7.5 sp | Autumn 2023
IDATG1001 | 7.5 sp | Autumn 2023
IDATT1001 | 7.5 sp | Autumn 2023
IDATA1003 | 7.5 sp | Autumn 2023
IDATG1003 | 7.5 sp | Autumn 2023
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
- Computer Science
- Engineering
Examination
Examination arrangement: Portfolio
Grade: Letter grades
The portfolio assessment, conducted individually, forms the basis for the final grade in the course IDATT1003. The portfolio consists of a programming project and a report, which are submitted together for evaluation at the end of the semester.
