General information


Subject type: Basic

Coordinator: Julián Horrillo Tello

Trimester: Second term

Credits: 6

Teaching staff: 

Montserrat Rabassa Jou
Pere Barberan Agut 

Skills


Specific skills
  • CE3. Have a basic knowledge of the use of computer programming, operating systems, databases and computer applications in engineering.

Description


The various topics covered in the course are designed to train students in learning the fundamental concepts of computer programming that allow the development of small and medium-sized programs at the industrial level.

This subject has methodological and digital resources to make possible its continuity in non-contact mode in the case of being necessary for reasons related to the Covid-19. In this way, the achievement of the same knowledge and skills that are specified in this teaching plan will be ensured. The Tecnocampus will make available to teachers and students the digital tools needed to carry out the course, as well as guides and recommendations that facilitate adaptation to the non-contact mode.

Learning outcomes


At a general level, this subject contributes to the following learning outcomes specified for the subject to which it belongs (Basic Computer Science):

  • Apply the basic concepts of computer programming 
  • Demonstrate skills in the use of basic programming techniques and tools 
  • Ability to solve problems by developing small and medium-sized programs at the industrial level
  • Ability to abstract in the use of models for solving real problems
  • Ability to organize personal work 
  • Use oral and written communication and independent work fluently
  • Put into practice the mode and dynamics of teamwork 

At a more specific level, at the end of the course the student must be able to:

  • LO1: Demonstrate knowledge and understanding of concepts related to the structure of a computer and operating systems.
  • LO2: Write simple programs that use sequential and / or conditional structures, code them in a high-level programming language, test and debug them.
  • LO3: Write programs that use iterative structures, code them in a high-level programming language, test and debug them. The most appropriate algorithmic schemes must be selected.
  • LO4: Write programs that use the functional decomposition technique that allow them to be divided into simpler subproblems, coded in a high-level language, tested and refined.
  • LO5: Write programs that use sequences to store data, encode them in a high-level imperative language, test and debug them.
  • LO6: Organize personal work
  • LO7: Work autonomously and use oral and written communication fluently.
  • LO8: Work in a team

Working methodology


All the theoretical concepts of the subject will be exposed in theory classes (large groups). In these classes, and at the discretion of the teachers, exercises and problems of a more practical nature will also be solved. Likewise, and always at the discretion of the teachers, students may be asked to solve, individually or in groups, short problems and / or exercises. These activities, which due to their optional nature and brevity are not reflected in the list of activities, will serve the student as a tool for self-assessment of their achievement of the contents of the subject and may be used by the teacher. to make decisions about the final grade of the good student and that never to the detriment of the numerical grade calculated according to the grading system indicated above.

The more practical concepts and everything that can essentially be considered the practical application of the theoretical concepts will be worked on in small (laboratory) groups. In the sessions scheduled for this purpose, the appropriate tools will be given to solve the scheduled activities well and it is expected that these will be extended from a temporal point of view beyond the laboratory hours and that, consequently, students must complete them during the time of autonomous learning.

This course, due to the situation generated by COVID, some of the large group sessions will be held in hybrid format: face-to-face and online (via streaming). This will allow students to rotate to face-to-face classes, respecting the maximum number of students per classroom imposed by the distance measures. When they are not in contact, they will be able to follow the class online from home.

 With regard to internship sessions in smaller spaces, where appropriate, work will be carried out simultaneously in several spaces in order to ensure that the conditions established by the safety protocols are met.

Contents


1. INTRODUCTION TO COMPUTERS

Functional structure of a computer. Internal operation of a computer Representation of information on computers. Introduction to operating systems: types of operating systems, the operating system as a virtual machine, process management and memory management

2. INTRODUCTION AND GENERAL CONCEPTS OF PROGRAMMING

Algorithms and programs. Programming languages ​​Programming environment Programming process Anatomy of a simple program Compilation and interpretation

3. BASIC CONCEPTS OF PROGRAMMING 

Variables, types and assignment Assessment of expressions Reading and writing Forms of execution and control structures: sequential, conditional / alternative and iterative Basic iterative schemes

4. FUNCTIONAL DECOMPOSITION AND DESCENDING DESIGN

Decomposition of problems into subproblems Functions and procedures. Parameterization

5. TYPES OF COMPOUND DATA

Sequences: Chains. Lists 

Learning activities


A series of activities of an eminently practical nature (short exercises, problems ...) are made available to students, which are the basis of the learning activities of the subject. These activities will have to be solved by the students, often in a non-contact way, following the instructions of the teachers and will also be worked in class, either as examples in the theory sessions, or in the laboratory sessions. Although these activities will be optional (teachers will not individually verify the performance by students), they will be essential to achieve the theoretical and practical knowledge of the subject.

In order to gather evidence of the achievement of the expected learning outcomes, the following evaluative activities are carried out (practices and exams):

PRACTICE 1. Laboratories

In this first practice the concepts related to topic 1 of the subject are worked on and at the end of the activity the student must be able to describe the basic structure of a computer system based on the architecture Von Neumann, understand the main functionality of each element and work with the representation of information on computers.

Completion of this activity contributes to the achievement of specific competence E3, general competence CB1, professional competence CP3 and learning outcomes RA1, RA6 and RA7.

PRACTICE 2. Programming

With this practice students have a first contact with the development environment and work on coding and debugging programs of a very simple nature using sequential and conditional structures. At the end of the activity the student must be able to codify, test and debug small programs of an eminently conditional nature.

