Download presentation
Presentation is loading. Please wait.
Published byPaulina Neal Modified over 9 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
© 2025 SlidePlayer.com. Inc.
All rights reserved.