Checking date: 10/05/2018


Course: 2018/2019

Programming
(16480)
Bachelor in Data Science and Engineering (Plan: 392 - Estudio: 350)


Coordinating teacher: ESCUDERO MARTIN, YOLANDA

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



Requirements (Subjects that are assumed to be known)
Nothing
CB1: Students must show to have knowledge in an area of study that starts from a base in secondary education, and reaches a level that, although supported by advanced textbooks, also includes some aspects from the forefront of their field of study. CB5: Students must develop the required learning abilities to be able to autonomously enroll in further courses. CE4: Ability for mathematical modelling, algorithmic implementation and solving of optimization problems in data science. CE7: Ability to understand basic programming concepts and to perform data analysis programs. CG2: Knowledge of the fundamental scientific and technological fields in order to learn new methodologies and technologies allowing the student to adapt to unforeseen situations. CG4: Ability to solve the technological, computational, mathematical and statistical problems appearing in data science and data engineering. CG5: Ability to frame and solve problems in a mathematical way by using numeric algorithms and computation techniques. CG6: Ability to synthesize and to draw conclusions from the analysis performed and to present them both orally and in written format. CT2: Ability to work in international and interdisciplinary groups. RA4: Ability to work in complex situations requiring the development of new solutions both in the academic and working environments. RA5: Ability to communicate, both to specialized and non-specialized public, knowledge, methodologies, ideas, problems and solutions inside their study field. RA6: Ability to autonomously identify his/her educational needs and to self-organize learning, whether in a structured or non-structured way.
Description of contents: programme
1. Introduction to programming 2. Data types 3. Variables and constants 4. Control structures 5. Data structures 6. Functions 7. Libraries 8. Introduction to object-oriented programming 9. Introduction to algorithms
Learning activities and methodology
1. Lectures (1 ECTS) - Devoted to teaching basic competences, especially those related to basic imperative programming techniques 2. Individual work in class and at home (3 ECTS) - Devoted to autonomous learning of the specific competences, guaranteeing a minimum knowledge background to contribute with to the group. A problem based learning (PBL) methodology will be followed. 3. Group works and practices (2 ECTS) - It completes former activities, fixing both general and specific competences. A PBL methodology will be also used. METHODOLOGY Classes will be divided into lectures and laboratory sessions. In addition, students are expected to work autonomously at home. - Lectures: they will be used to present general programming concepts using Python as language. Example programs will be written during the class, to reinforce the theoretical concepts. Short test can be performed at the end of each class to evaluate the understanding of the main concepts presented in that class and the previous ones. These test questions will be collected and uploaded to Aula Global where students will be able to answer them as many times as they want. At least one mid-term exam will take place during these sessions (see weekly schedule). - Laboratory classes: they will consist of three parts. In the first part the previous week exercises will be solved; students may be asked to provide and explain their solutions. Next, a problem will be posed and solved in collaboration by students and teacher. Finally, a series of problems will be presented for the students to solve them. Usually these problems will be performed in pairs of two students and will need to be uploaded to Aula Global by the end of the week. A final project will be presented to be performed also in groups of two. It could include partial deliveries (see weekly schedule). - Student's autonomous work: students are expected to finish at home the weekly assignments and to deliver them using Aula Global. In addition, some weeks students will be asked to fill tests using Aula Global. Office hours Following university rules each professor will publish his/her preferred office hours in Aula Global. Despite this, students are encouraged to contact the professor by email to arrange an appointment any time they want, whether in the preferred hours or not. Small doubts not requiring a face-to-face visit can be posted by email. General doubts should be posted in the course forum, available in Aula Global. These doubts can be solved either by the professors or by other students. For the final project, individual tutorship sessions will be arranged for each group.
Assessment System
  • % end-of-term-examination 60
  • % of continuous assessment (assigments, laboratory, practicals...) 40

Basic Bibliography
  • Ana Bell . Get Programming Learn to code with Python. Manning publications. 2018
  • John S. Conery. Explorations in Computing: An Introduction to Computer Science and Python Programming. CRC Press. 2014

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