De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Mobiel programmeren nJeroen Fokker. Wat heb je nodig? nCollegediktaat uIn afleveringen downloaden en evt.uitprinten nLaptop – bring your own device nMicrosoft.

Verwante presentaties


Presentatie over: "Mobiel programmeren nJeroen Fokker. Wat heb je nodig? nCollegediktaat uIn afleveringen downloaden en evt.uitprinten nLaptop – bring your own device nMicrosoft."— Transcript van de presentatie:

1 Mobiel programmeren nJeroen Fokker

2 Wat heb je nodig? nCollegediktaat uIn afleveringen downloaden en evt.uitprinten nLaptop – bring your own device nMicrosoft Visual Studio Community 2015 uMet Xamarin.Android plugin nAndroid device eventueel gesimuleerd in software / docs / vakken / b1mop

3 Wat gaan we doen? nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt. prakt. 1 prakt. prakt. 2 prakt. 3 werkcoll nOefening (4 werkcolleges) college prakt. 3 werkcoll collegeprakt. 1prakt. prakt. 1 prakt. 2

4 Groeps-indeling Niet zoals in Osiris, maar: n017: kappa, lambda n020: mu, pi n106: rho, sigma n175: tau, phi, psi, omega, overige 1ejaars n103: tweedejaars, keuzevak, premaster n109: ouderejaars

5 Verplichtingen nMeedoen aan 2 deeltentamens nInleveren van 3 practicumopgaven (in teams van 2) Als je er eentje ontbreekt of 40/60-gemiddelde is <5: Aanvullende toets in maart Als je er eentje ontbreekt of 20/30/50-gemiddelde is <5: Aanvullende opdracht in periode 3

6 Hoofdstuk 1 Mobiel Programmeren

7 Programmeren nVon Neumann’s computer-model (1950): computer = + geheugen om waarden op te slaan processor om opdrachten uit te voeren

8 Opdrachten nOpdracht: voorschrift om het geheugen te veranderen nProgramma: lange reeks opdrachten, die één voor één worden uitgevoerd door de processor opdrachten staan zelf ook in het geheugen maar veranderen zichzelf niet

9 Programmeertalen nProgrammeertaal: notatie voor programma’s nsinds 1945: 4000 verschillende talen gepubliceerd

10 Geschiedenis van computers: ~ Difference Engine (ontwerp 1821, bouw 1991) Analytical Engine (ontwerp ) nCharles Babbage

11 Geschiedenis van telefonie: 1875 microfoontelefoon nThomas EdisonnAlexander Bell

12 Geschiedenis van telefonie: 1880 nCommerciële telefoonnetten

13 Geschiedenis van telefonie: 1890 nInterlocaal telefoneren

14 Geschiedenis van telefonie: 1922 nAutomatische centrale, kiesschijf

15 Geschiedenis van computers&programmeren: 1936 nAlan Turing: On computable numbers, with an application to the Entscheidungs- problem

16 Geschiedenis van computers&telefonie: Enigma (Duitse versleutelingsmachine) Bomba (Engels/Poolse crypto-cracking machine)

17 Geschiedenis van computers&programmeren: ENIAC (USA 1943) Z3 (Dld 1941) Colossus (Eng 1943)

18 Geschiedenis van computers&programmeren: nProgrammeertaal: Machinetaal Illiac (USA 1948) Mark-I (Eng 1948)

19 Geschiedenis van computers&programmeren: nProgrammeertaal: Assembler Univac (1951)

20 Geschiedenis van telefonie: Eerste autotelefoons

21 Geschiedenis van computers&programmeren: nProgrammeertaal: Fortran NCR304 (1957) Zebra (NL, 1958)

22 Geschiedenis van computers&programmeren: nProgrammeertaal: Cobol Algol Lisp IBM PDP-1

23 Geschiedenis van telefonie: Automatisch telefoonnet voltooid Commerciële radiotelefonie

24 Geschiedenis van computers&programmeren: nProgrammeertaal: Basic PDP-8 (1966) LINC-8 (1966)

25 Geschiedenis van computers&programmeren: nProgrammeertaal: Pascal PDP-11 (1970)

