Academic management

University of Oviedo

Uniovi.es | Home | Search | Site Map

| |

Bachelor´s Degree in Telecommunication Technologies and Services Engineering
GITELE01-2-009
Programming
General description and schedule Teaching Guide

Coordinator/s:

PEDRO HERNANDEZ ARAUZO
phernandezuniovi.es

Faculty:

Pablo González González
gonzalezgpablouniovi.es
(English Group)
PEDRO HERNANDEZ ARAUZO
phernandezuniovi.es
Jaime Alonso González
jalonsouniovi.es

Contextualization:

The subject of Programming belongs to the module of Compulsory Training and composes, together with the subject Computing Fundamentals, the subject of Computer Science.

Because of its fundamental nature, its contents and competencies will be used in many other subjects spread throughout the different courses, either as a tool or as a source of examples and applications.

In particular, it will support subjects like Advanced Networks and Services, Control Engineering or Telecommunication Systems and Services, where programming is undoubtedly a fundamental skill. In this context, the study of a programming language is essential for a graduate in Telecommunication Technologies and Services.

It is theoretical/practical because the student will need to know the theoretical basis of programming to ensure the generation of correct and efficient programs, and also to edit, compile and execute such programs in a development environment.

Requirements:

To deal with this subject it is recommended that the student is familiar with some basic notions of logic and mathematics. In any case, the training provided by the Technological Baccalaureate together with the knowledge acquired in the subject of Computing Fundamentals, will be sufficient background for the follow-up of the subject.

Competences and learning results:

According to the verification report of the Degree in Engineering of Technologies and Services for Telecommunication, the general competencies in which the programming subject collaborates are the following:

General competencies

CG3. Knowledge of basic subjects and technologies, which will enable the student to learn new methods and technologies, as well as give the student great versatility to adapt to new situations.
CG4. Ability to solve problems with initiative, decision-making, creativity, and to communicate and transmit knowledge and skills, understanding the ethical and professional responsibility of the activity of the Telecommunication Technical Engineer.
CG5. Knowledge for the realization of measurements, calculations, valuations, appraisals, experts, studies, reports, task planning and other similar work in its specific field of telecommunications.
CG9. Ability to work in a multidisciplinary group and in a multilingual environment and to communicate, both in writing and orally, knowledge, procedures, results, and ideas related to telecommunications and electronics.

Specific competencies

CB.2 Basic knowledge about the use and programming of computers, operating systems, databases and software with engineering application.
CR.2 Ability to use communication and computer applications (office, databases, advanced calculation, project management, visualization, etc.) to support the development and operation of telecommunications and electronics networks, services, and applications.
CR.3 Ability to use computer tools to search for bibliographic resources or information related to telecommunications and electronics.
CR.7 Knowledge and use of the fundamentals of programming in telecommunications networks, systems and services.

Learning Results

RA-4.15 Understand the concept of algorithm and the process of abstracting a problem in programming.
RA-4.16 Identify the process of developing a program and its position within the overall Software Engineering process.
RA-4.17 Recognize the elementary data structures provided by a structured programming language.
RA-4.18 Be able to use the elementary control structures of a structured programming language.
RA-4.19 Recognize elementary data structures provided by an object-oriented programming language.
RA-4.20 Be able to use the elementary control structures of an object-oriented programming language.
RA-4.21 Abstract operations.
RA-4.22 Designing small applications to solve basic problems in collaborative work environments.
RA-4.23 Describe and interpret basic data structures, such as stacks, queues, and lists.
RA-4.24 Analyze internal sorting algorithms.
RA-4.25 Describe and interpret advanced data structures, such as scattering, trees, and graphs.
RA-4.26 Programming, validating, and optimizing algorithm design techniques.

 

Contents:

  1. Basic programming concepts. Programming in C/C++

  2. Vectors and pointers

  3. Object oriented programming

  4. Data structures

  5. Recursion

  6. Introduction to algorithm design techniques

Methodology and work plan:

In accordance with the guidelines set out by the EEES, the subject will be developed through presential activities and autonomous work of the student.

Presential activities are those where the professor will always be present. They are divided into theory classes, seminars, laboratory practices, group tutoring and evaluation sessions.

For its part, in order to comply with the principles relating to ECTS, established in Real Decreto 1393/2007, the student must develop an autonomous work in parallel (non-presential activities), led by the professor.

