Search programme

​Use the search function to search amongst programmes at Chalmers. The programme overview and the programme syllabus relating to your studies are generally from the academic year you began your studies.

​​​

Syllabus for

Academic year
TDA552 - Object-oriented programming and design
Objektorienterad programmering och design
 
Syllabus adopted 2021-02-26 by Head of Programme (or corresponding)
Owner: TKITE
7,5 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: First-cycle
Main field of study: Software Engineering
Department: 37 - COMPUTER SCIENCE AND ENGINEERING


Teaching language: Swedish
Application code: 52121
Open for exchange students: No
Only students with the course round in the programme plan

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0117 Oral examination 3,0 c Grading: TH   3,0 c    
0217 Laboratory 3,0 c Grading: UG   3,0 c    
0317 Written and oral assignments 1,5 c Grading: TH   1,5 c    

In programs

TKITE SOFTWARE ENGINEERING, Year 1 (compulsory)

Examiner:

Robin Adams

  Go to Course Homepage


Eligibility

General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

This course directly follows the course TDA548 Introductory software development, which, or equivalent, is the prerequisite for this course.

Aim

Software development is central to a software engineer. This course presents the object-oriented programming paradigm and puts emphasis on the design of object-oriented programs.

Learning outcomes (after completion of the course the student should be able to)

Knowledge and understanding
  • describe and explain object-oriented design principles.
  • recognize and explain different object-oriented design patterns, including their purpose and effect.
Skills and abilities
  • use and explain basic object-oriented concepts, such as classes and objects, primitives and references, methods and constructors, variables and fields, etc.
  • use and explain more advanced language mechanisms and techniques, such as exceptions, generics, threads, defensive copying, etc.
  • use and explain inheritance and parametric types, and associated mechanisms, to achieve polymorphism and code reuse.
  • apply design principles and design patterns to achieve sound object-oriented design.
  • design, implement and modify object-oriented programs for a given domain in a sound manner with respect to correctness, modifiability and reusability.
  • perform and describe testing of object-oriented programs.
Judgement and approach
  • analyse and evaluate code according to sound object-oriented design and implementation principles.

Content

The course presents the object-oriented programming paradigm and places great emphasis on program construction and design.

The concepts and techniques are expanded and deepened: methods, objects, abstract and anonymous classes, initialisation, polymorphism, overloading and overriding, implementation and interface inheritance, use of generic types, construction of simple generic classes, exceptions, immutability and defensive copying, and introduction to threads and thread safety etc.

Handling of states, dependencies, modular programs, programming techniques, mutability, design principles, design patterns and the MVC model.

To communicate design, basic parts of the Unified Modelling Language (UML) is used.

Organisation

Exercises, lectures and computer assignments, with supervision.

Literature

Information about literature will be posted on the course web page before the course starts.

Examination including compulsory elements

The course is examined through:

- Oral examination (3 hp, grading scale: U, 3, 4, 5)
- Laboratory (3 hp, grading scale: U, G)
- Written assignment (1.5 hp, grading scale: U, 3, 4, 5)

Computer laborations are conducted in groups of typically 3 students.

The whole course is graded with the scale: Failed (U), 3, 4, 5. To pass the course, at least a grade 3 on both the oral exam and the written report must be achieved, as well as a passing grade (G) on the computer laborations. The grade for the whole course is based on the grades for the oral exam and written assignment. The grade for the oral exam has more weight in the grade for the whole course.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.


Page manager Published: Thu 03 Nov 2022.