26 Geschiedenis van computers&telefonie: Apple-][ (1977) Motorola Dyna-Tac (1973)

27 Geschiedenis van computers&programmeren: nProgrammeertaal: C Vax-11 (1981) IBM-PC (1981) Commodore64 (1984)

28 Geschiedenis van computers&programmeren:

29 Geschiedenis van telefonie: : “2G” GSM-netwerk Nokia 1610 (1996) IBM Simon (1994) Kermit (1992)

30 Geschiedenis van telefonie: “PDA” Nokia 3310 (2000)

31 Geschiedenis van computers&programmeren: nProgrammeertaal: C++

32 Geschiedenis van computers&programmeren: nProgrammeertaal: Java

33 Geschiedenis van computers&programmeren:

34 nProgrammeertaal: C# PHP Geschiedenis van computers&programmeren:

35 Geschiedenis van computers&telefonie:

36 Geschiedenis van telefonie&programmeren: Apple iPhone (2007) HTC Dream (2008) Windows Phone (2010) nProgrammeertaal: Objective C Swift nProgrammeertaal: C++ C# nProgrammeertaal: Java C#

37 Geschiedenis van computers&programmeren:

38 Geschiedenis van telefonie: iOS 8.4 (2015) Android 6.0 (2015) Windows 8.1 (2014)

39 Geschiedenis van computers, telefonie, programmeren: Self-driving car E-health

40 Geschiedenis van programmeertalen Assembler Mach.taal Fortran Algol Basic Pascal Simula C C++ Java C# Cobol SQL Lisp Prolog Haskell PHP Perl Python Swift

41 Geheugencapaciteit n65er jaren: 8 kB RAM ponskaarten n70er jaren:16 kB RAM tape n80er jaren:64 kB RAM floppy-disk n85er jaren:640 kB RAM n90er jaren:4 MB RAM harddisk n95er jaren:16 MB RAM CD n00er jaren:128 MB RAM DVD n05er jaren:1GB RAM n10er jaren:8GB RAM Stick / Cloud

42 Programmeer-problemen nvroeger: hoe kan ik het geheugen zo efficiënt mogelijk gebruiken? nnu: hoe kan ik die overvloed van geheugen nog overzien? nMobiel: Hoe spaar ik mijn batterij?

43 Indeling van het geheugen nplaats in het geheugen met een naam ngroepje variabelen dat bij elkaar hoort variabele object ngroepje objecten dat bij elkaar hoort

44 Indeling van het programma nvoorschrift om het geheugen te veranderen ngroepje opdrachten dat bij elkaar hoort opdracht methode klasse ngroepje methoden dat bij elkaar hoort namespace ngroepje klassen dat bij elkaar hoort

45 Programmeer-paradigma’s Imperatief Procedureel Object- georiënteerd FortranBasic PascalC C++Java Declaratief Functioneel Logisch Lisp Haskell Prolog Assembler Algol Simula C# Swift

46 Vertalen 1/5: Assembler nEen assembler vertaalt machine-specifieke broncode naar objectcode, die vervolgens kan worden uitgevoerd.asm sourcecode voor processor 1.exe machinecode voor processor 1 Assembler voor processor 1.asm sourcecode voor processor 2.a machinecode voor processor 2 Assembler voor processor 2

47 Vertalen 2/5: Compiler nEen compiler vertaalt de broncode naar machine-specifieke objectcode, die vervolgens kan worden uitgevoerd.cpp sourcecode.exe machinecode voor processor 1 Compiler voor processor 1.a machinecode voor processor 2 Compiler voor processor 2

48 Vertalen 3/5: Interpreter nEen processor-specifieke interpreter leest de broncode en voert die uit.php sourcecode Interpreter voor processor 1 Interpreter voor processor 2

49 Vertalen 4/5: Compiler+Interpr. nEen universele compiler vertaalt de broncode naar een bytecode, die gemakkelijk kan worden geïnterpreteerd.java sourcecode Interpreter voor processor 1 Interpreter voor processor 2.class bytecode Compiler

50 Vertalen 5/5: Compiler+Compiler nEen compiler vertaalt de broncode naar een intermediate language, die vervolgens wordt gecompileerd Compiler.exe machinecode voor processor 1.cs sourcecode Compiler voor processor 1.a machinecode voor processor 2 Compiler voor processor 2.il Intermediate language

51 Vertalen 5/5: Compiler+Compiler nEen compiler vertaalt de broncode naar een intermediate language, die vervolgens wordt gecompileerd Compiler.exe machinecode voor processor 1.cs sourcecode Compiler voor processor 1.a machinecode voor processor 2 Compiler voor processor 2.il Intermediate language Compiler.vb sourcecode

52 “Code”

53


Download ppt "Mobiel programmeren nJeroen Fokker. Wat heb je nodig? nCollegediktaat uIn afleveringen downloaden en evt.uitprinten nLaptop – bring your own device nMicrosoft."

Verwante presentaties


Ads door Google