Go to:
Logótipo
You are in:: Start > CC1007

Data Structures

Code: CC1007     Acronym: CC1007     Level: 100

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2018/2019 - 2S

Active? Yes
Web Page: http://www.dcc.fc.up.pt/~pribeiro/aulas/edados1819/
Responsible unit: Department of Computer Science
Course/CS Responsible: Bachelor in Computer Science

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L:B 0 Official Study Plan 3 - 6 56 162
L:CC 92 Plano de estudos a partir de 2014 1 - 6 56 162
L:F 1 Official Study Plan 2 - 6 56 162
3
L:G 2 study plan from 2017/18 2 - 6 56 162
3
L:M 2 Official Study Plan 2 - 6 56 162
3
L:Q 7 study plan from 2016/17 3 - 6 56 162
MI:ERS 155 Plano Oficial desde ano letivo 2014 1 - 6 56 162

Teaching language

Portuguese

Objectives

It is intended that the student reinforces his programmings skills, gets to know some of the main data structures and associated algorithms and gains basic knowledge on the conception and analysis of algorithms.

Learning outcomes and competences

The main learning goals are:

- Proficiency with the Java language and with the object oriented programming paradigm;
- Knowledge of the main basic data structures: arrays, matrices, linked lists and binary trees;
- Knowledge of the main abstract types of data and their implementations: queues, stacks, sets, dictionaries and priority queues;
- Basic knowledge of algorithmic analsyis and comprehension of the main classes of complexity;
- Enrichment of knowledge about some algorithmic techniques such as recursion, backtracking search and divide-and-conquer;
- Practical experience applied to concrete problems.

Working method

Presencial

Program

- Fundamental Java Concepts:
  . Classes, objects, attributes and methods
  . Primitive types, Strings, warappers, arrays and and enum types
  . Expressions, operators and control flow instructions
  . Input/Output and the the Scanner class
  . Packages and default libraries of Java
  . Principles of software development, style and documentation
- Object Oriented Programming:
  . Goals, principles, patterns and inheritance mechanism
  . Interfaces and Abstract Data Types (ADTs)
  . Using generics and iterators
- Asymptotic Analysis Concepts:
  . Basic notions of asymptotic analysis
  . Main complexity classes and how to compare them
  . Examples of algorithmic analysis
- Algorithm Design Techniques:
  . Structures Programming
  . Recursion
  . Exhaustive search and backtracking
  . Divid-and-conquer
- Fundamental Data Structures:
  . Arrays and matrices
  . Simple linked lists, circular linked lists and doubly linked lists
  . Árvores binárias, árvores de pesquisa e heaps
- Abstract Data ypes and their possible Implementations:
  . Sequences, stacks, queues and deques
  . Associative containers: sets and maps
  . Priority queues

Mandatory literature

Goodrich Michael T.; Data structures and algorithms in Java. ISBN: 0-471-73884-0

Complementary Bibliography

Sedgewick Robert; Introduction to programming in Java. ISBN: 978-0-321-49805-2
Cormen Thomas H. 070; Introduction to algorithms. ISBN: 978-0-262-03384-8

Teaching methods and learning activities

Theory classes where the material is explained, including live codigin sessions. Practical classes with programming exercises.

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Exame 70,00
Trabalho laboratorial 30,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Frequência das aulas
Total: 0,00

Eligibility for exams

Not exceeding the maximum limit of missed practical classes and the online weekly quizzes.

Calculation formula of final grade

- P: practical grade, worth 30% of the final grade, obtained with:
   3 practical programming tests in a computer environment (worth 2 points each
   Minimum grade: 25% (minimum of 1.5 on a grade from 0 to 6)

 - E: exam grade, worth 70% of the final grade, obtained with a written test with a grade from 0 to 20.

"Normal" season classification: C = E*0.7 + P ≥ 9.5

 - R: on the "recurso" season, a single exam will be made, with a grade from 0 to 20, and it is not possible to repeat the practical prigramming tests.

"Recurso" season classification: C = R*0.7 + P ≥ 9.5

Examinations or Special Assignments

3 practical programming tests during the semester.
Recommend this page Top
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2024-10-06 at 14:01:10 | Acceptable Use Policy | Data Protection Policy | Complaint Portal