Programming C++, 6 credits

Programmera C++, 6 hp

TDDE18

Main field of study

Computer Science and Engineering Computer Science

Course level

First cycle

Course type

Programme course

Examiner

Klas Arvidsson

Director of studies or equivalent

Ahmed Rezine

Education components

Preliminary scheduled hours: 110 h
Recommended self-study hours: 50 h

Available for exchange students

Yes
ECV = Elective / Compulsory / Voluntary
Course offered for Semester Period Timetable module Language Campus ECV
6MICS Computer Science, Master's Programme 1 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla C
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Chinese 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Chinese (Specialization Computer Science and Engineering) 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - French 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - French (Specialization Computer Science and Engineering) 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - German 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - German (Specialization Computer Science and Engineering) 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Japanese 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Japanese (Specialization Computer Science and Engineering) 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Spanish 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIEI Industrial Engineering and Management - International, M Sc in Engineering - Spanish (Specialization Computer Science and Engineering) 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIII Industrial Engineering and Management, M Sc in Engineering 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CIII Industrial Engineering and Management, M Sc in Engineering (Specialization Computer Science and Engineering) 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E
6CITE Information Technology, M Sc in Engineering 7 (Autumn 2017) 1, 2 4, 3 English Linköping, Valla E

Main field of study

Computer Science and Engineering, Computer Science

Course level

First cycle

Advancement level

G2X

Course 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

UPG1Programming assignments4 creditsU, G
DAT1Computer examination2 creditsU, 3, 4, 5

Grades

Four-grade scale, LiU, U, 3, 4, 5

Other information

Supplementary courses

Advanced Programming in C++

Department

Institutionen för datavetenskap

Director of Studies or equivalent

Ahmed Rezine

Examiner

Klas Arvidsson

Education components

Preliminary scheduled hours: 110 h
Recommended 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 = Introduce, U = Teach, A = Utilize
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.