Completion of this activity contributes to the achievement of specific competence E3, general competence CB1, professional competence CP3 and learning outcomes RA2, RA6, RA7 and RA8.

PRACTICE 3. Programming

With this practice students work on the coding and debugging of programs of an iterative nature using functional decomposition techniques. At the end of the activity the student must be able to codify, test and debug small programs of an eminently iterative nature.

Completion of this activity contributes to the achievement of specific competence E3, general competence CB1, professional competence CP3 and learning outcomes RA2, RA3, RA4, RA6, RA7 and RA8.

PRACTICE 4. Programming

With this practice students work on the coding and debugging of more complex programs than those of previous practices, using functional decomposition techniques that allow to decompose a problem into simpler subproblems, the solution of which can be coded with the help of parameterized procedures and lists. At the end of the activity the student must be able to codify, test and debug programs that make use of the tools and mechanisms worked on in theory.

Completion of this activity contributes to the achievement of specific competence E3, general competence CB1, professional competence CP3 and learning outcomes RA2, RA3, RA4, RA5, RA6, RA7 and RA8.

FIRST WRITTEN PROGRAMMING TEST

Individual test of practical application (resolution of exercises and problems) of the theoretical concepts and practical procedures of the first programming blocks. Assess the learning outcomes RA1, RA2, RA3, RA6 and RA7 and contribute to the achievement of specific competencies E3, general CB1 and professional CP3

SECOND WRITTEN PROGRAMMING TEST 

Individual test of practical application (solution of exercises and problems) of the theoretical concepts and practical procedures of programming.

This second written test evaluates all the contents of the subject, thus evaluating all the learning outcomes of the subject: RA1, RA2, RA3, RA4, RA5, RA6 and RA7 and yet contributes to the achievement of the competencies. specific E3, general CB1 and professional CP3

 

In order to pass (pass) the assessment activities, students must demonstrate:

  • That they have acquired the theoretical knowledge related to the contents of the subject and that their understanding allows them to put them into practice [MECES-2 point a, point c]
  • That they can develop solutions to problems that, although they are similar to others seen above, present aspects that are new [MECES-2 point f]

At the competence level, the four practices and written tests cover the specific competence assigned to the subject E3 (basic knowledge of computer programs applied to engineering)

In relation to the professional competence assigned to the subject, this is covered especially with regard to the aspects that are explained:

  • CP3: knowledge of basic subjects that enable the learning of new methods and theories.

And finally, with regard to the basic competence assigned to the subject, this is worked on in the practical exercises that are carried out in the course of the theory and practice sessions.

  • CB1: Demonstrate having and understanding knowledge based on general secondary education

Rules for carrying out learning activities

For each activity, teachers will be informed of the particular rules and conditions that govern them. One-on-one activities presuppose the student's commitment to carry them out individually and without any collaboration with other people. All activities in which the student does not comply with this commitment to individuality will be considered suspended (grade 0), regardless of their role (sender or receiver) and without this excluding the possible application of other sanctions in accordance. with the current Disciplinary Regime.

Likewise, the activities to be carried out in groups presuppose the commitment on the part of the students who make it up to carry them out within the group and without any kind of collaboration with other groups or people who are alien (group individuality). All activities in which the group has not respected this commitment regardless of its role (sender or receiver) and without this excluding the possible application of other sanctions in accordance with the current Disciplinary Regime will be considered suspended (rating 0).

In the particular case of the internships, when in any of them the commitment of individuality is not respected and / or fraudulent means are used in its accomplishment, the qualification of end of the practices PRACTICE will be, for all the members of the group, of 0 points independently of the qualification of the other practices and without this exclude the possible application of other sanctions in agreement with the current Disciplinary Regime.

Any activity not delivered will be considered scored with zero points. It is optional for teachers to accept or not deliveries outside the deadlines indicated. In the event that these late deliveries are accepted, it is up to the teacher to decide whether to apply a penalty and the amount thereof.

Evaluation system


The subject is evaluated based on the grades of the following activities:

  • TEST 1: WRITTEN TEST OF THE FIRST BLOCKS
  • TEST 2: WRITTEN TEST OF ALL BLOCKS
  • PRACTICE 1
  • PRACTICE 2
  • PRACTICE 3
  • PRACTICE 4

The calculation of the part of theory and practices of the asignatura calculates taking into account these formulas:

  • THEORY = MAXIMUM (TEST-2 0.60, (TEST-1 0.10 + TEST-2 0.5))
  • PRACTICE = 0.1 PRACTICE-1 + 0.1 PRACTICE-2 + 0.1 PRACTICE-3 + 0.1 PRACTICE-4

And the final grade is obtained:

  • If THEORY <4 the final grade is the THEORY grade
  • Otherwise, the final grade of the subject is THEORY + PRACTICE

Recovery

The theoretical part of the subject (THEORY) can be recovered as long as the weighted grade obtained is less than 5 (excluding those not presented). Internships cannot be recovered, under any circumstances.

For students who attend the resit exam their THEORY grade will be the one obtained in this test and the final grade will be calculated with the weights detailed above and in no case will it exceed 5.

REFERENCES


Basic

Rabassa, Fundamentals of Computer Science: class notes, examples and exercises. Internal publication ESUPT

Python language reference. https://docs.python.org/3/tutorial/index.html

Python 3. http://openbookproject.net/thinkcs/python/english3e/

Complementary

http://repositori.uji.es/xmlui/bitstream/handle/10234/102653/s93.pdf

http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/index.html