How to find us
|
Contacts

Data Structures 2017/2018

  • 6 ECTS
  • Taught in Portuguese
  • Continuous Assessment

Objectives

The course aims to introduce the fundamental concepts of abstract data structures. At the end of the semester the student will be able to:
1 Know the operation and understand the usefulness of the more relevant abstract data structure, including lists, stacks, queues, trees and graphs
2 Know how to choose and use appropriate data structures to solve problems.
3 know how to implement the data structures in particular using dynamic memory management.
The student will also be able to plan, manage and develop a group work, as well as present it, either written or orally.

Recommended Prerequisites

Curricular units: Algorithms and Programming, Object Oriented Programming
Concepts: Java Programming

Teaching Metodology

The lecture course is developed in theoretical/practical classes and laboratories.
In the theoretical practical classes the fundamental concepts about the ADT are presented, frequently using the discussion with the students and the teaching by the discovery through examples. The labs intend to develop the specific skills, through the resolution of practical exercises in the computer, with individual accompaniment by the teacher.
Resources: Java Language; Eclipse IDE; resources available in the curricular unit page in MOODLE

Body of Work

Abstract data structures (ADTs): stacks, queues, lists, trees, graphs
Behavior of each ADT
Sequential and dynamic representation of ADTs
Java Implementation of each of the ADTs
Problems resolution using the ADTs in Java

Recommended Bibliography

Carrano, F., Henry T., Data Structures and Abstractions with Java, 4ª Ed,Pearson, 2015
Weiss, M. Allen, Data Structures & Problem Solving Using Java, 4ªEd, Pearson, 2013

Complementary Bibliography

Weiss, M. Allen, Data Structures & Algorithms Analysis in Java, 3ªEd, Pearson, 2014
Carrano, F., Prichard, J., Data Abstraction and Problem Solving with Java: walls and mirrors, Pearson, 3ª Ed., 2011

http://wps.prenhall.com/esm_carrano_dsaj_1
MIT's OpenCourseWare: http://ocw.mit.edu/OcwWeb/index.htm
Stanford CS Education Library: http://cslibrary.stanford.edu/

Weekly Planning

week Contents
1 Introduction and Java Reviews
2 Reviews of Java; Introduction to the study of ADTs
3 Lists
4 Lists
5 Using Lists
6 Stacks
7 Queues
8 Structures in lists and 1st practice test
9 Structures in lists
10 trees
11 trees
12 Using ADTs
13 Graphs and HEAPs
14 Written test
15 practice test ans assignment presentations

Demonstration of the syllabus coherence with the curricular unit's objectives

The objectives of this course are: 1. To know the operation and understand the usefulness of the most relevant abstract data structures: lists, stacks, queues, trees and graphs
2. To Know how to choose and use the appropriate data structures to solve a problem.
3. To know how to implement the data structures in particular using dynamic memory management.
Thus the contents to be addressed include a description of each abstract data structures (ADTs): stacks, queues, lists, trees, graphs, and a description of their behavior. In order to know how to implement the ADTs they will be analyzed comparing the sequential and linked representations, using the Java language. So that students know how to choose the appropriate ADT to solve a given problem, cases will be presented.

Demonstration of the teaching methodologies coherence with the curricular unit's objectives

The course is developed in theoretical / practical and laboratory classes.
The objectives include: 1. To know the operation and understand the usefulness of the most relevant abstract data structures: lists, stacks, queues, trees and graphs
2.To Know how to choose and use the appropriate data structures to solve a problem.
3. To know how to implement the data structures in particular using dynamic memory management.
The lectures / practices will allow students to know and understand the ADTS and understand their use in solving different problems. The practical exercises allows students to know how to implement the ADTs and also how to choose a particular ADT to use in certain situation.

relevant generic skillimproved?assessed?
Achieving practical application of theoretical knowledgeYesYes
Analytical and synthetic skillsYes 
Commitment to effectivenessYesYes
Commitment to quality  
CreativityYesYes
Ethical and responsible behaviour  
Event organization, planning and managementYesYes
Foreign language proficiencyYes 
Initiative and entrepreneurship capability  
IT and technology proficiencyYesYes
Problem Analysis and AssessmentYes 
Problem-solvingYesYes
Relating to othersYes 
Self-assessmentYesYes
TeamworkYesYes
Written and verbal communications skillsYesYes
This website uses cookies to provide better functionality and for performance measurements (European Union Directive 2009/136/EC)
Please take a few minutes do answer a few quick questions about our website.