Checking date: 22/05/2025 17:32:24


Course: 2025/2026

Network Programming
(20662)
Bachelor in Internet Engineering (Plan: 584 - Estudio: 215)


Coordinating teacher: ALARIO HOYOS, CARLOS

Department assigned to the subject: Telematic Engineering Department

Type: Compulsory
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
Programming (1st course, 1st semester)
Objectives
The objective of this course is for the student to deepen their knowledge of programming techniques, including advanced object-oriented programming (OOP), as well as some commonly used data structures and algorithms, going through the process of software project design and development. The programming language used in the course is Java; however, the core skills acquired will be of a general nature so that they can be applied to other commonly used languages. This subject is taught in a coordinated manner across different degree programs. The expected learning outcomes are as follows: Knowledge and Content - K4-CG11 Basic concepts of computer use and programming, operating systems, databases and IT programs with engineering applications. Skills and Abilities - S1-FT To plan and organize teamwork by making the right decisions based on available information and gathering data in digital environments. - S3-CG3 Knowledge of basic and technological subject areas which enable acquisition of new methods and technologies, as well as endowing the technical engineer with the versatility necessary to adapt to any new situation. - S7-ECRT7 Knowledge and use of the fundamentals of programming in telecommunication networks, systems and services. Competencies - C1-FT To know and be able to handle interpersonal skills on initiative, responsibility, conflict resolution, negotiation, etc., required in the professional environment. - C18-ETEG2T To know and be able to handle interpersonal skills on initiative, responsibility, conflict resolution, negotiation, etc., required in the professional environment.
Description of contents: programme
1. Object-Oriented Programming 1.1 Classes, objects, methods, and attributes 1.2 Constructors 1.3 Inheritance 1.4 Overloading and overriding 1.5 Polymorphism 1.6 Casting 1.7 Abstract classes and interfaces 2. Recursion 2.1 Types of recursion 2.2 Recursion vs. Iteration 3. Data Structures 3.1 Linear data structures (linked lists, stacks, queues, double-ended queues) 3.2 Non-linear data structures (trees, binary search trees, heaps) 3.3 Basic algorithms applied to data structures (insertion, extraction, search, sorting) 4. Communication software 4.1 Analysis and modeling of communication software 4.2 Implementation and testing of a software project 4.3 Introduction to distributed programming
Learning activities and methodology
The teaching methodology of this course is based in the active integration of the student in the teaching activity and in the application of the principles of continuous evaluation. The course is divided into units, where each unit consists of lectures in large groups and lab sessions in small groups. All the necessary information and material will be available from the page of the course. The student participation in the class activities (questions, problem-solving in groups) will be positively taken into account. The lab scripts with the exercises and programs to be carried in the lab are also available in advance. Additionally to the lectures and lab sessions, the web page proposes some homework activities. 1. Lecture sessions (theory, exercises and questions). In these classes the students will be introduced to the educational contents they should learn. In order to facilitate the understanding, the students will be provided with the class notes and basic reference books. 2. Lab sessions (Problem solving). In these classes in computer labs, the students will analyze and develop programs applying the different concepts taught in the lectures. 3. Personal work: Self-study to understand the theoretical concepts and how to apply them, homework, to solve exercises. 4. Exams: Exercises to be solved by the students to demonstrate the knowledge and the required abilities acquired during the course. a) Mid-term evaluations b) Final exam 5. Office hours according to current regulations
Assessment System
  • % end-of-term-examination/test 50
  • % of continuous assessment (assigments, laboratory, practicals...) 50

Calendar of Continuous assessment


Extraordinary call: regulations
Basic Bibliography
  • Mark A. Weiss. Data Structures and Problem Solving Using Java. Addison-Wesley.
  • Michael T. Goodrich and Roberto Tamassia. Data Structures and Algorithms in Java. John Wiley & Sons, Inc..
Recursos electrónicosElectronic Resources *
(*) Access to some electronic resources may be restricted to members of the university community and require validation through Campus Global. If you try to connect from outside of the University you will need to set up a VPN


The course syllabus may change due academic events or other reasons.