Academic year 2014-15
Protocols and Distributed Applications
Degree: | Code: | Type: |
Bachelor's Degree in Computer Science | 21415 | Compulsory subject, 2nd year |
Bachelor's Degree in Telematics Engineering | - | - |
Bachelor's Degree in Audiovisual Systems Engineering | 22671 | Optional subject |
ECTS credits: | 4 | Workload: | 100 hours | Trimester: | 3rd |
Department: | Dept. of Information and Communication Technologies |
Coordinator: | Dolors Sala |
Teaching staff: | Dolors Sala, Kamruddin Nur |
Language: | Català i Anglès |
Timetable: | |
Building: | Communication campus - Poblenou |
The course distributed protocols and applications (PAD) is a course part of the teaching block in networks. It is offered after the first year course “Xarxes i Serveis” (Computer and services - XS). Hence basic concepts of networks are known. However, the first chapter of the course is a review of the networking concepts needed in the course.
PAD studies the high layers of the OSI stack focusing, and pi rely in the application layer and in particular on distributed applications based on the client-server model. These applications are studied from the use, configuration and maintenance perspective (but not from development and programming perspective). The security initial concepts are just introduced in this course.
The course gives a lot of weight the practical part acquiring experience as system administrator responsible to install and maintain these services in a small company.
The PAD subjects continue in the course “Desenvolupament d’aplicacions distribuïdes” (development of distributed applications - DAD). DAD works the distributed applications from the development perspective to focus on programming and skills and targetting the peer-to-peer. Security related issues are addressed in an optional course called “Estratègies de Seguretat en Xarxes i Serveis” (Security Strategies in networks and services – ESXS). This course is fully dedicated to security addressing all levels of the OSI stack. At the same time as PAD, there is the course d’Arquitectura de Xarxes ( Network Arquitectures - AX) which studies the low levels of the OSI network design
None.
Specific competencies |
|
C1 |
Understand the networking infrastructure that is needed for the distributed applications to operate |
C2 |
Understand the basic concepts in security |
C3 |
Understand the socket functionality and know how to use it to implement communications in the network |
C4 |
Understand the need and functionality of DHCP and know how to install and configure a DHCP server |
C5 |
Understand the need of the domain name in the network and know how to define domain names for a particular context and know how to put it in practice installing and configuring and DNS server |
C6 |
Understand and know how to configure and define usage policies of the most important client-server distributed applications (email, http, ftp) |
C7 |
Know how to identify the level of quality of server an application needs to operate well and understand and know how to apply the appropriate QoS functionalities |
C8 |
Ability to manipulate concepts and functionalities in real applications over physical equipment and corresponding software |
C9 |
Ability to understand user, installation and configuration manuals of software and hardware equipment |
C10 |
Understand the role and know how to perform the responsibilities of a a computer system engineer responsible of the internet application and services of a company |
Generic Competencies |
|
Instrumentals |
|
C11 |
Reasoning and abstraction abilities |
C12 |
Abilities to tackle problems/projects of reasonable complexity and size independently |
Interpersonal |
|
C13 |
Ability to work in teams |
Systematic |
|
C14 |
Initiative |
The course gives the same weight to the theory and lab, 50% each. There are additional activities to improve grade once the course is already passed (basic grade >= 5).
The following table provides the exact detail of the grading of the course:
Evaluation |
|
|
Theory |
50% |
|
1er Block Exam (“Parcial”) (1) |
40% |
|
2n Block Exam (1) |
50% |
|
Theory summaries submitted electronically (2) |
10% |
|
Lab |
50% |
|
Lab 1-6 (1) |
10% |
|
Final Project (1) |
20% |
|
Lab performance (individual and for each lab) (1) |
20% |
|
Total |
100% |
|
Hand-submission in class of theory summaries “presencials”) (2) Optional Activities (to improve grade if course is already passed >= 5) (3) |
5% 20% |
125% |
|
|
|
Each lab assignment is evaluated separate as follows |
|
|
Lab report (group) (1) |
50% |
|
Written lab exam (individual) (1) |
50% |
|
(1) To pass the course it is required to pass (grade >= 5) each individual part o lab assignment separately. |
|
|
(2) Non-compulsory Submissions. It is required to submit at least 50% of submissions to get partial grade. |
|
|
(3) You can propose additional activities to improve your grade up to 20% of the final grade (added to final grade only if course is already passed). Exact details to be decided based on proposal. |
|
Theory is evaluated with two exams dividing the subjects in two blocks. It is required to pass each block individually to pass the course. The first block is evaluated in the middle of the quarter (“examen parcial”) and if not passed there is a second chance in June. The second block is evaluated in June and if not passed there is a second chance in July. Both blocks have a second chance to pass, and no more. There is no option to evaluate the first block in July as this would be a third chance for the same content.
It is expected to study the theory along with the lectures in order to synchronize the learning process between lectures and lab sessions. With this goal, it is required to submit summary reports in the theory sessions. These reports are submitted electronically before the next session. These reports are used in the initial review done in the theory session on the previous session. Hence it is expected a very active student participation using the report as basis. In order to motivate this participation, there is an extra 5% for the hand submission of the reports of students attending the session.
The evaluation of lab abilities is done by a written exam and an oral defense in the lab, both evaluated individually, in addition to the lab reports submitted in groups. The lab exam evaluates each lab separately and it is required to pass each lab question to pass the lab exam, and hence the course. Therefore, each lab assignment has a grade composed of the grade of the report (group grade) and the individual grade of this question in the written exam. In addition, there will be a lab performance grade that will evaluate in the lab the knowledge of each individual lab assignment orally (demo day).
The lab assignments (included final project) are done in group. All written and oral exams of the course are individual. The theory summaries are done individually. It is expected that these summaries are the result of the individual study and hence it is not allowed to share information between students. At the same time, it is expected a full participation of all team members in group activities and the authors of the document have to be full participants of the content. If someone does not participate enough do not put the name and inform the professor and let’s discuss it to find solutions.
If we detect copy of individual reports, or no participation in group work without notifying we will act immediately assuming the same responsibilities of all parts (the person who copied, who let copy his work and with all team members in group submissions). All people involved will lose the right to be evaluated in the course and will open a file (“expedient”).
Only written exams have a second chance to be evaluated. The rest of evaluation is continuing evaluation that cannot be repeated if failed.
The course is divided in 10 subjects. These subjects are grouped in 4 blocks as follows:
Basic concepts on Networking
Networking infrastructure for distributed applications
Examples of client-server applications
Advanced concepts on protocol design
The following knowledge is acquired with these subjects:
Concepts |
||
OSI Model |
Protocol |
Data Encapsulation |
Sub-net |
Client-server vs peer-to-peer architectures |
Sockets |
DNS |
Thread, attacks |
Trust in security |
Security service |
Digital certificates and signatures |
|
Web |
|
File transfer |
Procedures |
Packet routing through path establishment or datagram |
Public key and private Cryptography |
Cipher and hash functions |
Authentication |
DHCP |
HTTP(s) |
Install and run an application server |
Install and run an application client |
Know how to configure an application to represent a particular use scenario |
Attitudes |
Decision to install and configure client and servers |
Interpret an application configuration as an strategy and not just a set of numbers |
The course has a very practical orientation focusing a large portion of the student independent work in lab assignments and the final project. The project report has to demonstrate the conceptual and practical knowledge of the role of an engineer as system administration of the internet services of a company and the applications it runs. We want to assure that ALL students acquire the practical competencies even working in groups.
We are every day users of the applications studied in the course. Some students may even have fluent or even expert knowledge in particular applications that fit in the context of the course. We can use this experience to consolidate the knowledge and meet the objective competences of the course. Hence, the course contemplates optional activities with the intention to exploit the relevant practical experience of the students attending the course with the intention to use these experiences as example for the formal engineering knowledge to be consolidated in the course. It is important to highlight that the course objective is to specialize this user level knowledge to a high level technical engineering knowledge of the same.
The course defines a framework so that each student can take the course closer to his/her experience profile and hence identify the framework that better motivates him/her to acquire the target competencies to acquire. With this intention we embrace students to propose optional activities based on his experience and interests related to the course general course subject of client-server distributed applications. As example, if you know or are interested in studying one in particular proposes to do it as optional activity. Other options are additional theory readings. In order to manage these proposals there is a period to collect these intentions. See the “propostes opcionals” in aula global for exact date.
The course has three types of class sessions:
Project definition: As discussed above, the final project is similar to a lab assignment but a little longer, less guided and more open-ended. Th e lab sessions of the final project are free-style where each group works the final project and the lab instructor is available to consult. These sessions are done also in the lab. The assignment of the project is presented at the beginning of the course as target for what abilities to acquire during the entire course and what to produce to consolidate them. The project assignment is the same for all teams but if any team wants to do something different they can propose it in the optional activities (before the established period to have time to study and prepare it) and it can be discussed with the lab instructor. The proposal will be accepted as long as it allows acquiring the competencies objective of the course. The lab instructor will inform the group if the proposal is accepted substituting the standard project or if there is any combination. If the resulting project, substituting the standard, is of very good quality the grade could be up to 120% of normal grade. If it is an additional project it can increase 20% the grade of the standard project. The project evaluation will be done with a written project report and a practical demo in the lab where all students of the team must show participation and fluency in the work presented. It is required to notify the interest to do a different project or additional project within the established period to have time to study and prepare it (see aula global for exact date).
[1] Kurose, J. F., Ross, K. W, “Computer Networks, A Top-Down Approach Featuring the Internet”, Pearson Addison Wesley. 2010
[2] Douglas Comer, "Internetworking with TCP/IP Volume I: principles, protocols and architecture", 5th Edition, 2006, Ed. Prentice Hall.
[3] W. Stallings, Cryptography and Network Security: Principles and Practice, 5th Edition, 2010, Ed. Prentice Hall.
[4] Andrew Tanenbaum, “Computer Networks”, 4th Edition, 2003 Pearson Education Inc.