Laboratory activities, written exam (exercises and numerical problems, possibly multiple-choice) and/or oral exam.
Learning
objectives
The course aims to provide an introduction to the methodologies for the design, development and analysis of algorithms (mainly non-numerical), as well as to the use of the main computing tools (hardware and software), with particular regard to the influence that the latter have on the development of the algorithms themselves. Laboratory activities are an integral part of the course.
Syllabus
The concept of algorithm and the Von Neumann machine, the representation of data and instructions, data structures (variables and arrays) and control structures (iteration and selection) for the development of algorithms. Fundamental non-numerical algorithms (sorting, searching, merging and basic operations on matrices and vectors). Computational complexity of algorithms. Floating-point arithmetic, outline of the stability of algorithms and stopping criteria. Basic software tools for scientific computing (operating systems with particular regard to Linux, the Fortran 90 and C programming languages).
Expected learning
outcomes
At the end of the course, students must demonstrate that they:
know and understand the general issues relating to the design, development and analysis of non-numerical algorithms, as well as the influence that the computing environment has on these algorithms;
are able to apply this knowledge to the independent development of algorithms and programs of moderate difficulty;
are able to communicate ideas and solutions clearly, rigorously and effectively to both specialist and non-specialist audiences;
are able to identify the most appropriate methods to analyse and solve a problem related to the course topics and to interpret the results correctly.
Learning outcomes
to be assessed
Assessment of the ability to develop algorithms and programs of varying difficulty; clarity, correctness and completeness in the written and/or oral presentation of the course topics.
Cookies are used to ensure the website works properly. By continuing to browse without changing your browser settings, you agree to receive all cookies. AcceptMore information
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.