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