vissza a tantárgylistához   nyomtatható verzió    

    Client Side Technologies

    A tantárgy neve magyarul / Name of the subject in Hungarian: Kliensoldali technológiák

    Last updated: 2015. november 13.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUAC02 6 2/1/0/v 4  
    3. Course coordinator and department Dr. Kővári Bence András,
    Web page of the course https://www.aut.bme.hu/en/Course/BMEVIAUAC02
    4. Instructors
    Name Department
    Dr. Hassan Charafassociate professorDepartment of Automation and Applied Informatics
    Dr. Bence Kővárisenior lecturerDepartment of Automation and Applied Informatics
    5. Required knowledge Software Techniques, Databases
    6. Pre-requisites
    Kötelező:
    (Szakirany("AMINszoftfejlAUT", _) VAGY
    Szakirany("AMINszoftfejlIIT", _) VAGY
    Szakirany("AMINszoftfejlMIT", _) VAGY
    Szakirany("VIABI-SOFTWE", _) )


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

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:
    Software Techniques, Data Driven Systems
    7. Objectives, learning outcomes and obtained knowledge

    The aim of the subject is to give the students an insight into the basic principles and fundamental technologies of client side application development. The subject introduces the major user platforms (tablet, desktop and mobile), and the corresponding principles of ergonomic user interface development. The students will learn to use the user interface development toolkits of the popular technologies (.NET, Java) for developing thick clients and thin clients (ASP.NET, HTML5, JavaScript). The subject also discusses data binding and form generation techniques.

     

    The subject incorporates several UI design questions: through the MVC/MVVM design pattern the students can experience, how it is possible to separate the design from the business logic and thereby parallelize the work of the developer and the designer. During the semester, students get the opportunity to try out the above approaches themselves during the seminars.

    8. Synopsis

    The schedule of the course:

     

    Lecture

    Lecture content

    1.

    Client side technologies in a multi-layer architecture

    2.

    Client side design pattern, logging, error handling, naming conventions

    3.

    Data binding and database handling in Windows Forms

    4.

    GDI, GDI+, XAML, multithreading, Dependency/Attached properties, Visual, DPI independent drawing, asynchronous programming

    5.

    Controls, data binding, templates, resources, styles, triggers, event handling, MVVM, 3D, document management

    6.

    Control hierarchy, resizing, positioning, transformations, layout engine, validation

    7.

    Ergonomy of enterprise and consumer applications

    8.

    Desinging for touch screen, compariosn of multiple platforms (iOS, Android, Windows 8)

    9.

    Development of Windows Store applications (architecture, programming modell, functions)

    10.

    ASP.NET MVC – REST, Routing, Area concept, role and concept of Model, View and Controller, helper classes

    11.

    HTML5 syntax, canvas, drag-and-drop, web storage, geolocation, File API

    12.

    Cascading Style Sheets (CSS) language, selectors, declarations, inheritance, positioning, usage patterns

    13.

    jQuery, Selectors, Document traversal, events, effects, AJAX, plugins

    14.

    Data handling with JavaScript, data binding, input validation (Konockout)

    15.

    Language elements of TypeScript, header files, classes, interfaces, anonym functions

    16.

    Clients for the cloud (cloud services, distributed architecture)

    17.

    Ergonomy of Java applications

    18.

    Designing appplications with JavaFX (FXML, Canvas API)

    19.

    Basics of Windows Phone application development

    20.

    Windows Phone – sensors, design patterns

    21.

    Basics of iOS application development

    During the seminars, held in computer laboratories, students will solve tasks in connection to the lectures:

    Seminar

    Seminar content

    1.

    Windows Forms (data binding, 2 tier, 3 tier architecture, database handling)

    2.

    WPF basic concepts, styles, templates, dependency properties

    3.

    Windows Store development, MVVM design pattern

    4.

    ASP.NET MVC basics through a sample application

    5.

    Extending an existing ASP.NET MVC application to use JQuery based client scripts

    6.

    JavaFX based client development

    7.

    Design and development of a mobile application

     

    9. Method of instruction Lecture, seminar
    10. Assessment

    During the semester

    1. One midterm exam

    2. Students are required to write a report during each seminar.

     

    In order to receive signature for the course, students must:

    - submit at least 5 reports along with the executable software and source code on time, and the grade average of the reports must be at lest 2 (graded 1 to 5)

    - must pass the midterm exam, and 

    - the student must be present at the seminars as required by the Code of Study and Exams.

     

    In the exam period: 

    Written exam.

    The midterm exam and seminars yield 20-20%, and the exam yields 60% of the final grade.

    11. Recaps The midterm exam can be repeated during the repeat period in accordance with the Code of Studies and Exams.
    12. Consultations Arranged on demand by the lecturer or instructor.
    14. Required learning hours and assignment
    Contact class56
    Preparation for classes during the semester21
    Preparation for the midterm exam and final exam15
    Preparing homework0
    Reading assigned materials0
    Preparing for the final exam28
    Sum120
    15. Syllabus prepared by
    Name Department
    Dr. Hassan Charafassociate professorDepartment of Automation and Applied Informatics
    Dr. Bence Kővárisenior lecturerDepartment of Automation and Applied Informatics