Skip to main content

ISLA IPGT 6291

Algorithms and Data Structure

Multimedia
  • ApresentaçãoPresentation
    This course is essential for the training of any IT professional, as it introduces Algorithms and Data Structures, which serve as a basis for several future subjects, such as Programming Languages ¿¿I and II, among others. The focus goes beyond simply learning a programming language: the student develops logical thinking skills, analyzes problems and creates fundamental knowledge about how data is organized, stored and manipulated efficiently, as well as about the algorithms that operate on these structures. Learning algorithms and data structures is an essential basis for developing robust, efficient and scalable software.
  • ProgramaProgramme
    Syllabus: 1. Algorithms and Data Structures Concepts Algorithm efficiency analysis Asymptotic notations 2. Dynamic Data Structures Vectors and Matrices Stacks, Queues, Lists Trees and Graphs Structure operations (Insert, change, delete and sort) 3. Sorting and Search Sort: Bubble Sort, Quick Sort, Selection Sort, Insertion Sort, Shell Sort, Merge Sort Search: sequential, binary, hashing Comparison of algorithms 4. Recursion Basic concepts Factorial Function, Fibonacci, Tail Recursion, Other Functions Classical problems of recursive functions 5. Implementation in C# Layer model Files, streams and serialization Database applications Error handling      
  • ObjectivosObjectives
    Analyze the complexity of the main dynamic data structures: arrays, matrices, lists, stacks, queues.   Study the main search and sorting algorithms. Implement the structures and algorithms in C#.
  • BibliografiaBibliography
    Packt Publishing. (2023). C# Data Structures and Algorithms. Packt Publishing. Edet, T. (2023). Algorithms and Data Structures for OOP with C#. Independently published. Wengrow, J. (2020). A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills. Pragmatic Bookshelf.  
  • MetodologiaMethodology
    This course is theoretical and practical in nature and is taught in a problem-solving context, complemented by demonstrations of practical application using exercises, as well as guidance and mentoring in projects.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Mandatory
  • EstágioInternship
    Não