The teaching methodology will be based on the participation of the student. It will be proposed deliverable that the student must perform and present with a minimum of quality in the established time.

The general process of student action for non-presential activities related to the preparation of the proposed deliverables can follow the following guidelines:

  1. Selection and reading of the required material.

  2. Review of the questions that may arise, if necessary.

  3. Elaboration of the statement of the problem to be proposed, if appropriate.

  4. Resolution of the proposed problem.

  5. Reflection on solving the problem and describing the difficulties encountered.

  6. Preparation of the documentation to be delivered.

  7. Annotation of the time spent on each of the activities, as well as the total time.

Regarding laboratory practices, at the end of each of the scheduled practices, a report or delivery of the work carried out during the laboratory session to be uploaded on the virtual campus may be requested.

The Programming subject requires a total of 150 hours between presential and non-presential activities organized as follows:

Presential (60 hours)

  1. Theory lessons (21 hours )

  2. Classroom practise (7 hours )

  3. Laboratory sessions (28 hours )

  4. Group tutorials (2 hours )

Non-presential (90 hours)

  1. Individual assignments (32 hours )

  2. Individual tutorials (4 hours )

  3. Individual study (54 hours )

 

 

PRESENTIAL WORK

NON-PRESENTIAL

WORK

Contents

A

B

C

D

E

F

T

G

T

Basic programming concepts

24

4

1

4

 

 

9

15

15

Vectors and pointers

24

3

2

4

 

 

9

15

15

Object oriented programming

46

6

2

8

1

1

18

28

28

Data structures

23

4

1

6

 

 

11

12

12

Recursion

24

3

1

4

1

1

10

14

14

Introduction to algorithm design techniques

9

1

 

2

 

 

3

6

6

Total

150

21

7

28

2

2

60

90

90

A. Toital hours
B. Theory lessons
C. Clasroom practise

D. Laboratory sessions
E. Group tutorials
F. Evaluation sessions

G. Autonomous works
T. Total

 

MODALITIES

Hours

%

Totals

Presential

Theory sessions 

21

14,00

60 (40%)

Classroom practise

7

4,67

Laboratory sessions

28

18,67

Hospital clinical practices

 

 

Group tutorials

2

1,33

External practises

 

 

Evaluation sessions

2

1,33

Non-presential

Group work

 

 

90 (60%)

Individual work

90

60,00

 

Total

150

Exceptionally, if sanitary conditions so require, non-face-to-face teaching activities may be included. In that case, the student will be informed of the changes made.

Assessment of students learning:

In order to pass, the student will have to overcome the two blocks of the subject: theory and practise. The theory part has a weight of 40% on the final grade and the practice part will contribute with the remaining 60%. Both parts can be compensated with a minimum score of 4 (out of 10). If a 4 (out of 10) is not reached in either block, the final rating will a maximum of 4. To pass, the final grade must be at least 5 out of 10.

Ordinary call

The theory part will be evaluated with two exams. The first will be held around the middle of the semester, with a weight of 40%. The second, with a weight of 60%, will be carried out in the period reserved for this call, on the date established by the center. Students who passed the first exam, will not need to take on this part in the second exam. In this same date, a recuperation block will be available for those students who did not pass the first theory exam.

The evaluation of the practical part will be carried out through continuous assessment with practical tests that will be held during the two same hours of a laboratory session.

Extraordinary calls

The evaluation will be carried out through a theory exam that will provide 40% of the grade and a practical exam that will provide the remaining 60%.

Differentiated assessment

The evaluation of students who have been granted the differentiated evaluation regime shall be carried out by means of the procedure already indicated for extraordinary calls.

Exceptionally, if sanitary conditions so require, non-face-to-face assessment methods may be included. In which case, the student will be informed of the changes made.

Resources, bibliography and documentation:

  1. Deitel, H.M.; Deitel, P.J.: C++. How to Program. 2nd edition, Prentice-Hall, Upper Saddle River, New Jersey, 1998.

  2. Brassard, G., Bratley, P.:  Fundamentals of Algorithmics. Prentice-Hall, 1996.

  3. Kernighan, B.W.; Ritchie, D.M.: The C Programming Language. Prentice-Hall, Englewood Cliffs, New Jersey, 1988.

  4. Stroustroup, B.: The C++ Programming Language. 3rd edition. Addison-Wesley, Reading, Mass., 1997.