Logo UAB

Computer tools for mathematics

Code: 100091 ECTS Credits: 9
2024/2025
Degree Type Year
2500149 Mathematics FB 1

Contact

Name:
Francesc Xavier Xarles Ribas
Email:
xavier.xarles@uab.cat

Teachers

Francesc Xavier Xarles Ribas
Jaume Coll Guerrero
Joaquim Roé Vellvé
Marc Masdeu Sabate

Teaching groups languages

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


Prerequisites

None.


Objectives and Contextualisation

Familiarize oneself with the use of an algebraic manipulator. This manipulator must become a common tool in the study of many other subjects.

Learn to structure and write scientific texts with the LaTeX typographic composition system.

Get started in computer programming, specially in the framework of scientific computing.
 
Understanding how the computer work, in the most relevant aspects for programming.

Competences

  • Actively demonstrate high concern for quality when defending or presenting the conclusions of one's work.
  • Apply critical spirit and thoroughness to validate or reject both one's own arguments and those of others.
  • Calculate and reproduce certain mathematical routines and processes with agility.
  • Distinguish, when faced with a problem or situation, what is substantial from what is purely chance or circumstantial.
  • Students must be capable of applying their knowledge to their work or vocation in a professional way and they should have building arguments and problem resolution skills within their area of study.
  • Students must have and understand knowledge of an area of study built on the basis of general secondary education, and while it relies on some advanced textbooks it also includes some aspects coming from the forefront of its field of study.
  • Understand and use mathematical language.
  • Use computer applications for statistical analysis, numeric and symbolic calculus, graphic display, optimisation or other purposes to experiment with Mathematics and solve problems.

Learning Outcomes

  1. Actively demonstrate high concern for quality when defending or presenting the conclusions of one's work.
  2. Apply critical spirit and thoroughness to validate or reject both one's own arguments and those of others.
  3. Be familiar with a symbolic computation program and be able to use it as a tool in other subjects.
  4. Know how to reproduce certain routines of simple mathematical processes in order to convert them into algorithms.
  5. Students must be capable of applying their knowledge to their work or vocation in a professional way and they should have building arguments and problem resolution skills within their area of study.
  6. Students must have and understand knowledge of an area of study built on the basis of general secondary education, and while it relies on some advanced textbooks it also includes some aspects coming from the forefront of its field of study.
  7. Understand programming language and be able to program basic algorithms.
  8. Use a scientific word processor and be able to use it to write mathematical texts.

Content

1. SAGE (3 credits).

Numeric and algebraic computations.

Graphs of functions.

Equation solving.

Lists, sets, tuples and dictionarys. 

Funtions and programs.

Objects and classes. 

Basic infinitesimal calculus.

Integers and congruencies. Polynomials. 

Lineal Algebra. Vectors and matrices. 

 

2. Typestting with LaTeX (1 credit).

LaTeX foundations. Mathematical formulas.

Structure of the document. Spaces and dimensions.

Tables and matrices. Pictures and floating matherial. 

Definition of new commands. 

 

3. Programació en C (3 credits).

What is a program. Source code. Compilation.

Iterative and alternative structures.

Data and constant types.

Types of variables and constants.

Structured programming: Functions.

Vectors and matrices. Pointers.

Dynamic memory management.

Input and Output: console interaction and files.

Data structures.

Libraries.

 

4. Introduction to computer science (2 credits).

Algorithms.

Information coding.

Complexity. 

Computability. 

Hardware.

Operating systems.

Languages and compilation.

Object Oriented Programming.

Functional programing. 


Activities and Methodology

Title Hours ECTS Learning Outcomes
Type: Directed      
Practical lectures 44 1.76 7, 1, 3, 6, 5, 4, 8
Theoretical lectures 20 0.8 1, 6, 5, 4
Type: Autonomous      
C programming 60 2.4 7, 1, 6, 5, 4
Preparation LATEX document 18 0.72 1, 6, 5, 8
Preparation exam Sage 34 1.36 3, 6, 5
Preparation exams Introduction to Informatics 25 1 6, 5, 4
Sage programming 10 0.4 1, 3, 6, 5, 4

