Logo

Informatics and Programming Tools

Code: 106807
Credits: 6
2026/2027
Degree programme Type Course
Nanoscience and Nanotechnology FB 1

Contact lecturer

Name :
Xavier Cartoixa Soler
Email :
xavier.cartoixa@uab.cat

Teaching staff

Nikolaos Mavredakis

Group languages

You can consult this information at the end of the document.

Prerequisites

None.

Objectives

      • Getting acquainted with the use of various computer tools for data processing and the graphic presentation of information.

      • Knowing the basic structures of a program: types, branches, loops; as well as the phases of its creation.

      • Being able to use the python language to perform common tasks in a Nanoscience and Nanotechnology laboratory.

Learning outcomes

  • CM12 (Solve problems in the field of nanoscience by selecting the most appropriate computer and programming tools.) Solve problems in the field of nanoscience by selecting the most appropriate computer and programming tools.
  • KM18 (Recognise the computer tools used for data processing, analysis and representation.) Recognise the computer tools used for data processing, analysis and representation.
  • KM19 (Identify the different stages of an executable program, from analysis to verification, and the tools available for each one.) Identify the different stages of an executable program, from analysis to verification, and the tools available for each one.
  • SM18 (Write simple analysis and problem-solving computer programs in different scientific programming languages.) Write simple analysis and problem-solving computer programs in different scientific programming languages.
  • SM19 (Use computer applications to visualise, process and represent data.) Use computer applications to visualise, process and represent data.
  • SM20 (Convey relevant scientific data by producing high-quality figures.) Convey relevant scientific data by producing high-quality figures.

Contents

1. Configuration of the computing environment


1. Anaconda, WSL2, VMs, Cygwin, Dual boot


2. Software installation


3. python configuration


2. Familiarization in Linux environments (PAUL)


1. The terminal window


2. System configuration


3. Algorithms and basic structures


1. Basic blocks


4. python


1.Hello world


2. If, then, else


3. While, do while


4. For-loop


5. Functions and subroutines


6. Modules


7. Type of variables


8. Objects


5. Graphic presentation of information


1.Excel


2.gnuplot


3.matplotlib


6. Data processing


1.NumPy and SciPy


2. Numerical integration


3. Linear algebra


4. Interpolation of points


7. Classifications of programming languages


1. Functional vs Object Oriented (OO)


2. Compiled vs interpreted


3. Pass by value vs pass by reference


4. Type of a variable


8. Final considerations

Learning activities and methodology

Title Hours ECTS Learning outcomes
Lecture 30 1.2
Problem sets 15 0.6
Study and programming 77 3.08
Preparation of laboratory practice 15 0.6
Laboratory practice 7 0.28

Teaching will be based on theory lectures with frequent use of the computer, complemented by problem sets with intensive use of the computer and laboratory practices where the contents learned will be applied to the analysis and visualization of data .

Autonomous activities will be carried out that will include the development of simple computer programs.
 

Annotation: within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Assessment

Continuous assessment activities

Title Weight Hours ECTS Learning outcomes
Laboratory practice 25% 0 0 CM12, SM19, SM20
Problem sets and independent study 20% 0 0 CM12, SM18, SM19, SM20
Synthesis test 55% 6 0.24 CM12, KM18, KM19, SM18, SM19

The completion of laboratory practices is mandatory, and it is necessary to pass the labs separately.

To pass the subject, a minimum grade of 4 is required in the synthesis test. This can be obtained either:

a) When the average of the partial synthesis tests reaches 4, and the second of the partial tests does not have a grade lower than 2.

b) When the recovery synthesis test reaches the minimum of 4.

To take the recovery synthesis test, it is necessary to have previously taken at least one of the partial synthesis tests, and have passed the labs.

“Matricula d’honor” will be awarded preferentially according to the results of the partial synthesis tests, over those of the recovery test. It will be possible to go to the recovery synthesis test to improve the grade, but in case of obtaining a grade lower than the average of the partial tests, the final synthesis grade will be the mean between the average of the partials and the final grade of the recovery.


Notwithstanding other disciplinary measures deemed appropriate, and in accordance with the academic regulations in force, assessment activities will receive a zero whenever a student commits academic irregularities that may alter such assessment. Assessment activities graded in this way and by this procedure will not be re-assessable. If passing the assessment activity or activities in question is required to pass the subject, the awarding of a zero for disciplinary measures will also entail a direct fail for the subject, with no opportunity to re-assess this in the same academic year. Irregularities contemplated in this procedure include, among others:

- the total or partial copy of a practical exercise, report, or any other evaluation activity;

- allowing others to copy;

- presenting group work that has not been done entirely by the members of the group;

- presenting any materials prepared by a third party as one's own work, even if these materials are translations or adaptations, including work that is not original or exclusively that of the student;

- having communication devices (such as mobile phones, smart watches, etc.) accessible during theoretical-practical assessment tests (individual exams)

- talking to classmates during individual theoretical and practical assessment tests (exams)

- copying or attempting to copy from other students during theoretical and practical assessment tests (exams)

- using or attempting to use writings related to the subject during the theoretical and practical assessment tests (exams) when they are not explicitly permitted.


In future editions of this subject, the student who has committed irregularities in an assessment activity, any of the assessment activities carried out will not be validated.

In summary: copy, allowing other to copy or plagiarize (or attempt) in any of the assessment activities is equivalent to a fail for the subject, not compensable and without validation of parts of the subject in subsequent courses.

In case of failing the subject due to having committed any of these irregularities in an assessment activity, the final grade will be the lower value between 3.0 and the average of the individual theoretical-practical tests (and therefore it will not be possible to pass the subject by compensation).

In this subject, the use of Artificial Intelligence (AI) technologies is not allowed in any of its activities subject to evaluation. Any work that includes fragments generated with AI will be considered a lack of academic honesty and may lead to a partial or total penalty in the grade of the activity, or greater sanctions in serious cases.

To attend any exam it will be necessary to identify yourself with DNI.

This subject does not contemplate the single evaluation system.

Bibliography

  • Eric Matthes, Python Crash Course : a hands-on, project-based introduction to programming, No Starch Press, San Francisco, 3rd Ed, 2023.
  • Sébastien Chazallet, Python 3 : Los fundamentos del lenguaje, ENI Ediciones, 2ª ed, 2016.
  • Connor P. Milliken, Python Projects for Beginners, Apress, 1st ed, 2020.
  • Joel Grus, Data Science from Scratch : First Principles with Python, O’Reilly, Sebastopol, CA, USA, 2nd ed, 2019.

Software

The course will make intensive use of the python programming language, as well as sporadic use of other programs and languages. Assistance will be offered to set up the environment.

Course groups and languages

The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE

Type of teaching Group Language Semester Shift
(TE) Theory 1 Catalan first semester afternoon
(PAUL) Classroom practices 1 Catalan first semester afternoon
(PLAB) Practical laboratories 1 Catalan/Spanish first semester morning-mixed
(PAUL) Classroom practices 2 Spanish first semester afternoon
(PLAB) Practical laboratories 2 Catalan/Spanish first semester morning-mixed
(PLAB) Practical laboratories 3 Catalan/Spanish first semester morning-mixed