IDATG1001 - Programming 1


Examination arrangement

Examination arrangement: Portfolio
Grade: Letter grades

Evaluation Weighting Duration Grade deviation Examination aids
Portfolio 100/100

Course content

The course will cover 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
  • Introduction to Integrated Development Environment (IDE) and Debugging.

Computer architecture:

  • Important components in computer, organization and operations
  • System architecture and modern process architecture
  • Data representation systems and arithmetic operations
  • Introduction to digital electronic and boolean algebra

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 the 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 (activity diagram, class diagram, sequence diagram, package diagrams)
  • has knowledge of important components in computers and they operate collectively
  • can explain the representation of different data types and how a computer processes them
  • can explain at a high level how the key components in computers work together to get the best possible processing outcomes in relation to computer architecture.

Skills : Candidate:

  • can set up a programming environment to develop, test and run object-oriented programs. (D)
  • 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 (D)
  • can apply basic object-oriented programming paradigms to analyse and solve simple problems.

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 with student active teaching forms such as programming exercises, flipped classroom including student presentations. Guided lab sessions will be conducted with teaching assistants with individual mentoring and assignment solving.

Mandatory assignments:

  • Programming: Mandatory assignments will be provided and 90 % of the assignments must be approved to qualify for the final exam. The assignments will be approved following a discussion on individual submissions.
  • Computer architecture: Project report

Compulsory assignments

  • Mandatory assignments

Further on evaluation

A portfolio assessment provides the basis for a final grade in the course. The folder includes a project and a reflection. Feedback is given during the semester on the contents of the portfolio. In the event of voluntary repetition, failure or valid absence, the entire folder must be retaken at the subsequent completion of the course.

Specific conditions

Admission to a programme of study is required:
Computer Science (BIDATA)
Engineering - Computer Science (BIDAT)

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 To
TDAT1001 6.0 AUTUMN 2019
IMT1031 10.0 AUTUMN 2019
IDATA1001 10.0 AUTUMN 2019
IDATT1001 10.0 AUTUMN 2019
TDAT1003 4.0 AUTUMN 2019
More on the course



Version: 1
Credits:  10.0 SP
Study level: Foundation courses, level I


Term no.: 1
Teaching semester:  AUTUMN 2022

Language of instruction: Norwegian

Location: Gjøvik

Subject area(s)
  • Computer Science
  • Engineering
Contact information
Course coordinator: Lecturer(s):

Department with academic responsibility
Department of Computer Science


Examination arrangement: Portfolio

Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
Autumn ORD Portfolio 100/100





Room Building Number of candidates
  • * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU