TDDE45 - Lecture 8: Wrapping Up Martin Sjölund Department of Computer and Information Science Linköping University 2019-10-17
Part I The exam
What is the purpose of the exam? (2hp) the intended learning outcomes deserve a passing grade (3/C) groups and is hard to document who does what) ◮ Not showing that you fulfjlled the intended learning outcomes ◮ The purpose of the grades (5/A or 4/B) is to show how much you learned beyond ◮ The labs and seminars show that you fulfjlled the intended learning outcomes and ◮ The exam is used to assess individual abilities (the labs and seminars are done in
What could be on the exam? ◮ Anything from the labs ◮ Anything from the seminars ◮ Anything from the articles you read ◮ Anything from the book ◮ Combining the knowledge gained in the course to solve problems
Aids during the exam (also on the course homepage). (Alternative to Wikipedia) You are not expected to memorize every design pattern out there. ◮ The IDA lab computers (with most of the internet blocked) ◮ A PDF of design patterns / design principles (from Wikipedia) will be available ◮ Dicitionary English ↔ native language (physical book) ◮ Design Patterns: Elements of Reusable Object-Oriented Software (physical book).
Format of the exam 1. Read me 2. Explain me 3. Fix me 4. Design me The types of questions are subject to change for re-exams, etc. Since there are only 4 assignments and 6 themes of the course, every topic is not covered on every exam.
How to get the good grades? Final grade: 4 Final grade: 3 1 1 Final grade: 3 1 Final grade: 3 2 2 Final grade: 4 3 2 Each assignment is scored (0/3/4/5) and the fjnal grade depends on frequency of Final grade: 4 3 Final grade: 5 2 2 Final grade: 5 Number of 5’s Number of 4’s Number of 3’s good scores in the assignments. 3
How to get a passing grade? By passing UPG1 and LAB1 you will have fulfjlled the intended learning outcomes and we are sure you did enough work to pass. After the exam, whether you failed or did not attend you are given the possibility to give up on re-exams to try to get grades 4 and 5. Simply email Martin to get a fjnal grade in the course (grade 3/C; requires having passed UPG1 and LAB1). The result will then be reported in a big batch after the exam and deadline for the lab/seminar reports has passed.
Part II Course Summary
Design Principles: SOLID SOLID Motivational Posters by Derick Bailey, used under CC BY-SA 3.0 US
Statically typed languages are good for design Duck typing (Python) has no guarantees. If something fjts, it works.
Design patterns ◮ Strategy ◮ Builder ◮ Factory Method ◮ Adapter ◮ Decorator ◮ Bridge ◮ Template Method ◮ Observer ◮ Composite ◮ Chain of Responsibility ◮ Abstract Factory ◮ Memento ◮ Singleton ◮ Command
Cross-platform design construction ◮ Difgerences between platforms ◮ Internationalization / localization ◮ Unicode
Domain-specifjc languages ◮ Template languages ◮ Shell / scripting languages ◮ Build systems ◮ Building images ◮ Document languages ◮ Language recognition ◮ Special-purpose languages
Meta-programming ◮ Generative programming ◮ Template programming ◮ Refmective programming ◮ Macro programming
Debugging ◮ Caveman ◮ Debugger (dynamic) ◮ Simulator (dynamic) ◮ Static analysis (static)
Testability ◮ Inversion of Control / Dependency Injection ◮ Unpredictable behaviour ◮ Inversion of Control / Dependency Injection ◮ Fakes, mocking ◮ Inversion of Control / Dependency Injection
What you can do with design? ◮ Read design ◮ Improve design ◮ Design from scratch ◮ Design with DSLs, meta-programming, localization in mind
www.liu.se
Recommend
More recommend