In the first semester, there will be 12 practical sessions. In the second semester, two types of sessions will be developed in parallel: 10 practical sessions and 9 theoretical sessions. The blogs of Sage, LaTeX and C language will be done in practical sessions exclusively; the one of Introduction to the Computing will be done in the theoretical sessions. This schedule can be disrupted by health circumstances. 

Students will be able to communicate with the teachers through the email for personal questions, always sent from the institutional address @autonoma.cat. The teachers will communicate with a specific student via email to the institutional address, and with all students in general through the Moodle Classroom News and Notices Forum of the subject (which also sends automatic copy by mail electronic to everyone). For qüestions of general interes, the students should use the forums in the Moodle Classoroom. 

In all aspects of teaching / learning activities, the best efforts will be made by teachers and students to avoid language and situations that can be interpreted as sexist. In order to achieve continuous improvement in this topic, everyone should collaborate to show the deviations that you observe regarding this objective.

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

Continous Assessment Activities

Title Weighting Hours ECTS Learning Outcomes
C assignment According to formula above 3 0.12 7, 1, 6, 5, 4
Latex assignment According to formula above 2 0.08 1, 6, 5, 8
Partial exam of Sage According to formula above 4 0.16 2, 1, 3, 6, 5, 4
Partial exams of C According to formula above 2 0.08 2, 7, 1, 6, 5, 4
Partial exams of Introduction to Informatics According to formula above 3 0.12 2, 1, 6, 5, 4

The note of the continuous assessment will be based on the weighted average of:

  S: The note of the Sage exam.

  L: The note of the work of LaTeX.

  E: The note of the Programming exam in C.

  T: The note of the work of Programming in C.

  I: The note on the Introduction to Computing exam.

The final mark of the continuous evaluation will be obtained by doing (3S + L + E + 2T + 2I) / 9.

Using  the grades E i T, a grade C is computed as C=(E+2T)/3. 


To pass the course, you must verify the following: 

  • Obtain a global average of 5 out of 10. 
  • Obtain a minimum of 3.5 out of 10 on each one of the grades S and C.


From each one of the examinations, there will be a second call to recover / improve the note. The delivery of this second exam will automatically annul the note of the first call. The works corresponding to L and T are NOT recoverable.

The student who has submitted works or exams for a total of at least 50% of the subject will be considered assessable, according to the weight that appears in the formula of the final grade. Otherwise, it will appear as non-assessable.

The notes of the second calls will not be taken into account for the allocation of honor degrees.

VERY IMPORTANT: The evaluable works are individual. Copy or leave to copy in whole or in part a work that can be evaluated or an exam will be penalized with a zero as the final mark of the subject.


Bibliography

During the course the essential material will be provided to follow it. As an additional material, we recommend:

SAGE. http://www.sagemath.org/help.html

Tobias Oetiker, Hubert Partl, Irene Hyna and Elisabeth Schlegl. The not so short introduction to LaTeX 2e. Tobi.oetiker.ch/lshort/lshort.pdf

George Grätzer, More Math Into LaTeX, Springer, 2016

CProgramming. http://www.cprogramming.com/tutorial/c-tutorial.html (The amount of tutorials on language C on the internet and in the form of a book is enormous, and in a variety of languages)

B.W. Kernighan, Ritchie, D.M., The C programming language. 2nd edition. 1988


Software

We will use SageMath, Pyhton, Latex and C. During the course we will give the necessary instructions to install the programs.  


Language list

Name Group Language Semester Turn
(PLAB) Practical laboratories 1 Catalan annual morning-mixed
(PLAB) Practical laboratories 2 Catalan annual morning-mixed
(PLAB) Practical laboratories 3 Catalan annual morning-mixed
(PLAB) Practical laboratories 4 Catalan annual morning-mixed
(TE) Theory 1 Catalan annual morning-mixed