XSL Content

Programming Principles26031

Centre
Faculty of Informatics
Degree
Bachelor's Degree in Informatics Engineering
Academic course
2023/24
Academic year
1
No. of credits
6
Languages
Spanish
Basque
Code
26031

TeachingToggle Navigation

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based4030
Applied laboratory-based groups2060

Teaching guideToggle Navigation

Description and Contextualization of the SubjectToggle Navigation

This first-year subject, Basic Programming, introduces students to the field of software. In this subject, which does not require previous knowledge about the area, we will present the basic concepts needed to create and execute computer programs.



In this degree, Basic Programming is the first step in the training of students for the design and implementation of complex computer applications, it is where the basic concepts and structures of programming will be addressed. A specific programming language will be used to be able to see the programs running, but these bases will be useful for any language that is necessary later.



This basic training is completed in the first year with the subjects (1) Programming Methodology and (2) Modular Programming and Object Orientation; in the second year with the subjects (3) Data structures and algorithms, (4) Languages, computing and intelligent systems, (5) Databases and (6) Software engineering.



Skills/Learning outcomes of the subjectToggle Navigation

The main objectives of this subject are:



1. To know the technique (methodology) of problem solving based on the specification steps, design of an algorithm by the method of "top-down design", description of test cases and implementation in a high-level programming language.



2. To know how to properly document problem solving, following the steps established in the methodology.



3. To work with basic problems that require treatment of sequences or lists.



4. To master, both in its design and use, the basic elements of structured and modular programming for the aforementioned problems: (a) control structures: sequential, conditional and iterative, (b) subprograms and (c) data structures.



5. To master a programming language that allows to strengthen the knowledge of the students. In our case we will work with the Ada language, specially designed for learning basic programming.





Theoretical and practical contentToggle Navigation

1. Introduction

1.1 The objectives of programming

1.2 The algorithm

1.3 Phases of programming (specification, algorithm design, program writing and testing)

1.4 Introduction to programming languages and their features



2. Programming basics

2.1 Expressions

2.2 Basic instructions (assignment, input-output)

2.3 Control structures (conditional, iteration)

2.4 Basic sequence processing algorithms



3. Design of Subprograms:

3.1 Functions and procedures

3.2 Parameter types

3.3 Variable scope and visibility

3.4 Use of applets



4. Data structures:

4.1 Vectors and matrices

4.2 Records

4.3 Static lists



5. Dynamic lists





MethodologyToggle Navigation

In the master classes, sessions of presentation of concepts (reinforced with examples) are interspersed with the realization of exercises (individual, in groups, on the blackboard, etc.). In the laboratories a set of exercises distributed in advance is implemented. The sessions require a previous preparation work on these exercises. During the laboratory sessions the teacher guides the students and resolves the doubts that arise in the resolution of the problems raised.





Assessment systemsToggle Navigation

  • Continuous Assessment System
  • Final Assessment System
  • Tools and qualification percentages:
    • Vease la explicación en el apartado inferior (%): 100

Ordinary Call: Orientations and DisclaimerToggle Navigation

There are two optional types of assessment: continuous or final.



By default, the assessment is continuous. The change from continuous to final assessment is carried out either by direct choice of the students (deadline after knowing the grade of the second exam) or by breach of the minimum required in the continuous assessment (the teaching staff notifies the students individually). In this case, the calculation of the final grade does not take into account the laboratory work.





Continuous Assessment.

---------------------------

Continuous assessment requires active participation by students, who must go to class and laboratories and carry out the activities proposed there (exercises, work, practices ...) from the first day of class.



It is advisable to demonstrate on a regular basis an adequate knowledge of all the concepts seen so that it is reflected in all the tests and evaluations carried out.



- WRITTEN EXAMS:

There will be three written exams 20% + 30% + 20%

- WORK AND LABORATORY TEST: 30%



IT IS NECESSARY TO PASS THE EXAMS (THE THREE THAT ARE MADE) TO PASS THE SUBJECT IN CONTINUOUS EVALUATION.





Final assessment.

-----------------

Although this type of evaluation does not require continuous monitoring and attendance of students to class, although attendance at all classes is recommended to achieve the demands of the course.



WRITTEN EXAM: A single 100% written test will be carried out. It is mandatory to get a minimum in each of the exercises.





Extraordinary Call: Orientations and DisclaimerToggle Navigation

The evaluation is based on a single exam (100%), which must be passed to pass the subject. It is mandatory to get a minimum in each of the exercises.





Compulsory materialsToggle Navigation

Material of the subject: notes, transparencies, list of exercises, statements of the laboratories etc. Other virtual materials that can be incorporated into the website of the subject, through the content server and teaching manager egela: chats, glossaries, tests, forums, etc.

