2013/2014

62535 C++ for Java programmers

Engelsk titel:

C++ for Java programmers

Sprog:

Point( ECTS )

7,5

Kursustype:

Diplomingeniør
 

Undervisningens placering:

Campus Ballerup

Undervisningsform:

The lessons consist of theory combined with practical exercises and course assignments. During the semester the student will have to hand in a number of mandatory course assignments. These assignments are used as a base for the oral examination.

Kursets varighed:

[Kurset følger ikke DTUs normale skemastruktur]

Evalueringsform:

Bedømmelsesform:

Tidligere kursus:

EJ2C++-U1,

Obligatoriske forudsætninger:

Anbefalede forudsætninger:

Overordnede kursusmål:

C/C++ still holds the absolute leading position in the Open Source community. The amount of existing and still active C/C++ code lines is immense.
The course will focus on differences with Java. Java does many things behind scene; C/C++ has more freedom but is often regarded as more complicated when handling the larger freedom.
The goal is to handle C/C++ especially concerning the many choices this language enables you to use. The expertise you learn in C/C++ will be useful in real job experience in many years from now.

Læringsmål:

En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Define and identify the basic differences between Java and C/C++
  • Define and identify the basic pitfalls using C/C++
  • Define and identify basic distinctive features in C/C++
  • Identify examples of bullits 2. and 3. above in the students own solution, and identify and describe examples in the students own solutions
  • Analyze the consequences of falling into pitfalls in C/C++
  • Analyze some advantages and disadvantages in different generic programming strategies (templates, traits, policy classes, meta programming)
  • Discuss solutions involving items listed in the "Kursusindhold"
  • Reflect on a C/C++ application
  • Discuss quibbling pitfalls in C/C++

Kursusindhold:

• Compilers, linkers, and precompilers.
• Copy constructor, copy assignment operator, and destructor (“big three”).
• Handling of memory. Global, heap, and stack.
• Pointers.
• Operator overloading
• Exceptions
• Inheritance
• Polymorphic behaviours; virtual functions
• Precondition and post condition specifications
• Templates; Generic programming.
• Standard Template Library (STL)
• Smart Pointers
• Traits
• Policy Based Class Design
• Meta programming

Litteraturhenvisninger:

Supplementary literature:
Mark Allen Weiss: ”C++ for Java Programmers, Pearson Prentice Hall, 2004
Andrei Alexandrescu: Modern C++ Design, Generic Programming and Design Patterns Applied, Addison-Wesley, 2001
Herb Sutter, More Exceptional C++, Addison-Wesley, 2002

Bemærkninger:

Evaluation (ref. bullits in Learning Outcomes)
02: if the student fulfils the criteria from bullits (1, 2, 3, 4)
7: if further the criteria from bullits (5, 6, 7) are met
12: if all criteria from bullits (1 through 10) are met

Oral examination based on assignments. Moreover general questions to the topics of the principal content will be raised.
Through the course the students will have to solve a number of compulsory course assignments. To be admitted for examination all compulsory assignments have to be handed in within the time limits indicated in the assignment. Furthermore all assignments have to be approved.

Kursusansvarlig:

Henrik Kold Mikkelsen , Ballerup Campus, rum X 1.75, Tlf. (+45) 3588 5153 , hokm@dtu.dk

Institut:

62 DTU Diplom

Tilmelding:

I CampusNet
Sidst opdateret: 08. juli, 2013