Checking date: 25/04/2024


Course: 2024/2025

Programming
(18256)
Bachelor in Applied Mathematics and Computing (Plan: 433 - Estudio: 362)


Coordinating teacher: ZARRAONANDIA AYO, TELMO AGUSTIN

Department assigned to the subject: Computer Science and Engineering Department

Type: Basic Core
ECTS Credits: 6.0 ECTS

Course:
Semester:

Branch of knowledge: Engineering and Architecture



Objectives
The objective of this course is to introduce basic programming techniques. During the course students will acquire knowledge on: - Fundamentals of the imperative programming - Fundamentals of structured programming - Language data types - Matlab computing language syntax - Program testing and debugging Related to specific skills, students will be able to: - Analyze and understand programs - Localize and fix syntax and functional errors - Design and develop simple algorithms based on given prerequisites - Develop simple programs from functional descriptions - Design, develop and execute program test plans
Skills and learning outcomes
CB1. Students have demonstrated possession and understanding of knowledge in an area of study that builds on the foundation of general secondary education, and is usually at a level that, while relying on advanced textbooks, also includes some aspects that involve knowledge from the cutting edge of their field of study. CB2. Students are able to apply their knowledge to their work or vocation in a professional manner and possess the competences usually demonstrated through the development and defence of arguments and problem solving within their field of study. CB3. Students have the ability to gather and interpret relevant data (usually within their field of study) in order to make judgements which include reflection on relevant social, scientific or ethical issues. CB4. Students should be able to communicate information, ideas, problems and solutions to both specialist and non-specialist audiences. CB5. Students will have developed the learning skills necessary to undertake further study with a high degree of autonomy. CG1. Students are able to demonstrate knowledge and understanding of concepts in mathematics, statistics and computation and to apply them to solve problems in science and engineering with an ability for analysis and synthesis. CG3. Students can solve computationally with the help of the most advanced computing tools mathematical models coming from applications in science, engineering, economy and other social sciences. CG4. Students are able to show that they can analyze and interpret, with help of computer science, the solutions obtained from problems associated to real world mathematical models, discriminating the most relevant behaviours for each application. CG6. Students can search and use bibliographic resources, in physical or digital support, as they are needed to state and solve mathematically and computationally applied problems arising in new or unknown environments or with insufficient information. CE10. Students have shown that they know and understand the algorithmic procedures to design and build programs that solve mathematical problems paying special attention to performance. RA3. Students must have the capacity to gather and interpret data and information on which they base their conclusions, including where relevant and necessary, reflections on matters of a social, scientific, and ethical nature in their field of study. RA5. Students must know how to communication with all types of audiences (specialized or not) their knowledge, methodology, ideas, problems and solutions in the area of their field of study in a clear and precise way.
Description of contents: programme
1. Introduction - Computer architecture - Programming languages - Program compilation and execution 2. Programming fundamentals - Programming paradigms - Program elements: data and algorithms - Basic programming tools: algorithms, flow diagrams and pseudocode 3. Programming - Language characteristics - Working with matrices - Expressions - Operators 4. Flow Control Statements - Decision-Making Statements - Looping Statements 5. Scripts and Funcions - Functions - Scripts 6. Data Structures - Characters and Text - Multidimensional Arrays - Cell Arrays - Structures 7. Input / Output Files - Import / Export data - ASCII and Binary Files 8. Advanced Techniques - Debug, testing and error control - Recursivity
Learning activities and methodology
LEARNING ACTIVITIES AND METHDOLOGY THEORETICAL-PRACTICAL CLASSES. [44 hours with 100% classroom instruction, 1.67 ECTS] Knowledge and concepts students must acquire. Student receive course notes and will have basic reference texts to facilitate following the classes and carrying out follow up work. Students partake in exercises to resolve practical problems and participate in workshops and evaluation tests, all geared towards acquiring the necessary capabilities. TUTORING SESSIONS. [4 hours of tutoring with 100% on-site attendance, 0.15 ECTS] Individualized attendance (individual tutoring) or in-group (group tutoring) for students with a teacher. STUDENT INDIVIDUAL WORK OR GROUP WORK [98 hours with 0 % on-site, 3.72 ECTS] WORKSHOPS AND LABORATORY SESSIONS [8 hours with 100% on site, 0.3 ECTS] FINAL EXAM. [4 hours with 100% on site, 0.15 ECTS] Global assessment of knowledge, skills and capacities acquired throughout the course. METHODOLOGIES THEORY CLASS. Classroom presentations by the teacher with IT and audiovisual support in which the subject's main concepts are developed, while providing material and bibliography to complement student learning. PRACTICAL CLASS. Resolution of practical cases and problem, posed by the teacher, and carried out individually or in a group. TUTORING SESSIONS. Individualized attendance (individual tutoring sessions) or in-group (group tutoring sessions) for students with a teacher as tutor. LABORATORY PRACTICAL SESSIONS. Applied/experimental learning/teaching in workshops and laboratories under the tutor's supervision.
Assessment System
  • % end-of-term-examination 40
  • % of continuous assessment (assigments, laboratory, practicals...) 60

Calendar of Continuous assessment


Extraordinary call: regulations
Basic Bibliography
  • Ana Bell. Get Programming Learn to code with Python. Manning publications. 2018
Recursos electrónicosElectronic Resources *
Additional Bibliography
  • García de Sola, Juan Francisco . Informática Básica. Alhambra Longman.
  • Ureña López, L. Alfonso. Fundamentos de informática. RA-MA. 1997
(*) 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.