|Responsible unit:||Department of Informatics Engineering|
|Course/CS Responsible:||Master in Informatics and Computing Engineering|
|Acronym||No. of Students||Study Plan||Curricular Years||Credits UCN||Credits ECTS||Contact hours||Total Time|
|MIEIC||163||Syllabus since 2009/2010||2||-||7||70||189|
Following up the former course on Programming, with this unit we intend: to use notions already acquired and systematically apply data structures and algorithms to solve certain categories of problems; to use object-oriented programming; give emphasis to the organisation of programs on the basis of abstract data types. Practice is to be achieved with exercises and implementation of a small project in C++.
At the end of this unit course, students should: model problems following the object-oriented paradigm; solve problems using abstract data types and simple data structures (linear and non linear)
Student should have basic knowledge of programming and C++.
Object-oriented programming. Inheritance and polymorphism. Basics of UML. C++ programming language. Analysis of algorithms: classes and complexity. Searching and sorting algorithms. Abstract data types. Iterators. Linear data structures and their implementation: lists, stacks, and queues. Binary trees and related algorithms. Hash tables and related algorithms. Priority queues. Balanced binary trees. AVL and Splay trees. Examples.
Formal concepts, definitions and related issues are presented, exemplified and discussed in theoretical classes. Practical classes are carried out in computer labs, where students must implement programming exercises in C++. Practical assessments are carried out throughout the term, whose schedule and format is made available in advance. Students are then expected to implement small programs and and answer to a few theoretical problems. Groups of two or three students are expect to implement a small project throughout the course, on a theme that is suggested in the beginning of the course.
|Elaboração de projeto||60,00|
|Frequência das aulas||70,00|
Student may not exceed the limit of absences.
Final mark is computed up from two basic components: namely individual (IC) and in group (GC).
Final mark (N) is given by: N = IC*0,6 + GC*0,4
Students should achieve a minimum success of 35% in every assessment component (ICT, ICP, GC1, CG2).
Special Assignments include two components (EC and PC):
Final mark (N) is given by: N = EC*0,6 + PC*0,4.
Students should achieve a minimum success of 35% in every assessment component (PEC, TEC, PC).
Students registered under any special status:
Students may improve their grades in the next course term.