Advanced programming in C++
Faculteit | Science and Engineering |
Jaar | 2020/21 |
Vakcode | WBCS035-05 |
Vaknaam | Advanced programming in C++ |
Niveau(s) | bachelor |
Voertaal | Engels |
Periode | semester II a |
ECTS | 5 |
Rooster | rooster.rug.nl |
Uitgebreide vaknaam | Advanced programming in C++ | ||||||||||||||||
Leerdoelen | After successfully completing this part of the C++ course you are able to: 1) design and use function templates as well as class templates; 2) explain the template parameter deduction process; 3) explain why Substitution Failure Is Not An Error (SFINAE); and to explain how this principle affects template selections; 4) define (partial) specializations for class templates; and to explain why function templates do not support partial specializations; 5) design and implement variadic templates; 6) use tuples to return structured types from functions, and use them to define differently typed variables in the initialization sections of for-, if-, and switch statements; 7) define statically polymorphic classes, preventing the software from having to use dynamic or late binding; 8) use template meta programming to convert values to types, to define the organization of classes based on its template parameters, and to use compile-time selection and iteration without creatng any run-time executed code; 9) use template concepts to specify the requirements of template type arguments; 10) use precompiled headers and/or modules to reduce compilation times and to avoid the use of include guards in header files; 11) use transactional memory to avoid having to protect statements executed in multiple threads by mutexes; 12) use code generators instead of designing lexical scanners and syntax parsers ‘by hand’. |
||||||||||||||||
Omschrijving | Continuing after Programming in C++ participants are at the level where they are familiar with all standard and predefined elements of the C++ programming language and are able to design understandable and maintainable large-scale C++ programs. Advanced Programming in C++ continues from there, and strongly focuses on compiler performed code generation. | ||||||||||||||||
Uren per week | |||||||||||||||||
Onderwijsvorm | Hoorcollege (LC), Opdracht (ASM), Practisch werk (PRC) | ||||||||||||||||
Toetsvorm | Opdracht (AST), Practisch werk (PR), Presentatie (P) | ||||||||||||||||
Vaksoort | bachelor | ||||||||||||||||
Coördinator | J. Bokma | ||||||||||||||||
Docent(en) | J. Bokma ,dr. F.B. Brokken | ||||||||||||||||
Entreevoorwaarden | Programming in C++ (WBCS034-05) or comparable | ||||||||||||||||
Opmerkingen | Enrollment via ProgRESS.WWW -- Contrary to other CS bachelor courses, this course does NOT have limited enrollment for non-CS students. |
||||||||||||||||
Opgenomen in |
|