. "Algorithms, Data Structures, Complexity, And Computability, Modeling Complex Systems"@en . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "Algorithms in geoinformation systems"@en . . "3" . "The course gives an overview of application of mathematics and computer science into geoinformation systems (GIS).\nUnderstanding algorithmic base of GIS is prerequisite for evaluation of results of GIS analysis and performing more complex spatial data analysis with typical GIS software. Spatial data structures and most important basic and more complex GIS algorithms are explained. Practical work includes implementation of known algorithms in selected programming language. \nMaintain topographic, cartographic, maritime and navigation, and land information systems, integrate and visualise spatial information.\nUse information technology in solving geodetic and geoinformation tasks.\nRecognise problems and tasks in the application of geodetic and geoinformation principles and methods, and select proper procedures for their solution.\nKeep pace with and adopt new technological achievements in the field of surveying, geoinformation systems and services\nbased on the position, and the changes in regulations, norms and standards." . . "Presential"@en . "FALSE" . . "Computational methods in liquid dynamics"@en . . "4" . "Computer arithmetic, error propagation in calculations, interactive solution of nonlinear equations, interpolation, approximation of functions. Orthogonal Chebyshev and Legendre polynomials, discrete integral approximation, Newton-Cotes method, Gaussian integration. Determination of eigenvalues of selected matrices, diagonalization of matrices, compilation and solution of discrete forms of selected differential equations describing fluid dynamics, Initial value problem, nondimensional equation, solution of integral equations, issues of uniqueness, consistency, stability and thus convergence of the solution, Euler's method of solution diff. equations, Runge-Kutta methods, multistep methods, Predictor-corrector method. The topics are focused to solve problems in meteorology and climatology.\n\nOutcome:\nApplication of numerical procedures to solve meteorological and climatological problems." . . "Presential"@en . "FALSE" . . "Introduction to programming"@en . . "3" . "Algorithms and programs. Representations of algorithms, flow-charts. Branching algorithms. Loops. Sub-algorithms. Developing algorithms for given text-based problems. Program structure. Names. Variables. Operations. Expressions. Boolean expressions, comparisons. Conditional statements. Loop statements. Lists. Functions. User input. Reading from a file. Writing to a file. Simple user interface.\n\nOutcome:\nAfter passing the course student\n- is motivated to use computers and to develop necessary programs for further studies;\n- can demonstrate basic programming constructs (branching, loops, subprogram) as programming sections;\n- can develop algorithms for simple text-based problems." . . "Hybrid"@en . "TRUE" . . "Computational statistics"@en . . "8" . "Multiple regression, Cholesky decomposition, \r\ndiagnostics and collinearity, principal components \r\nand eigenvalue problems. Nonlinear statistical \r\nmethods: Maximum likelihood estimation, Newton\u0002Raphson and related methods, multivariate data \r\nand the Newton Raphson method, optimization \r\ntechniques (unconditional and under constraints) EM \r\nalgorithm. Numerical Integration and Approximation: \r\nNewton-Coates method, spline interpolation, Monte \r\nCarlo integration, general approximation methods. \r\nProbability Density Estimation: Histogram, linear and \r\nnon-linear smoothing, splines. Bootstrap.\n\nOutcome: Not Provided" . . "Presential"@en . "TRUE" . . "Metaheuristics"@en . . "4" . "The discipline \"Metaheuristics\" is developed thematically \r\nin the areas of mathematical models and adaptive problem-independent algorithmic frameworks, \r\nclassification of metaheuristics as part of computational intelligence and study of operations, \r\nmetaheuristics inspired by nature as genetic algorithms, artificial bee and ant colonies, wide \r\nspectrum of metaheuristics algorithms for solving wide spectrum of NP-hard problems based on \r\ntrajectories and populations. Particular attention is paid to mapping the metaphor of adaptive \r\nproblem-independent algorithmic frameworks to the specifics of the solved NP-difficult problem, \r\nas well as the development on this basis of effective software applications\n\nOutcome:\nstudents will:\r\n• Gain knowledge of mathematical foundations and problem-independent adaptive algorithmic \r\nframeworks and computer models for solving a wide range of NP-hard computational problems, \r\nmethodologies for coding the problem and mapping the metaphor of the algorithmic framework to \r\nthe specifics of the problem.\r\n• Acquire skills for implementation of software applications based on metaheuristic computer \r\nmodels;" . . "Presential"@en . "FALSE" . . "Programming and scientific computing in python"@en . . "6" . "no data" . . "Presential"@en . "TRUE" . . "Scientific computing"@en . . "5" . "The module aims to:\n\nImpart an understanding of scientific computing, using Python\nProvide students with a grounding in the basic principles of algorithm development and program construction\nIntroduce principles of computer-based image analysis, information extraction and model development\nThe module will cover:\n\nIntroduction to Jupyter notebooks\nComputing in Python\nComputing for image analysis\nComputing for environmental modelling\nData visualisation for scientific applications\nSee: https://github.com/UCL-EO/geog0111\n\nLearning Outcomes:\n\nAt the end of the module, students should:\n\nHave an understanding of the Python programming language and experience of its use\nHave an understanding of algorithm development and be able to exploit widely-used scientific computing software to manipulate datasets and accomplish analytical tasks\nHave an understanding of the technical issues specific to image-based analysis, model implementation and scientific visualisation" . . "Presential"@en . "TRUE" . . "Applied numerical and computational modelling"@en . . "8" . "no data" . . "Presential"@en . "TRUE" . . "Computer programming"@en . . "6" . "Descriptions \nAlgorithms and programs. Representations of algorithms, flow-charts. Branching algorithms. Loops. Sub-algorithm. Refining algorithms for given text-based problems. Types. Program structure. Names. Variables. Operations. Expressions. Text output. Boolean expressions, comparing. Functions, description, return of value, invoke. Conditional statement. Loop statement. One-dimensional arrays. Array scan. Array return. Nested loops. String processing. Input and output. Data exchange with files. Screen graphics.\nLearning outcomes :\nAfter passing this course the student\n- can use fundamental programming constructions: variables, expressions, assignments, conditionals, iterations, procedures, recursion, simple input/output;\n- knows basic datatypes and -structures (numeric types, booleans, strings, lists) and can use corresponding standard operations;\n- can analyze and explain the behavior of simple programs, and modify and expand them;\n- can design algorithms for solving simple problems, and implement, test and debug the corresponding program." . . "Presential"@en . "FALSE" . . "Design and analysis of algorithms"@en . . "6" . "Description:\nfast Fourier transform (FFT), fast multiplication of polynomials using FFT, effective algorithm for calculating the maximal flow in the network, maximal flow.\nLearning outcomes\n After completing this course, the student will be able:\n* to use various algorithmic techniques and concepts, such as fast Fourier transform, maximum flow in the networks, linear-programming, approximation algorithm techniques\n* to be able to analyze the time complexity of the algorithms, to prove their correctness, and to show approximation factor (for approximation algorithms)\n* to read and understand medium-difficulty mathematical and computer science texts in the area;\n* to develop appropriate algorithms for a variety of applied problems, to analyze their performance and prove their correctness" . . "Presential"@en . "TRUE" . . "Modelling, uncertainty and data for engineers"@en . . "12" . "This module comprises two interlinked parts. The Theory, Application and Coding (TAC) part focuses on teaching and applying\nthe fundamental concepts on modelling, uncertainty and data (MUD), as well as coding skills. In the Q1 Project part students\nwork in multidisciplinary teams on cases in the context of a smart society, where they will apply the knowledge and skills from\nthe TAC. In the Q2 project, the students work at the interface areas where the three topics overlap, creating opportunities for\nmore integrated applications and the ability to focus on fields of interest per programme (when needed) while satisfying the same\nset of learning objectives. A gradually increasing complexity and openness of inquiry will be applied.\nStudy Goals After successfully completing the MUDE a student\nGeneral\nis able to describe and formulate a research question (or alternatively, design requirements) given a set problem and select the\nappropriate methodology and tools\nis able to present a fitting work plan to investigate a set of research questions or design requirements\nis able to compose a technical document using appropriate academic language and citation with references\nis able to work in a collaborative group environment effectively\nis able to code according to basic coding standards (e.g., consistency, readability, conciseness, structure, etc.) and collaborate\nwith their peers via distributed control software (e.g., git)\ncan perform spatial / temporal / multivariate analysis of data to extract knowledge via physics-based modelling tools, data-\ndriven approaches, and uncertainty quantification methods\ncan present and communicate with peers in Civil Engineering and Geosciences, results of analyses using specific modelling,\nuncertainty and data approaches with appropriate metrics and visualization techniques\nModeling\ncan design a modelling framework (from problem conceptualization to governing equation setup) for a physical/engineering\nprocess\ncan translate the modelling framework into discretized equations and computer code\ncan mathematically formulate and solve an optimization problem and discuss its properties\ncan assess optimization and simulation models performance using a set of indicators\nUncertainty\ncan derive relevant models and complete probability and statistic calculations for faculty-wide applications\ncan construct relevant models for probabilistic dependence, for example using bivariate distributions or discrete Bayesian\nPage 5 of134\nNetworks\nuse deterministic models with probabilistic inputs to evaluate engineering questions to quantify model output uncertainty (in\ntime and/or space)\nuse risk and reliability analyses concepts to describe systems, their characteristics and behaviour in time and space to support\ndecision making under uncertainty\nData\ncan identify parameters of interest, describe the functioning of common field/remote sensors used for measuring them, and\nexplain resolution implications in space and time\nis able to apply parameter estimation using observations and perform a quality assessment\ncan illustrate the procedure of gathering data from different sources, pre-processing it for analysis purposes, and sharing it\naccording to FAIR principles" . . "no data"@en . "TRUE" . . "Introduction to programming"@en . . "3" . "Obligatory base module 1 \nLearning outcomes\nAfter passing the course student\n- is motivated to use computers and to develop necessary programs for further studies;\n- can demonstrate basic programming constructs (branching, loops, subprogram) as programming sections;\n- can develop algorithms for simple text-based problems.\nBrief description of content\nAlgorithms and programs. Representations of algorithms, flow-charts. Branching algorithms. Loops. Sub-algorithms. Developing algorithms for given text-based problems. Program structure. Names. Variables. Operations. Expressions. Boolean expressions, comparisons. Conditional statements. Loop statements. Lists. Functions. User input. Reading from a file. Writing to a file. Simple user interface." . . "Presential"@en . "TRUE" . . "Computational physics I"@en . . "3" . "Learning outcomes\nStudent who has passed the course:\n* Knows about the principles of multiscale modelling.\n* Knows the applicability of density functional theory and is able to use it for solving problems.\n* Knows the applicability of monte carlo and is able to use it for solving problems.\n* Knows the applicability of molecular dynamics and is able to use it for solving problems.\n* Knows the applicability of finite element method and is able to use it for solving problems.\n* Know about mathematical methods for solving differential equations an is able to use them for solving problems.\nBrief description of content\nDuring the course a student will learn the main methods that are used in the modelling of physical processes. THe mothods will cover processes from micro to macro scale. The topics that will be presented are: density functional theory for quantum mechanical modelling of a material, monte carlo and molecular dynamics for empirical atomistic simulations, finite element method for studying processes in the continuum and mathematical methods for solving differential equations. Additionally, all topics are accompanied with practical exercises that help to understand the topics even further." . . "Presential"@en . "FALSE" . . "Introduction to programming II"@en . . "3" . "Learning outcomes\nAfter passing this course the student\n- can use fundamental programming constructions: variables, expressions, assignments, conditionals, iterations, procedures, recursion, regular expression, simple input/output;\n- knows basic datatypes and -structures (numeric types, booleans, strings, lists) and can use corresponding standard operations;\n- can analyze and explain the behavior of simple programs, and modify and expand them;\n- can design algorithms for solving simple problems, and implement, test and debug the corresponding program.\nBrief description of content\nAlgorithms and programs. Representations of algorithms, flow-charts. Branching algorithms. Loops. Sub-algorithm. Refining algorithms for given text-based problems. Number systems. Bit, byte. Types. Program structure. Names. Variables. Operations. Expressions. Text output. Boolean expressions, comparing. Methods, description, return of value, invoke. Conditional statement. Loop statement. One-dimensional arrays. Array scan. Array return. Nested loops. String processing. Input and output. Data exchange with files. Screen graphics. Overview of different programming languages. Main phases of software development." . . "Presential"@en . "FALSE" . . "Introduction to programming"@en . . "no data" . "no data" . . "Presential"@en . "TRUE" . . "Computation for scientists"@en . . "no data" . "no data" . . "Presential"@en . "TRUE" . . "Computational science"@en . . "no data" . "- Run Python code via interactive Jupyter notebooks\r\n- Use version control software\r\n- Write simple programs involving input/output, plotting, loops, conditionals and functions\r\n- Describe and implement different methods for interpolation.\r\n- Describe and implement elementary root-finding procedures.\r\n- Solve ODEs numerically using standard algorithms, analyse their accuracy and stability, and implement them numerically.\r\n- Describe elementary numerical integration integration schemes, analyse their accuracy, and implement them.\r\n- Describe elementary numerical algorithms for computing properties of matrices" . . "Presential"@en . "FALSE" . . "Computational biophysics"@en . . "no data" . "no data" . . "Presential"@en . "FALSE" . . "Algorithms for scientific computing"@en . . "8" . "no data" . . "Presential"@en . "FALSE" . . "Adjustment computations"@en . . "5" . "Intended LO: understanding approach to solving the problem\nand evaluating the results of the various\nrealizations of geodetic datum\n• understanding of the quality of observations,\nestimated parameters and mathematical model\nin general\n• understanding of transformation adjustment of\ncoordinate systems\n• understanding of the concept of collocation,\ncovariance and correlation functions and their\nuse in geodesy\n• understanding of the concept and the use of the\nKalman filter in geodetic and surveying practice\n• ability to solve various complex practical\nproblems in geodesy through a comprehensive\nquality control" . . "Presential"@en . "TRUE" . . "Introduction to computer science"@en . . "3" . "Introduction to the architecture and functioning of contemporary\ncomputers. Basics of computer networks and the Internet. Win-\ndows and Linux operating systems. Standards, formats and com-\nputer software for electronic office documents. Text editors - se-\nlected functions and applications. Spreadsheets. Software for" . . "Presential"@en . "TRUE" . . "Computer science"@en . . "3" . "Basic concepts of computer science. Algorithmisation of data pro-\ncessing objectives. Fundamentals of programming in a high-level\nlanguage. Management support software using databases. Data-\nbase functions. Data-base and database management system\n(DBMS). Relational data models. Structured query language SQL.\nArchitectures of DBMS. Computer networks and DBMS." . . "Presential"@en . "TRUE" . . "Computational methods I"@en . . "6" . "Basic operations. Ordinary differential equations. Boundary value problems. Special\nfunctions, Fourier transformation and Gauss quadrature." . . "Presential"@en . "TRUE" . . "Computational methods II"@en . . "6" . "Random numbers and Monte Carlo techniques. Partial differential equations. Particle code\nproblems and smoothed particle hydrodynamics." . . "Presential"@en . "TRUE" . . "Computational gravity"@en . . "3" . "Computational gravity and the use of modern computer tools (Mathematica and some\nelements of Cadabra software). Various symbolic and numerical computations within the\nframework of General Relativity. Computer-assisted solving of Einstein equations\n(Friedmann–Lemaître–Robertson–Walker, deriving Reissner–Nordström solution, etc.).\nGravitational models (modified theories, higher dimensions, cosmological constant, variation\nprinciple). Coupling gravity to scalar theory, electromagnetism. Black holes (orbits in\nSchwarzschild and Kerr spacetimes, black hole singularities and Kretschmann invariant).\nSelected cosmology and astrophysical phenomena." . . "Presential"@en . "FALSE" . . "Geospatial algorithms l"@en . . "no data" . "no data" . . "Presential"@en . "TRUE" . . "Geospatial algorithms p"@en . . "no data" . "no data" . . "Presential"@en . "TRUE" . . "Design and analysis of algorithms l. *"@en . . "4" . "no data" . . "Presential"@en . "TRUE" . . "Computer science"@en . . "5" . "Basic ability to write, compile and run programs in the C language." . . "Presential"@en . "TRUE" . . "Computational intelligence"@en . . "6" . "no data" . . "Presential"@en . "FALSE" . . "Computational methods in engineering"@en . . "5" . "Errors in computations, Approximation of functions; Linear and nonlinear equations; Numerical integration of functions and ordinary differential equations; Direct measurement errors, Statistical theory with engineering applications; Statistical analysis of stochastic systems; Least square method, Regression analysis; Correlation analysis." . . "Presential"@en . "TRUE" . . "Computer science 2"@en . . "2" . "Basic knowledge and practical skills in the area of numerical techniques applied to the problems like: post-processing of measurement data and numerical analysis of simple dynamical systems." . . "Presential"@en . "TRUE" . . "Modelling, estimation and dynamic systems"@en . . "5" . "no data" . . "Presential"@en . "TRUE" . . "Modelling, estimation and dynamic systems"@en . . "5" . "no data" . . "Presential"@en . "FALSE" . . "Complexity and criticality"@en . . "6" . "no data" . . "Presential"@en . "FALSE" . . "Computational materials physics"@en . . "6" . "Following a global discussion of the typical aspects of simulations at the quantum scale vs.\r\nsimulations at the microscale, you will be introduced to the workhorse method for quantum\r\nsimulations: density functional theory (DFT). This includes right from the start hands-on work\r\nwith a DFT code. The code is free and open source, which guarantees that you can keep using\r\nit later in your education, research or job. We’ll focus first on predicting structural properties of\r\ncrystalline materials. At this point the course bifurcates and you can choose one of these two\r\ntracks: continuing with simulations at the quantum scale for electronic, magnetic and other\r\nproperties of crystals, or stepping up to the microscale for simulations of a different kind about\r\nstructural dependent properties or microstructural evolutions.\nFinal competences:\n1 Being able to explain the concepts behind density-functional theory and the major simulation strategies at the micro scale.\r\n2 Using a general-purpose density-functional theory code to calculate basic properties of a given solid.\r\n3 Being able to understand and to critically evaluate research literature in which the simulation methods used in this course are applied.\r\n4 Evaluating the precision and accuracy of different simulation methods for a given solid and given property.\r\n5 Formulating a sound simulation strategy to address a materials problem." . . "Presential"@en . "FALSE" . . "Computational physics"@en . . "6" . "This course is an introduction to the major methods in numerical analysis, insisting on those methods that play an important role in theoretical and applied physics. The course considers the following topics. Chapter 1 summarizes the properties of the continuous and discrete Fourier transform and the application to digital filtering. The second Chapter presents the basic interpolation techniques, including Shannon sampling and Splines. Chapter 3 introduces numerical integration and deals also with the Monte-Carlo method and its application to nuclear physics. Chapter 4 deals with the numerical solution of ordinary differential equations, and Chapter 5 gives a very short discussion of integral equations. Optimization methods are presented in Chapter 6, with specific details over the optimization of quadratic functions. Chapter 7 introduces unsupervised learning techniques, in particular principal component analysis and clustering methods.\nGENERAL COMPETENCIES\r\ni/ Knowledge of the basic methods in numerical analysis.\r\nii/ Initial experimentation with the concrete analysis and treatment of examples of simple problems in physics." . . "Presential"@en . "FALSE" . . "Computational physics: advanced monte carlo methods"@en . . "3" . "no data" . . "Presential"@en . "FALSE" . . "Computational physics: molecular dynamics simulations"@en . . "3" . "no data" . . "Presential"@en . "TRUE" . . "Computer programming"@en . . "no data" . "no data" . . "no data"@en . "TRUE" . . "Geodata processing algorithms"@en . . "3" . "Numerical algorithms used in geospatial engineering, \r\nalgorithms of minimalist methods, mapping algorithms\r\nand solving classical tasks. Computational geometry \r\nalgorithms, including classical problems of spatial analy\u0002sis." . . "Presential"@en . "TRUE" . . "Basics in computing"@en . . "11" . "Basic computing;\nDatabase\nWeb technologies\nInformatic project" . . "Presential"@en . "TRUE" . . "Foundations of computer science"@en . . "9" . "Objectives and Contextualisation\nThe subject corresponds to a basic subject of introduction to the foundations of computers and to the programming in the degrees of telecommunications. It is taught in the first semester.\nThe basic training objectives of the subject are:\n- Introduce the student in the general concepts of the computer\n- Learn the basic architecture of a generic processor and work with the basics of its low level operation.\n- Learn programming methodology and apply it to the creation of programs in a high level language.\nIn this sense, the subject introduces the student into the concepts of the hardware of the computer. Also the subject introduces the students into the C programming.\n\n\nCompetences\nElectronic Engineering for Telecommunication\nDevelop personal work habits.\nDevelop thinking habits.\nLearn new methods and technologies, building on basic technological knowledge, to be able to adapt to new situations.\nWork in a team.\nTelecommunication Systems Engineering\nDevelop personal work habits.\nDevelop thinking habits.\nLearn new methods and technologies, building on basic technological knowledge, to be able to adapt to new situations.\nWork in a team.\nLearning Outcomes\nCritically evaluate the work done.\nDefine the architecture of computers and servers and use operating systems.\nDefine the architecture of computers and servers, and use of operating systems.\nDescribe, on a basic level, the use and programming of computers, operating systems, databases and computer programs that have applications in engineering.\nDescribe, on a basic level, the use and programming of computers, operating systems, databases and computer programs with engineering applications.\nDesign and implement databases in the development of software applications and, specifically, applied to information systems.\nDevelop independent learning strategies.\nDevelop scientific thinking.\nDevelop the capacity for analysis and synthesis.\nIdentify the functional units of a computer.\nUse basic programming theory and language programming to develop software systems.\nUse the basic theories of programming and programming languages to develop software systems.\nWork autonomously.\nWork cooperatively.\n\nContent\nA. PROGRAMMING FOUNDATIONS\n1. Computer engineering and computing\n2. Representation of information in the computer\n3. Algorithms design\n4. Introduction to C\n5. Control structures\n6. Functions and procedures\n7. Vectors (arrays: lists and tables)\n8. Structures (registers)\n9. Files\nB. COMPUTER BASICS\n10. Digital components\n11. Introduction to computer architecture\n12. Machine language and assembler\n13. Operating systems.Files and databases." . . "Presential"@en . "TRUE" . . "Basic computational techniques"@en . . "6" . "Specific Competition\nCE8 - Know how to program, at least, in a relevant language for scientific calculation in Astrophysics\nCE11 - Know how to use current astrophysical instrumentation (both in terrestrial and space observatories) especially that which uses the most innovative technology and know the fundamentals of the technology used\nGeneral Competencies\nCG1 - Know the advanced mathematical and numerical techniques that allow the application of Physics and Astrophysics to the solution of complex problems using simple models\nCG4 - Evaluate the orders of magnitude and develop a clear perception of physically different situations that show analogies allowing the use, to new problems, of synergies and known solutions\nBasic skills\nCB6 - Possess and understand knowledge that provides a basis or opportunity to be original in the development and/or application of ideas, often in a research context\nCB7 - That students know how to apply the knowledge acquired and their ability to solve problems in new or little-known environments within broader contexts\nCB8 - That students are able to integrate knowledge and face the complexity of formulating judgments based on information that, being incomplete or limited, includes reflections on the social and ethical responsibilities linked to the application of their knowledge and judgments\nCB10 - That students possess the learning skills that allow them to continue studying in a way that will be largely self-directed or autonomous\n6. Subject contents\nTheoretical and practical contents of the subject\nThe theoretical and practical contents of the subject are divided into the following topics:\n\nTopic 1. Introduction to programming with Python\n 1.1 Introduction to programming languages\n ​​1.2 Installation and startup\n 1.3 Data types\n 1.4 Operators\n 1.5 Modules\n 1.6 Operations and data structure\n 1.7 Control flow statements\n 1.8 Reading and writing files\n 1.9 User-defined functions\n 1.10 Running codes with exceptions\n 1.11 Passing arguments on the command line\n 1.12 Classes\n 1.13 Graphs\n\nTopic 2. Statistical analysis of data\n 2.1 Introduction\n 2.2 Libraries\n 2.3 Material\n 2.4 Previous concepts: measurement; precision and accuracy; random and systematic errors; observable; bias; estimator; noise; data model\n 2.5 Characterization of measurements: mean value, median and mode; deviations; variance; significance; covariance matrix\n 2.6 Probability density distribution functions: continuous and discrete distributions; representation of distributions; obliquity/skewness and kurtosis; exercises\n 2.7 Probability functions: sampling of probability functions\n\nTopic 3. Linear and nonlinear adjustments\n 3.1 Method of least squares\n 3.2 Nonlinear functions\n\nTopic 4. Bayesian statistics\n 4.1 Information and entropy\n 4.2 Distance between probability functions\n 4.3 Bayesian Inference: axioms of probability theory; Bayes theorem; model comparison: evidence; steps in Bayesian inference; sampling of a lognormal-Poisson function\n\nTopic 5. Fourier analysis\n 5.1 Introduction\n 5.2 Fourier theorem\n 5.3 Properties: convolution; Fourier transform and differential operators; famous transformations; filters; discrete Fourier transform; algorithms; bookstores" . . "Presential"@en . "FALSE" . . "Scientific computing"@en . . "6.00" . "no data" . . "Presential"@en . "FALSE" . . "Computational dynamics of deformable bodies"@en . . "5.00" . "General Competences\nApply knowledge in practice\nRetrieve, analyse and synthesise data and information, with the use of necessary technologies\nAdapt to new situations\nMake decisions\nWork autonomously\nWork in teams\nWork in an international context\nWork in an interdisciplinary team\nGenerate new research ideas\nDesign and manage projects\nAdvance free, creative and causative thinking" . . "Hybrid"@en . "TRUE" . . "Computational fluids dynamics"@en . . "5.00" . "Learning Outcomes\nThe students will be able to:\n1. Know how to calculate the flow field development on/in bodies with the use of numerical techniques for the discretization of governing equations\n2. Know the fundamental numerical techniques of finite differences and finite volumes\n3. Know the convection - diffusion interpolation schemes\n4. Know the pressure correction scheme\n5. Know how integrated software packages compute the internal and external flows\nGeneral Competences\nApply knowledge in practice\nRetrieve, analyse and synthesise data and information, with the use of necessary technologies\nMake decisions\nWork autonomously\nWork in teams\nWork in an international context\nDesign and manage projects\nCourse Content (Syllabus)\n1. Introduction. Error analysis. Essential algorithms for the solution of system of equations. Numerical integration. 2. Linear and non-linear differential equations. Classification of differential equations governing mass transport and heat transfer phenomena. Typical equations governing convection and diffusion problems. The \"source term\" concept. The importance of boundary conditions and initial conditions. 3. Discretization techniques of differential equations. Taylor expansion. Discretization of first and second order. Error analysis of discretized equations. 4. Finite differences technique. Solution of parabolic, elliptic and hyperbolic flow problems with the use of finite differences technique. Discretization techniques for compressible flow problems. 5. Control volume technique. Numerical integration on a control volume. Control volume techniques adapted for specific problems. The numerical scheme and the interpolation scheme on the control volume technique. The hybrid and the central scheme. Higher order numerical schemes. The SIMPLE and SIMPLEC pressure correction technique. 6. Elements from the grid generation and grid aspects. Classification of grids and grid quality. Transformation from the cartesian to the generalized curvilinear space. Transformation of the fluid flow and heat transfer cartesian equations to the generalized curvilinear forms. The Jacobi determinant. 7. Elements from vector programming. Management of vector units on the computer processor. Programming on a parallel environment for high performance computing. The MPI parallel programming protocol." . . "Hybrid"@en . "TRUE" . . "Programming and computational physics"@en . . "7.0" . "Description in Bulgarian" . . "Presential"@en . "TRUE" . . "Fundamentals of programming"@en . . "6.0" . "Programming is key to automating any engineering product such as UAVs. This module therefore introduces the basic concepts in programming (Data types, Control structures, Functions, Arrays, pointers, Files) and the running, testing and debugging of scripts and programmes. Programming concepts are demonstrated in a variety of languages and practiced in a standard programming language (C) which is used to programme the autopilot in most UAV applications. The module will also introduce students the best practices in secure coding such as input validation and issues such as integer exploits and buffer overflows." . . "Presential"@en . "TRUE" . . "Parallel computing"@en . . "6.0" . "https://sigarra.up.pt/fcup/en/ucurr_geral.ficha_uc_view?pv_ocorrencia_id=507411" . . "Presential"@en . "FALSE" . . "Computational methods applied to geophysics"@en . . "6.0" . "no data" . . "Presential"@en . "FALSE" . . "Computational chemistry"@en . . "6.0" . "https://sigarra.up.pt/fcup/en/ucurr_geral.ficha_uc_view?pv_ocorrencia_id=498519" . . "Presential"@en . "FALSE" . . "Computational statistics"@en . . "6.0" . "In this course, we will review basic concepts in statistical inference (confidence intervals, parameter estimation, and hypothesis testing). We will then study computer-intensive methods that work without imposing unrealistic or unverifiable assumptions about the data generating mechanism (randomization tests, the bootstrap, and Markov chain Monte Carlo). This will provide us with the foundations to study modern inference problems in statistics and machine learning (false discovery rates, Benjamini-Hochberg procedure, and causal inference).\n\nPrerequisites\nNone.\n\nDesired prior knowledge: Probability and Statistics\n\n\nMore information at: https://curriculum.maastrichtuniversity.nl/meta/466187/computational-statistics" . . "Presential"@en . "TRUE" . . "Algorithms for big data"@en . . "6.0" . "The emergence of very large datasets poses new challenges for the algorithm designer. For example, the data may not fit into the main memory anymore, and caching from a hard-drive becomes a new bottleneck that needs to be addressed. Similarly, algorithms with larger than linear running time take simply too long on very large datasets. Moreover, simple sensory devices can observe large amount of data over time, but cannot store all the observed information due to insufficient storage, and an immediate decision of what to store and compute needs to be made. Classical algorithmic techniques do not address these challenges, and a new algorithmic toolkit needs to be developed. In this course, we will look at a number of algorithmic responses to these problems, such as: algorithms with (sub-)linear running times, algorithms where the data arrive as a stream, computational models where memory is organized hierarchically (with larger storage units, such as hard-drives, being slower to access than smaller, faster storage such as CPU cache memory). New programming paradigms and models such as MapReduce/Hadoop will be discussed. We will also look at a number of topics from classical algorithm design that have undiminished relevance in the era of big data such as approximation algorithms and multivariate algorithmic analysis.\n\nPrerequisites\nDesired prior knowledge: Discrete mathematics, algorithm design and analysis, elementary discrete probability\n\n\nMore information at: https://curriculum.maastrichtuniversity.nl/meta/465457/algorithms-big-data" . . "Presential"@en . "TRUE" . . "Data fusion"@en . . "6.0" . "ICT development, e.g., remote sensing, IoT, lead to an enormous growth of available data for analysis. To integrate this heterogeneous or multimodal data, data fusion approaches are used. Data fusion can be understood as a framework for the joint analysis of data from multiple sources (modalities) that allows achieving information/knowledge not recoverable by the individual ones.\n\nDuring this course, several approaches to data fusion will be discussed, such as:\n\nLow level data fusion, where data fusion methods are directly applied to raw data sets for exploratory or predictive purposes. A main advantage is the possibility to interpret the results directly in terms of the original variables. An example of a low level data fusion is measuring the same signal or phenomena with different sensors, in order to discover the original one. Traditionally, PCA based methods are used for this type of data fusion.\nMid level data fusion, where data fusion operates on features extracted from each data set. The obtained features are then fused in a “new” data set, which is modeled to produce the desired outcome. A main advantage is that the variance can be removed in the features extraction step, and thus the final models may show better performance. An example of a mid level data fusion is extracting numerical features from an image, and building a decision model based on those features.\nHigh level data fusion, also known as decision fusion, where decisions (models outcome) from processing of each data set are fused. It is used when the main objective is to improve the performance of the final model and reach an automatic decision. Several methods can be used for high-level DF, such as weighted decision methods, Bayesian inference, Dempstere Shafer’s theory of evidence, and fuzzy set theory. There is a link between high-level data fusion and ensemble methods.\nFederated learning. Federated learning enables multiple parties jointly train a machine learning model without exchanging the local data. In case of federated learning, we can talk about model fusion.\nPrerequisites\nNone.\n\nDesired prior knowledge: statistics and basic machine learning\n\n\nMore information at: https://curriculum.maastrichtuniversity.nl/meta/462543/data-fusion" . . "Presential"@en . "FALSE" . . "Symbolic computation and control"@en . . "6.0" . "This course consists of two interrelated parts. In the first part, we focus on basic techniques for the digital control of linear dynamical systems using feedback. We start by addressing system stability and we discuss the technique of pole placement by state feedback to solve the regulation problem. Then we introduce state observers to solve the regulation problem by output feedback. Next, we extend our scope to tracking problems. This involves the design of additional dynamics to characterize the relevant class of reference signals, which are then integrated with the earlier set-up for output feedback. Finally, we discuss the classical topic of optimal control, which can be employed to avoid using prototype systems for pole placement, and which allows the user to design a feedback law by trading off the cost involved in generating large inputs against the achieved tracking accuracy. In the second part, we address computational issues, related to the field of systems and control. Classically, computers have been designed primarily to perform approximate numerical arithmetic. Modern software packages for mathematical computation, such as Maple and Mathematica, allow one to perform exact and symbolic computation too. We shall explore this new area. It is demonstrated how speed, efficiency and memory usage considerations often lead to surprising and fundamentally different algorithmic solutions in a symbolic or exact context. Applications and examples involve stability of linear systems, model approximation, and linear matrix equations with free parameters. Practical classes serve to demonstrate the techniques and to make the student familiar with exact and symbolic computation.\n\nPrerequisites\nDesired Prior Knowledge: Linear Algebra, Calculus, Mathematical Modelling.\n\nRecommended reading\nRichard J. Vaccaro, Digital Control - A State-Space Approach, McGraw-Hill International Editions, 1995. ISBN 0-07-066781-0.\n\nMore information at: https://curriculum.maastrichtuniversity.nl/meta/463211/symbolic-computation-and-control" . . "Presential"@en . "FALSE" . . "Fundamentals of programming"@en . . "6.0" . "Objectives\nProvide knowledge about fundamental concepts related to programming activity, namely, algorithm, procedural abstraction and data abstraction, programming as construction of abstractions, programming paradigms. After attending the course, students should master the concepts presented and be able to develop programs in a high level programming language, Python.\n\nProgram\nComputers, algorithms and programs. Programming languages. Syntax and semantics. Basic elements of programming. Elementary data types. Names and assignment. Communication with outside world. Programs, instructions and sequencing. Selection. Repetition. Functions. Procedural abstraction. Tuples and counted cycles. Strings. Lists. Recursive Functions. Higher order functions. Functional programming. Recursion and iteration. Files, Dictionaries. Data abstraction. Abstract data types. Object-oriented programming.\n\nEvaluation Methodology\nContinuous assessment in practical classes 2 Programming Projects 1 Exam The continuous evaluation component will have a weight >= 40%\n\nCross-Competence Component\nExplain the soft skills to be developed according to the commission of transversal competences definitions, indicating what percentage of its evaluation components includes the transversal competences defined.\n\nLaboratorial Component\nna\n\nProgramming and Computing Component\nIn the course where this course is offered the Computing and Programming components according to MEPP 2122 are assured.\n\nMore information at: https://fenix.tecnico.ulisboa.pt/cursos/lerc/disciplina-curricular/845953938490005" . . "Presential"@en . "TRUE" . . "Introduction to algorithms and data structures"@en . . "6.0" . "Prerequisites\nSuccessful completion of the Foundations of Programming Course\n\nObjectives\nLearn to program using an imperative language, understanding the syntax and semantics of the language ANSI C. Learn basic sorting and searching algorithms. Learn to choose, create and use data structures suitable to the problems in question. Learn to develop iterative and recursive algorithms. Acquire notions of the complexity of the algorithms applied to solve a given problem in order to chose those that are more efficient.\n\nProgram\nIntroduction to imperative programming and to the C programming language. Introduction to algorithm complexity. Sorting algorithms: direct sort, selection sort, bubblesort, quicksort, mergesort. Data types: stacks, queues, priority queues and heaps. Searching in trees. Dynamic data structures. Binary trees. Balanced binary trees. Hash tables. Colision resolution by chaining and open addressing. Double hashing.\n\nEvaluation Methodology\nExam (60%) + 2 Individual Projects + 1 Practical Test (40%).\n\nCross-Competence Component\nThere is no explicit component of soft-skills within this UC however the development of 2 individual projects will promote student's transversal competences in Critical Thinking and Intra-personal Competences.\n\nLaboratorial Component\nProgramming Exercises to be developed every week following the subjects learned in lectures\n\nProgramming and Computing Component\nThis course is offered in a degree where the skills defined by the Computing and Programming Commission are already satisfied.\n\n\nMore information at: https://fenix.tecnico.ulisboa.pt/cursos/lerc/disciplina-curricular/845953938490008" . . "Presential"@en . "TRUE" . . "Introduction to computational methods in physics"@en . . "7" . "The most important functions and their properties, coordinate systems and vector algebra, complex numbers (Cartesian representation, exponential form), differentiation rules, differentiation of functions and vectors, partial differentiation, integration rules, rotational bodies, calculation of arc lengths, multiple integrals, ordinary differential equations 1st and 2nd order (linear homogeneous and inhomogeneous differential equations in the physical context, existence and uniqueness of solutions) as well as differentiation of fields (grad, div and rot), integration of fields (curve and surface integrals)." . . "Presential"@en . "TRUE" . . "Introduction to computing science"@en . . "20.0" . "https://portal.stir.ac.uk/calendar/calendar.jsp?modCode=CSCU9P1&_gl=1*zxnwpp*_ga*MTY1OTcwNzEyMS4xNjkyMDM2NjY3*_ga_ENJQ0W7S1M*MTY5MjAzNjY2Ny4xLjEuMTY5MjAzODY1MC4wLjAuMA.." . . "Presential"@en . "FALSE" . . "Data structures, objects and algorithms (cscu9a3)"@en . . "20.0" . "https://portal.stir.ac.uk/calendar/calendar.jsp?modCode=CSCU9A3&_gl=1*nwt5vt*_ga*MTY1OTcwNzEyMS4xNjkyMDM2NjY3*_ga_ENJQ0W7S1M*MTY5MjAzNjY2Ny4xLjEuMTY5MjAzOTM5NC4wLjAuMA.." . . "Presential"@en . "FALSE" . . "Introduction to computing science (cscu9p1)"@en . . "20.0" . "https://portal.stir.ac.uk/calendar/calendar.jsp?modCode=CSCU9P1&_gl=1*nwt5vt*_ga*MTY1OTcwNzEyMS4xNjkyMDM2NjY3*_ga_ENJQ0W7S1M*MTY5MjAzNjY2Ny4xLjEuMTY5MjAzOTM5NC4wLjAuMA.." . . "Presential"@en . "FALSE" . . "Computer science in astronomy"@en . . "6" . "no data" . . "Presential"@en . "TRUE" . . "Computer programming for engineers I"@en . . "5" . "Introduction to informatics and computers. Internal representation of numbers in computers, conversions. Main computer components - hardware and software Operating systems, processing, and application software. Introduction to Programming, computer languages Principles of programming, algorithms and flow-charts. Evolution of computer languages. Introduction to C++. The environment and editor of C++. Data types and their characteristics (arithmetic, alphanumeric and logical constants or variables). Arithmetic, relational and logical operators and expressions. Declaring and using array variables. Syntax and usage of commands in QB. Input / output of data from the console. Control-flow structures (decision structures, looping structures) and corresponding commands." . . "Presential"@en . "TRUE" . . "Computer programming for engineers II"@en . . "5" . "Basics (elements of language C++). Revision of control-flow structures and programming in C++. Function parameters. Passing arrays as function parameters. Variable scope. Strings in C++. Input/Output with C++ functions, output data formatting. I/O streams, I/O using data files. Sorting and searching algorithms for array structures. Data structures, declaration and referencing of classes. Using structures in arrays and files. Recursive functions. Pointers, dynamic memory allocation. Classes, scope, polymorphism, applications. Complex applications with classes and files. Object-oriented analysis and programming in Windows. Software applications and examples." . . "Presential"@en . "TRUE" . . "Computational methods in engineering"@en . . "5" . "Not provided" . . "Presential"@en . "TRUE" .