BibliographyToggle Navigation

Basic bibliography

(1) Fundamentals of programming. Algorithms and Data Structures. L Joyanes Aguilar. MacGrawHill, 2nd edition 1996.

(2) An Introduction to Programming. An algorithmic approach. JJ Garcia, FJ Montoya, JL Fernandez, MJ Majado. Thomson Ed. 2005.





Basic bibliography in Basque:

(1) Oinarrizko Programzioa. Ariketa-bilduma. A Díaz de Ilarraza, K Sarasola. Udako Euskal Unibertsitatea, 1999.

(2) ADA Lengoaia eta Metodologia. Watt, D., Wichmann, B., Findlay, W., EHUko Argitalpen Zerbitzua, 1996.





In-depth bibliography

(1) Programming in Ada 2012. JGP Barnes. Cambridge University Press. 2014.
(2) Ada 2012 rationale: The language, the standard libraries. JGP Barnes. Springer. 2013.(ebook)
(3) Ada 2012 reference manual: language and standard libraries. International Standard ISO/IEC8652/2012. (ebook)
(4) Beginning Ada Programming: From Novice to Professional. AT Shvets. APress. 2020.(ebook)
(5) Ada for Software Engineers. M Ben-Ari. Springer Verlag. 2009. (ebook)
(6) Programming in Ada 2005 with CD (International Computer Science). JGP Barnes. Addison-Wesley. 2005.
(7) Ada Language and Methodology. Watt DA, Wichmann CA, Findlay W. Prentice-Hall. 1987.
(8) Ada Problem Solving and Program Design. MB Feldman, EB Koffman. Addison-Wesley.1993.
(9) Programming and Problem Solving with Ada. Dale N, Weems C, McCormick J. Heath. 1994.
(10) The practice of programming. BW Kernighan, Pike R. Prentice Hall. Ed, 2000.
(11) Code Complete: A Practical Handbook of Software Construction. Steve McConnell. Microsoft Press, 2004.
(12) Introducing to Computing and Algorithms. Shackelford, R.L. Addison-Wesley. 1998. (Work with Ada, in English, may be worth to see more exercises)
(13) ADA 95 from the Beginning. Skansholm, J. Addison-Wesley. 1996. (Work with Ada, in English, can be used to see more exercises)
(14) Konputagailuen programazioa turbo Pascal bitartez. Romo, J.M. UPV-EHUko Bilboko Ingeniarien Goi Eskola Teknikoa. 1999.
(15) Programazioaren Oinarriak. Goirizelaia, I. UPV-EHU.1999.
(16) Ada for Software Engineers. John Wiley & Sons, 1998. ISBN 0-471-97912-0. (eBook: https://link-springer-com.ehu.idm.oclc.org/content/pdf/10.1007/978-1-84882-314-3.pdf).


Web addresses

(1) http://es.wikibooks.org/wiki/Fundamentos_de_programación
(2) https://link-springer-com.ehu.idm.oclc.org/content/pdf/10.1007/978-1-84882-314-3.pdf
(3) http://d.feneuille.free.fr/enseignerada.htm (in French)
(4) http://en.wikibooks.org/wiki/Ada_Programming#Ada_2005_textbooks


Examining board of the 5th, 6th and exceptional callToggle Navigation

  • BERGES GONZALEZ, IDOIA
  • IBAÑEZ ANFURRUTIA, FELIPE
  • PEREZ FERNANDEZ, TOMAS ANTONIO

GroupsToggle Navigation

01 Teórico (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

09:00-10:30 (1)

10:30-12:00 (2)

Teaching staff

01 Applied laboratory-based groups-1 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

12:00-13:30 (1)

Teaching staff

01 Applied laboratory-based groups-2 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

14:00-15:30 (1)

Teaching staff

01 Applied laboratory-based groups-3 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

12:00-13:30 (1)

Teaching staff

01 Applied laboratory-based groups-4 (Spanish - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

14:00-15:30 (1)

Teaching staff

46A Teórico (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

14:00-15:30 (1)

15:30-17:00 (2)

Teaching staff

46A Applied laboratory-based groups-1 (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

17:00-18:30 (1)

Teaching staff

46A Applied laboratory-based groups-2 (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

12:00-13:30 (1)

Teaching staff

46A Applied laboratory-based groups-3 (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

10:30-12:00 (1)

Teaching staff

46B Teórico (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

14:00-15:30 (1)

15:30-17:00 (2)

Teaching staff

46B Applied laboratory-based groups-1 (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

17:00-18:30 (1)

Teaching staff

46B Applied laboratory-based groups-2 (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

12:00-13:30 (1)

Teaching staff