-
+
 
Lärplattformar

Moodle
Fronter


Fristående kurser

Via Öppna högskolan kan du läsa fristående kurser. Läs mer om öppna högskolans kursutbud.

 

Kursbeskrivningar HT2017

Kursbeskrivningar för studerande på IT-programmet som inledde sina studier hösten 2017. Här listas alla kursbeskrivningar för IT-programmets inriktningar.  Kurserna håller på att uppdateras och syns på hemsidan när de är godkända.

 

Kursbeskrivning: Programmering i C++ (I340106)

Utbildningsprogram: Utbildningsprogrammet för informationsteknik

Inriktning: -

Studiehelhet: -

Ämnesområde: Informationsteknik

Kursnamn: Programmering i C++

Kurskod: I340106

Kursnamn på engelska: Programming C++

Studiepoäng: 2

Vitsordsskala: VG, G (för betygssättning)

Lärandemål

Efter avslutad kurs ska den studerande känna till viktiga delar i C++, samt kunna använda dessa modernt och effektivt.
För att uppfylla målet skall den studerande kunna
- redogöra för minnesmodellen i C++
- förklara begreppet RAII och hur det tillämpas i modern C++
- redogöra för de speciella medlemsfunktionerna
- förklara hur typdeduktion fungerar i C++
- implementera funktioner och klasser med templates
- använda C++ Standard Library containrar, iteratorer och parallella algoritmer på ett modernt och effektivt sätt
- förklara innebörden av const och constexpr, och använda dessa
- förklara och använda exceptions i C++ och noexcept
- implementera parallellprogrammering i C++, både med trådar/ mutexes och med async/ futures

After completed course, the student shall know important parts of C++, and be able to use them in a modern and efficient manner.

To achieve the goal, the student shall be able to
- describe the C++ memory model
- explain the RAII concept and how it is applied in modern C++
- describe the special member functions
- explain how type deduction works in C++
- implement functions and classes with templates
- use C++ Standard Library containers, iterators and parallel algoritms in a modern and efficient manner
- explain the meaning of const and constexpr, and use them
- explain and use exceptions in C++ and noexcept
- implement parallel programing in C++, with treads/ mutexes and with async/ futures

Innehåll

- Minneshantering i C++, stack/ heap.
- lvalue, rvalue och forwarding referenser, move, forward
- RAII, smarta pekare
- Speciella medlemsfunktioner i C++. Vikten av att känna till vilka konstruktorer och operatorer kompilatorn genererar automatiskt, fallgropar och best practice.
- templates
- const, constexpr, constexpr if
- C++ Standard Library containrar, iteratorer, parallella algoritmer, auto, lambda, string_view, optional, variant, any
- structured bindings
- Pimpl-idiomet
- exceptions, noexcept
- threads, mutexes, atomic
- futures, promises


- Memory management in C++, stack/ heap.
- lvalue, rvalue and forwarding referenser, move, forward
- RAII, smart pointers
- Special member functions in C++. The importance of knowing the constructors and operators the compiler generates automatically, pitfalls and best practice.
- templates
- const, constexpr, constexpr if
- C++ Standard Library containers, iterators, parallel algorithms, auto, lambda, string_view, optional, variant, any
- structured bindings
- the Pimpl-idiom
- exceptions, noexcept
- threads, mutexes, atomic
- futures, promises

Kurslitteratur och studiematerial

Meyers, S. (2014). Effective modern C++: 42 specific ways to improve your use of C++11 and C++14. Sebastopol, CA: O’Reilly Media. 315s.

En grundläggande bok i C++ rekommenderas som komplement, exempelvis
Lippman, S. B., Lajoie J. & Moo, B.E. (2013). C++ primer. 5. ed. Upper Sadle River, N.J.: Addison-Wesley. (938 s)
eller
Deitel, P.J. & Deitel, H.M. (2013). C++ how to Program. 9. ed. Upper Saddle River, N.J.: Prentice-Hall.1080 s.
Även äldre upplagor med C++98 fungerar i kombination med Meyers.

Meyers, S, (2014). Effective modern C++ :42 specific ways to improve your use of C++11 and C++14.Sebastopol,Calif.: O’Reilly Media.

A basic C++ book is recommended as a complement, for example
Lippman S. B., Lajoie J, Moo B.E., (2012). C++ Primer Fifth Edition: Addison Wesley. 938 s
or
Deitel H.M., Deitel P.J. (2016). C++ How to Program, Tenth Edition. Upper Saddle River, N.J.: Prentice-Hall. 1080 s
Older editions with C++98 also work in combination with Meyers.

Bedömning

VG, G (för betygssättning)

Förkunskaper

Programmering 2, Objektorienterad programmering och design 1 och 2.

Arbetsformer

Föreläsningar, laborationer och inlämningsuppgift.

Lectures, laborations and assignment.

Omfattning av närvaroskyldighet

Obligatorisk närvaro vid laborationer samt vid genomgång av inlämningsuppgift.

Compulsory attendance at laborations and assignment review

Examination

Godkända laborationer, inlämningsuppgift och tentamen.

Passed laboration, assignment and written exam.

Dokumentering

Godkänt vitsord noteras i studiekort. Vid validering används vitsordet Godkänd.

Passed grade will be noted in the study card

Övrigt

-


 

KursnamnKurskodStudiepoäng

Grundstudier

StudieteknikY0107041 sp
Introduktion till informationsteknikI0001032 sp
Introduktion till informationsteknikI0001026 sp
Gruppdynamik och teamutveckling på arbetsplatsenI3406012 sp
Engelska 1Y0312033 sp
Grundläggande forskningsmetodikY0104042 sp
LogikI0003027 sp
EkonomiI0005033 sp

Yrkesstudier

Programmering 1I1601028 sp
Programmering 2I1602026 sp
SystemutvecklingsmetodikI1801016 sp
Människa-datorinteraktionI1802016 sp
DatabaserI1401016 sp
Laboration 1I1606016 sp
OperativsystemI1402026 sp
Objektorienterad programmering och design 1I1609016 sp
Objektorienterad programmering och design 2I1610016 sp
Deklarativ programmeringI1604038 sp
DatabasdesignI1804026 sp
DatakommunikationI1403016 sp
WebbserverteknikI1404026 sp
Programkonstruktion och projekthanteringI18060210 sp
MaskininlärningI1408016 sp
Datorgrafik och multimediateknikI1407026 sp
DesignmönsterI1805023 sp
Laboration 2I1607026 sp

Yrkesstudier, ingenjör YH 240 sp

Elteknik och elektronikI1241022 sp
Digitalteknik 1E1111033 sp
Reglerteknik 1E1085032 sp
Matematisk modellering 1I1501036 sp
Matematisk modellering 2I1501045 sp
Modellering och simuleringE1241025 sp
Modellering och simuleringE1241036 sp
Digitalteknik 2E1112021 sp
Mikroprocessorteknik 1E1121032 sp
Mikroprocessorteknik 2E1122024 sp
Reglerteknik 2E1086044 sp

Valfria studier

IBM System i AS/400I3401056 sp
Testdriven programutvecklingI3801013 sp
Mobila applikationerI3404026 sp
Enterprise JavaI3408033 sp
Programmering i C++I3401062 sp

Praktik

PraktikI40040230 sp

Examensarbete

ExamensarbeteI50010215 sp

Bokmärk och dela