Download presentation

Presentation is loading. Please wait.

Published byPaulina Neal Modified over 2 years ago

1
Algorithms and Data types: Introduction Dr. Andrew Wallace PhD BEng(hons) EurIng andrew.wallace@cs.umu.se

2
Overview Algorithms Data types Program design Writing code Testing code

3
Algorithms What is an algorithm? Set of instructions for calculating / doing something. Examples Sorting Path finding Item finding Controlling

4
Algorithms History Abū ʿ Abdallāh Mu ḥ ammad ibn Mūsā al-Khwārizmī Brahmagupta 0628 Algoritmi de numero Indorum. Anthyphairesis Euclidean algorithm Euclid's Elements -0299 Gottfried Wilhelm von Leibniz Calculus ratiocinator 1680 Augusta Ada King, Countess of Lovelace 19 th Cent.

5
Algorithms Time and space complexity Analysis Pseudocode Design

6
Data Types What is a data type? A way of classifying pieces of information Useful for computers Examples Primitive Integers, reals, boolean(?) Composite Arrays, struct, unions Abstract Stacks, queues, heaps, trees

7
Data Types Integers int nVar; short intnVar; long intlVar; unsigned intlVar; intnArray[nSize];

8
Data Types Floats / doubles floatfVar; doubledVar; long doubledVar;

9
Data Types Char charcVar; signed charcVar; charstrArray[nSize];

10
Data Types Void void*pVar;

11
Program design The ideal way: Customer specification Program / top level specification Top level design Low level design Implementation

12
Program design Customer specification From the users point of view What to do but not how Program / top level specification Technical What to do but not how!!!

13
Program design Top level design Modelling the system What data? What functions / methods? How to solve the problem?

14
Program design Top level design Structured Analysis / Structured design Data flow Object orientated Encapsulation Agents design Task orientated

15
Program design Low level design Function design KISS Does one thing! Algorithm design Pseudocode

16
Program design Program boundary Program Input Output check function

17
Program design int function (n) check n if error return error else do something clever return 0

18
Program design int function (n) ASSERT(n) do something clever return 0

19
Writing code Hungarian notation Block structure

20
Writing code n – integer nVar l – long lVar f – floatfVar d – doubledVar b – BooleanbVar m_- memberm_nVar o – ObjectoVar fp, i, j

21
Writing code Blocks { } Indentation if … else while.. for …

22
Testing code Does it meet the requirements? Time constraints Space constraints Does it work (bugs?) Usability

23
Testing code Block / function test Assembly / integration test Customer / validation testing function Assembly system

24
Testing code Static Asymptotic analysis Logical proof checking Dynamic Running the code debugger

25
Testing code Debugging Break points Check variables Change variables Jump in and out of code Step through code Look at the memory

26
Questions?

Similar presentations

Presentation is loading. Please wait....

OK

MATH 224 – Discrete Mathematics

MATH 224 – Discrete Mathematics

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on new technology in mechanical Ppt on nuclear family and joint family vs nuclear Ppt on dressing etiquettes meaning Ppt on blue star operation Ppt on revolution of the earth and seasons kids Ppt on non verbal communication skills Ppt on acid-base titration curves Ppt on biodiversity in india Ppt on bluetooth network security Ppt on red fort delhi