|
||||||||||||||||||||||||||||||||||||||||
View general information Description The subject within the syllabus as a whole Professional fields to which it applies Prior knowledge Information prior to enrolment Learning objectives and results Content View the UOC learning resources used in the subject Additional information on support tools and learning resources Guidelines on assessment at the UOC View the assessment model | ||||||||||||||||||||||||||||||||||||||||
This is the course plan for the first semester of the academic year 2024/2025. To check whether the course is being run this semester, go to the Virtual Campus section More UOC / The University / Programmes of study section on Campus. Once teaching starts, you'll be able to find it in the classroom. The course plan may be subject to change. | ||||||||||||||||||||||||||||||||||||||||
When designing a program it is very important to take efficiency into account, that is to say, let it consume the minimum quantity of resources in order to carry out its goal. Therefore, computational time and memory space to store the data is to be minimized, as well as the number of messages to be sent through the network, the amount of consumed energy, etc. There exist two fundamental tools to achieve this: data structures and algorithmic schemes:
This course presents the concepts on data structures and algorithms necessary for research. In particular, the subject reviews fundamental concepts of algorithmic complexity (space and temporary costs, calculation of the cost of an algorithm, typical orders of magnitude) as well as basic concepts of data structures (abstract data types, management of pointers and memory, etc). From this base, the subject deepens in usual data structures (stacks, queues, lists, trees, heaps, hash tables) and presents an introduction to algorithms on graphs (paths, shortest paths, tree generators, etc.). |
||||||||||||||||||||||||||||||||||||||||
Data structures and algorithms is an optional course of the Interuniversity Master in Computational and Mathematical Engineering. The knowledge acquired in this course will be useful in the development of practical activities in other courses of the master. In particular, it is recommended to enroll this course before enrolling Combinatorial optimisation. |
||||||||||||||||||||||||||||||||||||||||
The concepts acquired in this course are essential to develop software that efficiently uses any available computational resources. For this reason, this course is relevant to any work related to the design and implementation of software, especially in the field of R&D or applied mathematics. |
||||||||||||||||||||||||||||||||||||||||
This course requires basic knowledges of algorithmics: knowing the basics of programming (loops, conditionals, etc.) and understanding algorithms described in pseudocode. Also it requires a previous knowledge of the Java object-oriented programming language sufficient to write, execute and test programs. On the other hand, the central materials of the course are in English. By this reason, having a good level of written comprehension of technical English is recommended. |
||||||||||||||||||||||||||||||||||||||||
Before enrolling this subject, it is necessary to have previous knowledge about algorithmics and Java programming and have a good level of technical English for written comprehension. |
||||||||||||||||||||||||||||||||||||||||
The general competences of the master taught in this course are:
The specific competences of this course are:
|
||||||||||||||||||||||||||||||||||||||||
The course is structured in four thematic blocks:
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
The central material of the course is a book of reference in this field: "Algorithms, 4th Edition", by Robert Sedgewick and Kevin Wayne. The contents of the book go further of what we will study in the course and will be useful as a reference during your professional career. To guide the study of the book and highlight the important contents of the book within the course, there will be a study guide in the classroom every week with advice on how to review the contents of the book. As complementary material, there are some didactic UOC modules titled "Design of data structures". These materials can be used to solve any doubts that you may have when reviewing the book of the course. However, these materials mainly focus on how the data structures are implemented, whereas in this course we will focus more in knowing how to use them and the criteria to choose the most appropriate. |
||||||||||||||||||||||||||||||||||||||||
The assessment process is based on students' own work and the assumption that this work is original and has been carried out by them. In assessment activities, the following irregular behaviours, among others, may have serious academic and disciplinary consequences: someone else being involved in carrying out the student's assessment test or activity, or the work being not entirely original; copying another's work or committing plagiarism; attempting to cheat to obtain better academic results; collaborating in, covering up or encouraging copying; or using unauthorized material, software or devices during assessment. If students are caught engaging in any of these irregular behaviours, they may receive a fail mark (D/0) for the assessable activities set out in the course plan (including the final tests) or in the final mark for the course. This could be because they have used unauthorized materials, software or devices (e.g. social networking sites or internet search engines) during the tests, because they have copied text fragments from an external source (internet, notes, books, articles, other student's projects or activities, etc.) without correctly citing the source, or because they have engaged in any other irregular conduct. In accordance with the UOC's academic regulations , irregular conduct during assessment, besides leading to a failing mark for the course, may be grounds for disciplinary proceedings and, where appropriate, the corresponding punishment, as established in the UOC's coexistence regulations. In its assessment process, the UOC reserves the right to:
|
||||||||||||||||||||||||||||||||||||||||
|