Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Mobile- and Web-based Software

    A tantárgy neve magyarul / Name of the subject in Hungarian: Mobil- és webes szoftverek

    Last updated: 2016. január 15.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics

    BSc degree program in Engineering Information Technology 

    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUAC00 5 2/0/2/v 5  
    3. Course coordinator and department Dr. Ekler Péter,
    4. Instructors

    Name:

    Status:

    Department:

    Dr. Péter Ekler

    senior lecturer

    Automation and Applied Informatics

    Dr. Bertalan Forstnerassociate professor

    Automation and Applied Informatics

    Gábor Gincsaiassistant lecturer

    Automation and Applied Informatics

    5. Required knowledge Java language
    6. Pre-requisites
    Kötelező:
    (TargyEredmeny("BMEVIIIAB00" , "jegy" , _ ) >= 2 VAGY
    TargyEredmeny("BMEVIIIA212" , "jegy" , _ ) >= 2)

    ÉS
    (TárgyEredmény( "BMEVIMIAB00" , "aláírás" , _ ) = -1
    VAGY TárgyEredmény( "BMEVIMIA219" , "aláírás" , _ ) = -1)

    ÉS (Training.Code=("5N-A8") VAGY Training.Code=("5NAA8"))

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    7. Objectives, learning outcomes and obtained knowledge

    The aim of the subject is to overview of the different mobile platforms and their common and unique properties. During the course, we will investigate the different tools that are used to develop application on the different platforms. A quick prototype developing methods will also be presented. Furthermore, the course give an overview of the modern web based technologies. Students will get familiar with useful tools for developing multiplatform applications. 

    8. Synopsis

     

    During the course, students get an overview of the latest model platforms and its capabilities. The course teaches the student to be able to choose the most suitable tool and platform for solving a given problem and give the knowledge to estimate the complexity of a project. Furthermore, the method of developing small application for Java Me platform is presented, as well as the basics of Android platform and usage of the Android emulator. The course also presents the method of quick prototype- development method in Python environment. The following techniques will be described: application structure, basic UI, development compiling and installing.

    Besides the mobile platform, modern client based web technologies are also presented with the method of developing web applications for devices with small screen and using development tools for multiplatform.

    Synopsis:

    Lecture

    Content

    1

    Web and mobile client development with modern design patterns. Overview of the common features of the mobile platforms. New mobile devices special hardware’s: Touch screen, fingerprint, accelerometer, gyro, proximity, compass, barometer, camera, different commination technologies, etc. Differences between the development for PC and mobile eminent. Investigation of the mobile devices computational capacities. The main characters of the mobile market.

    2

    First steps of application development for mobile devices. Overview of application development for mobile devices: programming languages, application libraries, development tools (SDK, Emulator)

    3

    Basics of Java Me platform, mobile application life cycle and application state model. Application sate switching, differences between foreground and background processes. 

    4

    Application development for Java Me platform. Presenting the steps of designing and developing a basic UI.

    5

    The principles of persistent data storing on Java Me platform. Key-value based data storing. Data filtering searching, ordering. File handling.

    6

    The principles of network communication on Java Me platform. Presenting the Generic Connection Framework: basics short- and long-term communication, handling HTTP connections.

    7

    Presenting the Android platform and its structure. Compiling methods. Structure of an Android project. Development of basic UI .

    8

    Presenting the modern application lifecycle on Android platform. Android components and their roles: Activity, Service, Content Provider, Broadcast Receiver.

    9

    Network communication and location basics on Android platform. Overview of android application testing.

    10

    Prototype-development for mobile devices with Python. Basics of Python.

    11

    Presenting the available multimedia features of the mobile platforms. UI development with Python.

    12

    Data and network handling with Python. Presenting the features of the in built multimedia devices. Picture handling with Python. In application camera usage.

    13

    Data sharing with Bluetooth. Accessing online services. Data download from a remote server. Complex prototype development techniques.

    14

    Basics of the web based applications. Client-server based network topology with HTTP (session, cookie, etc.) Presenting the concept of the dynamic web.

    15

    HTML basics: language, common tools. CSS: usage of style sheets in html.

    16

    Basics of JavaScript: language, usage of forms and validation.

    17

    Introduction of the HTML DOM: frequently used HTML and JavaScript solutions, basics of JQuery. Mobile Web.

    18

    Development of dynamic webpages: AJAX. Rest communication. Typical usage of JSON. Cross-domain policy.

    19

    Cloud services in mobile environment: IaaS, Paas, Baas, Saas

    20

    Basics of cross platform application development: cross platform application lifecycle.

    Based on the lectures, small applications are developed during the laboratory exercises:

    Laboratory exercise

    Content

    1

    Basic mobile application development with network communication on Java Me platform

    2

    Application development on Android platform.

    3

    Quick prototype-development with Python in SL4A environment.

    4

    Client-server network topology in practice. Simple website development. HTTP traffic monitoring.

    5

    Web page development for mobile devices with the usage of: CSS, JavaScript, JQuery.


    9. Method of instruction Lecture, seminar
    10. Assessment
    During mid-term:
    (1) Attending to Laboratory exercises. Every laboratory starts with small tests to control if the students is ready for the exercise.
    (2) One Mid-term test
    (3) One Homework that has to be prepared roll the 13. mid-term week.
     
    Requirements for signature:
     Participating on the 70% of the laboratory exercises with passed small test.
     Passed mid-term test till the end of the mid-term.
     On time prepared Homework
     
    Exam period: written exam.
     

    For getting mark from the subject signature and passed exam are needed.

    The mid-term test, laboratory practices and homework give the 15-15-20% of the mark. The written exams gives the 50% of the mark

    The minimum requirement on the mid-term and written exam is 40%. 

    11. Recaps

    It is possible to write the mid-term exam again on the supplement week. The homework must be uploaded till the end of 13th week. It can be uploaded one more on the supplement week. One laboratory work can be done again on the supplement week. The supplement week is the week after the semester before the exams.

    12. Consultations It is possible at the office hour of the lecturer and the laboratory leader.
    13. References, textbooks and resources
    Forstner Bertalan, Ekler Péter, Kelényi Imre, Bevezetés a mobilprogramozásba, SZAK Kiadó Kft., ISBN: 9789639863019
    Ekler Péter, Fehér Marcell, Forstner Bertalan, Kelényi Imre, Android-alapú szoftverfejlesztés, SZAK Kiadó Kft., ISBN: 9789639863279
    Paul Ferrill, Pro Android Python with SL4A, Apress, ISBN: 9781430235699
    Ovidiu Iliescu, Programming Pro Java ME Apps. Apress, ISBN: 9781430233275
    RetoMeier, Professional Android 2 Application Development, Wrox, ISBN: 9780470565520
    Bruce Lawson, Remy Sharp, Introducing HTML5 2nd, New Riders, ISBN: 9780321784421
    Elisabeth Robson, Eric Freeman, Head First HTML with CSS & XHTML, O’Reilly, ISBN: 9780596101978
    David Flanagan, JavaScript: The Definitive Guide, 6th Edition, O’Reilly, ISBN: 9780596805524
    Jonathan Chaffer, Karl Swedberg, Learning jQuery 3rd, O’Reilly, ISBN: 9781849516549
    Tanszéki jegyzet elérhető.

    14. Required learning hours and assignment

    Lectures

    56

    Prepare for laboratory

    12

    Prepare for midterm and exam

    40

    Homework

    42

    Sum

    150

    15. Syllabus prepared by

    Name:

    Status:

    Department:

    Dr. Péter Ekler

    senior lecturer

    Department of Automation and Applied Informatics

    Dr. Bertalan Forstner

    associate professor

    Department of Automation and Applied Informatics

    Gábor Gincsai

    assistant lecturer

    Department of Automation and Applied Informatics