Programming C++, 6 credits
Programmera C++, 6 hp
TDDE18
Main field of study
Computer Science and Engineering Computer ScienceCourse level
First cycleCourse type
Programme courseExaminer
Klas ArvidssonDirector of studies or equivalent
Ahmed RezineEducation components
Preliminary scheduled hours: 110 hRecommended self-study hours: 50 h
Available for exchange students
YesMain field of study
Computer Science and Engineering, Computer ScienceCourse level
First cycleAdvancement level
G2XCourse offered for
- Computer Science, Master's Programme
- Industrial Engineering and Management, M Sc in Engineering
- Industrial Engineering and Management - International, M Sc in Engineering
- Information Technology, M Sc in Engineering
Specific information
Can not be included in the degree together with TDDD33.
Entry requirements
Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshold requirements for progression within the programme, or corresponding.
Prerequisites
Programming experience in at least one imperative language such as Java, Ada or C. Ability to find, read and understand relevant programming documentation such as books, tutorials and reference manuals. Knowledge of common programming control statements, operators and types. Know several of the general concepts of references, pointers, exceptions, classes, functions, dynamic memory, namespace, templates, enumerations and inheritance. Understanding of the program execution environment and insight in one programming paradigm.
Intended learning outcomes
In the course the student will work to gain programming skill in C++. It is not an introduction to programming, but may be used as such if the student is prepared to spend extra time learning the foundations of programming. The course focuses on experimental work aimed to discover and learn concepts and limitations of the C++ programming language, as well as common programming practices. After the course the student will be able to:
- Explain and compare C++ language features and be able to apply them to relevant problems
- Use the programming environment and tools provided by a standard Linux/UNIX system.
- Explain the function of existing C++ implementations and examples.
- Write readable, well structured solutions to small programming problems.
Course content
- Programming: Creating algorithms and problem solving.
- Syntax: C++ language features including control statements, operators and types, references, pointers, exceptions, classes, functions, dynamic memory, templates, inheritance, polymorphism and the standard template library.
- Tools: Programming environment, including the compiler g++, the build tool make, and the text editor Emacs.
Teaching and working methods
The course consists of:
- An introduction to the department's computer system and tools (Linux)
- A set of lectures introducing each of the areas of C++ language that we cover. Participating in lectures, lessons and labs is essential to gain all course content.
- A set of computer laborations performed in pairs.
- Self studies in order to prepare and complete each laboration on time.
- A final individual computer exam with problems covering the topics discussed at lectures, lessons and labs.
The course runs over the entire autumn semester.
Examination
UPG1 | Programming assignments | 4 credits | U, G |
DAT1 | Computer examination | 2 credits | U, 3, 4, 5 |
Grades
Four-grade scale, LiU, U, 3, 4, 5Other information
Supplementary courses
Advanced Programming in C++
Department
Institutionen för datavetenskapDirector of Studies or equivalent
Ahmed RezineExaminer
Klas ArvidssonEducation components
Preliminary scheduled hours: 110 hRecommended self-study hours: 50 h
Course literature
Additional literature
Other
C++ Primer (5th edition or later) by Lippman, Lajoie and Moo, or other relevant book covering C++2011 standard. See course homepage for further material and recommendations.
Code | Name | Scope | Grading scale |
---|---|---|---|
UPG1 | Programming assignments | 4 credits | U, G |
DAT1 | Computer examination | 2 credits | U, 3, 4, 5 |
Regulations (apply to LiU in its entirety)
The university is a government agency whose operations are regulated by legislation and ordinances, which include the Higher Education Act and the Higher Education Ordinance. In addition to legislation and ordinances, operations are subject to several policy documents. The Linköping University rule book collects currently valid decisions of a regulatory nature taken by the university board, the vice-chancellor and faculty/department boards.
LiU’s rule book for education at first-cycle and second-cycle levels is available at http://styrdokument.liu.se/Regelsamling/Innehall/Utbildning_pa_grund-_och_avancerad_niva.
Additional literature
Other
C++ Primer (5th edition or later) by Lippman, Lajoie and Moo, or other relevant book covering C++2011 standard. See course homepage for further material and recommendations.
Note: The course matrix might contain more information in Swedish.
I | U | A | Modules | Comment | ||
---|---|---|---|---|---|---|
1. DISCIPLINARY KNOWLEDGE AND REASONING | ||||||
1.1 Knowledge of underlying mathematics and science (G1X level) |
|
|
|
|||
1.2 Fundamental engineering knowledge (G1X level) |
|
|
|
|||
1.3 Further knowledge, methods, and tools in one or several subjects in engineering or natural science (G2X level) |
|
|
|
|||
1.4 Advanced knowledge, methods, and tools in one or several subjects in engineering or natural sciences (A1X level) |
|
|
|
|||
1.5 Insight into current research and development work |
|
|
|
|||
2. PERSONAL AND PROFESSIONAL SKILLS AND ATTRIBUTES | ||||||
2.1 Analytical reasoning and problem solving |
|
|
|
|||
2.2 Experimentation, investigation, and knowledge discovery |
|
|
|
|||
2.3 System thinking |
|
|
|
|||
2.4 Attitudes, thought, and learning |
|
|
|
|||
2.5 Ethics, equity, and other responsibilities |
|
|
|
|||
3. INTERPERSONAL SKILLS: TEAMWORK AND COMMUNICATION | ||||||
3.1 Teamwork |
|
|
|
|||
3.2 Communications |
|
|
|
|||
3.3 Communication in foreign languages |
|
|
|
|||
4. CONCEIVING, DESIGNING, IMPLEMENTING AND OPERATING SYSTEMS IN THE ENTERPRISE, SOCIETAL AND ENVIRONMENTAL CONTEXT | ||||||
4.1 External, societal, and environmental context |
|
|
|
|||
4.2 Enterprise and business context |
|
|
|
|||
4.3 Conceiving, system engineering and management |
|
|
|
|||
4.4 Designing |
|
|
|
|||
4.5 Implementing |
|
|
|
|||
4.6 Operating |
|
|
|
|||
5. PLANNING, EXECUTION AND PRESENTATION OF RESEARCH DEVELOPMENT PROJECTS WITH RESPECT TO SCIENTIFIC AND SOCIETAL NEEDS AND REQUIREMENTS | ||||||
5.1 Societal conditions, including economic, social, and ecological aspects of sustainable development for knowledge development |
|
|
|
|||
5.2 Economic conditions for knowledge development |
|
|
|
|||
5.3 Identification of needs, structuring and planning of research or development projects |
|
|
|
|||
5.4 Execution of research or development projects |
|
|
|
|||
5.5 Presentation and evaluation of research or development projects |
|
|
|
This tab contains public material from the course room in Lisam. The information published here is not legally binding, such material can be found under the other tabs on this page.
There are no files available for this course.