Academic year 2015-16
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, Srinivas Nidhra |
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 |
Understand basic concepts of quality of service in networking |
C8 |
Ability to manipulate concepts and functionalities in real software applications |
C9 |
Ability to understand user, installation and configuration manuals of software |
Generic Competencies |
|
Instrumentals |
|
C10 |
Reasoning and abstraction abilities |
Interpersonal |
|
C11 |
Ability to work in teams |
Systematic |
|
C12 |
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 below provides the exact detail of the grading of the course.
Theory evaluation is done in two parts both evaluated in a written exam. Part 1 is evaluated in the midterm exam and Part 2 is evaluated at the end of the quarter (during official exam period). Each part can be recovered separately in July if not passed. The exams are formed of short questions of the same type prepared by students in the submitted theory summaries. The report submissions count as extra to the exam grades.
The evaluation of lab abilities is done by a written exam and lab assignments including a project elaborated along the course. Each lab assignment puts in practice one topic of the course. The project is a real framework to work all concepts and each assignment has a project section to apply the concepts in the assignment to the team project. Therefore, the project is evaluated as part of each individual lab assignment, and there is a fix percentage of 15% grade dedicated to the project in each assignment. The lab and project are worked out in teams and it is expected that all team members participate actively in the lab sessions and development of reports. To promote this, 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. In addition there is a lab performance grade where the lab instructor evaluates the student attitude and participation in the lab work. Therefore, each lab assignment has a grade composed of the grade of the report (group grade) and the individual grade of the corresponding question in the written exam.
The lab assignments are done in teams. All written exams and performance grades 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 team 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 we will open a file (“expedient”).
Only written exams have a second chance to be evaluated in July. The rest of evaluation is continuing evaluation that cannot be repeated if failed. Exceptions can be made at instructors’ criteria (for border-line submissions or cases).
Evaluation |
|
Theory |
50% |
Theory Written Exam Part 1 (1) |
50% |
Theory Written Exam Part 2 (1) |
50% |
Lab |
50% |
Lab Written Exam (one question per lab report) (1) |
50% |
Lab Reports (includes project in each report) (1-5) (1) (2) |
40% (5x8%) |
Lab performance (1) |
10% |
Total |
100% |
Extra Grading (if course already passed >= 5) (3): Theory summaries submitted electronically (3) Hand-submission in class of theory summaries “presencials” (3) Other Optional Activities (4) |
10% 5% Up to 20% |
|
|
Each lab assignment is evaluated separate as follows |
|
Lab report (group) (1) |
50% |
Question on written lab exam (individual) (1) |
50% |
(1) To pass the course is required to pass (grade >= 5) each individual part (exam part 1, exam part 2 and each lab question in lab exam, and lab performance) separately.
|
|
(2) The project counts 15% of total grade report in each report. |
|
(3) Non-compulsory Submissions to add extra grade to theory final grade. It is required to submit at least 50% of submissions to get partial grade. |
|
(4) You can also 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.
|
|
Extra grading above the 100% applies only when the course is already passed. It helps improve grade but not to pass the course. |
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 |
DHCP |
Thread, attacks |
Security service |
Digital certificates and signatures |
Trust in security |
Web |
|
File transfer |
Procedures |
Packet routing through path establishment or datagram |
Public key and private Cryptography |
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. The lab assignments and specially the project section puts the students in the role of an engineer as system administration of the internet services (distributed client-server applications) of a company. We want to assure that ALL students acquire the practical competencies while working in teams.
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: The project defines the framework for all lab assignments and hence it is proposed early in the quarter although it is worked out along the different lab assignments. The project evaluation is done through the lab reports within the sections dedicated to the project, and it accounts for 15% of the grade in each lab report.
Since the course topics are very common in our every day life, if there is anyone interested in exploring additional activities related to the course concepts, you can propose and they will be rewarded with extra grade (once the course is passed with the regular requirement). It is required to notify the interest to do an additional activity 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.