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

Programming II

Code: CC1022     Acronym: CC1022     Level: 100

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2016/2017 - 2S Ícone do Moodle

Active? Yes
Responsible unit: Department of Computer Science
Course/CS Responsible: Bachelor in Mathematics

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:M 0 Official Study Plan 2 - 6 56 162
3
L:Q 1 study plan from 2016/17 3 - 6 56 162

Teaching language

Portuguese

Objectives

The student should be able to:

1         understand, use and develop programs with abstract data types (ADT) in accordance with the requirements of problems proposed;

2         understand and use the notions of attribute and method of an abstract data type;

3         use and adapt, through programming, ADT that implement linked lists, stacks, queues, binary trees, heaps, hash tables and graphs;

4         examine portions of algorithms from the viewpoint of computational complexity and classify them according to their order of complexity;

5         program recursive functions;

6         plan and analyze algorithms for sequential search and insertion, as wel as in sorted lists,  sorted trees and hash tables,

7         program and analyze sorting algorithms such as BubbleSort, mergesort. quicksort and heapsort. - plan and analyze algorithms for creation and manipulation of data structures such as binary trees, ordered binary trees, heaps and graphs.

Note: this course is done using the programming language Python.

Learning outcomes and competences

The student is able to:

1         understand, use and develop programs with abstract data types (ADT) in accordance with the requirements of problems proposed;

2         understand and use the notions of attribute and method of an abstract data type;

3         use and adapt, through programming, ADT that implement linked lists, stacks, queues, binary trees, heaps, hash tables and graphs;

4         examine portions of algorithms from the viewpoint of computational complexity and classify them according to their order of complexity;

5         program recursive functions;

6         plan and analyze algorithms for sequential search and insertion, as wel as in sorted lists,  sorted trees and hash tables,

7         program and analyze sorting algorithms such as BubbleSort, mergesort. quicksort and heapsort. - plan and analyze algorithms for creation and manipulation of data structures such as binary trees, ordered binary trees, heaps and graphs.

Note: this course is done using the programming language Python.

Working method

Presencial

Program

Review of Python. Abstract data types, attribute and method. Collections of objects: linked lists, queues, and stacks. Recursion. Notions of algorithmic complexity. Search algorithms and algorithms for insertion: sequential search, binary in the hash table. Sorting algorithms. Binary trees, unordered and ordered. Search trees. Heaps. Graphs.

Mandatory literature

Miller Bradley N.; Problem solving with algorithms and data structures using Python. ISBN: 1-59028-053-0

Complementary Bibliography

Downey Allen; How to think like a computer scientist. ISBN: 0-9716775-0-6

Teaching methods and learning activities

- Lectures, with examples of problem solving.
- Practical sessions in the laboratory.
- Practical exercises on computer (self-evaluation) to make out of classes and using a platform for automatic validation of programs through unit tests.
- E-learning platform (Moodle) with pdfs of the slides presented in lectures and practical exercises.
- This platform also has a forum where announcements are made concerning the discipline and where pupils.

- Distributed evaluation with final exam:
* 2 programming tests: 6 marks.
* Final exam: 14 marks.

Software

Idle
IEP

keywords

Physical sciences > Computer science > Programming

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Exame 70,00
Participação presencial 0,00
Teste 30,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Estudo autónomo 85,00
Frequência das aulas 65,00
Total: 150,00

Eligibility for exams

* Have a grade greater than zero in one of the practical tests
* Have success of at least 50% (weighted) in the self-evaluation tasks proposed.

Calculation formula of final grade

0.2*MPT+0.1*PTP+0.7*EX

MPT: best test
PTP: worst test
EX: exam

Classification improvement

Can improve the exam mark in the appeal exam and combine with the marks of the tests.

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-09-02 at 05:31:43 | Acceptable Use Policy | Data Protection Policy | Complaint Portal