course-details-portlet

AIS1003

Object-oriented programming for cyber-physical systems

Choose study year
Credits 7.5
Level Foundation courses, level I
Course start Autumn 2024
Duration 1 semester
Language of instruction Norwegian
Location Ålesund
Examination arrangement Portfolio

About

About the course

Course content

The course contains a selection of the following topics, with focus on application toward cyber-physical systems:

  • Basic object-oriented programming and design.
  • Basic concepts related to object-oriented programming (classes, class hierarchy, objects, encapsulation, polymorphism etc.).
  • Code modularisation and re-use.
  • Introduction to build systems, integrated development environments (IDEs), debugging, unit-testing and version-control.
  • Introduction to basic data structures (e.g., arrays, lists, hash-maps, trees)
  • Memory and error management.

More details on the curriculum will provided during the start of semester.

Learning outcome

The following learning outcomes are formulated with application toward cyber-physical systems in mind.

Knowledge

  • The candidate can explain simple concepts within object-oriented programming such as encapsulation, modularisation, and cooperative objects.
  • The candidate can formulate principles for good design of code (coupling/cohesion), code quality and coding style, and why this is important in software design.
  • The candidate can write cross-platform, testable and re-usable code.
  • The candidate can identify and use basic data structures to best solve a given problem.

Skills

  • The candidate can apply a basic object-oriented mindset for analysis and problem solving.
  • The candidate can configure simple programming environments for development, testing, and running object-oriented programs.
  • The candidate can construct structured, clear, well-behaved and well-documented programs based on principles for good code design.
  • The candidate can apply classes (including from libraries), control structures and cooperation between objects, as well as navigate in API documentation
  • The candidate can use an integrated development environment (IDE) proficiently.
  • The candidate can use a debugger for examining code during run-time and write unit tests.
  • The candidate can model and implement elements of a typical cyber-physical systems using object-oriented concepts.

General competence

  • The candidate can communicate and discuss code solutions and explain how a program behaves.
  • The candidate can find and apply tools and documentation related to the programming language and the standard library.
  • The candidate is aware of programming aspects that can affect information security.
  • The candidate can transfer object-oriented concepts to other languages.
  • The candidate can use computational thinking and cybernetics systems thinking for solving engineering problems and for breaking larger problems into smaller ones that can be solved separately and joined together as more complex systems.

Learning methods and activities

Learning activities generally include a mix of lectures, tutorials and practical lab/project work. A constructivist approach for learning is endorsed, with focus on problem solving and practical application of theory.

Further on evaluation

The final grade is based on an overall evaluation of the portfolio, which consists of a number of works delivered through the semester. The portfolio contains assignments that are carried out, digitally documented and submitted during the term. Both individual and team assignments may be given. Assignments are designed to help students achieve specific course learning outcomes, and formative feedback is given during the period of the portfolio. The re-sit exam is an oral exam in August.

Specific conditions

Admission to a programme of study is required:
Automation and Intelligent Systems - Engineering (BIAIS)

Required previous knowledge

The course has no prerequisites. It is a requirement that students are enrolled in the study programme to which the course belongs.

Course materials

An updated course overview, including curriculum, is presented at the start of the semester and may also include English material.

Credit reductions

Course code Reduction From
AIS1002 7.5 sp Autumn 2023
This course has academic overlap with the course 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 and Information Science
  • Engineering Cybernetics
  • Engineering

Contact information

Course coordinator

Department with academic responsibility

Department of ICT and Natural Sciences