Programming 2
Keywords |
Classification |
Keyword |
OFICIAL |
Informatics |
Instance: 2007/2008 - 2S
Cycles of Study/Courses
Teaching language
Portuguese
Objectives
Students will acquire fundamental knowledge of data structures and algorithms, abstract data types and object-based programming. The students will able to: identify the properties of good algorithms; differentiate between data structure specification, implementation and use/application; use an object-oriented programming language in order to implement, test and debug algorithms and data structures (lists, stacks, queues, binary search trees and arrays); compare alternative implementations of data structures; write programs that use those data structures; know the most common applications of those data structures; choose the appropriate data structures to match a specific problem.
Program
C++ Structured Programming: additional capacities in comparison with C Language.
C++ Class Programming: pointers and references. Memory management on execution time. Recursion. Connected structures. Characteristics of good algorithms. Analysis of time and space complexity of algorithms. Class algorithms and vector research. Concept of abstract data type. Linear structures: lists, stacks and queues). Binary trees. Binary search trees. Arrays. Implementation strategies for linear data structures, trees and arrays. Application of data structures and algorithms. Strategies for choosing the appropriate data structure.
Mandatory literature
Weiss, Mark Allen;
Data structures and algorithm analysis in C++. ISBN: 0-8053-5443-3
Deitel, H. M.;
C++ how to program. ISBN: 0-13-185757-6
Complementary Bibliography
Yuzwa, Erik;
Learn C++ by making games. ISBN: 978-1-58450-455-9
Sahni, Sartaj;
Data structures, algorithms, and applications in C++. ISBN: 0-07-115595-3
Guerreiro, Pedro;
Programação com classes em C++. ISBN: 978-972-722-375-6
Stroustrup, Bjarne;
The C++ Programming Language. ISBN: 0 201 53992 6
Teaching methods and learning activities
Theoretical classes are used to present the contents and discuss small application examples.
The practical classes will be used to solve problems and develop, test and analyze programs that involve the algorithms and data structures studied in theoretical classes. Practical classes are also used for evaluation.
Software
Sistema operativo Linux, compilador g++.
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Subject Classes |
Participação presencial |
70,00 |
|
|
|
Exame |
2,00 |
|
2008-04-16 |
|
Exame |
2,00 |
|
2008-06-04 |
|
Teste |
46,00 |
|
|
|
Trabalho escrito |
40,00 |
|
2008-05-16 |
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
|
Estudo autónomo |
40 |
|
|
Total: |
40,00 |
|
Eligibility for exams
Practical Evaluation (5 evaluations for all students, no re-sit): The practical evaluation classification (AP) is the mean of the 4 best evaluation results and makes up 40% on the final classification. The minimum result required to attain frequency is 10 marks (out of 20).
Theoretical Evaluation - quizzes (5 evaluations, for ordinary evaluation students): The theoretical evaluation classification is the mean of the 4 best evaluation results and makes up 20% on the final classification. The minimum result required to attain frequency is 6 marks (out of 20).
Calculation formula of final grade
Theoretical evaluation – mini-tests (2 evaluations for all students)
The classification (AM) is the sum of the mini-tests’ results divided by two. It makes up 40% of the final classification.
The minimum required grade is 6.
Final Classification: NFinal = NFreq * 0,6 + AM * 0,4
Examinations or Special Assignments
The exams done under the special frequency regimes will consist of a special test that evaluates the theoretical and the practical knowledge of the students.
Special assessment (TE, DA, ...)
The practical evaluation is compulsory for all students, regardless of their enrolment regime and their obligation to attain frequency. The students enrolled on this course under special regimes and not attending the practical classes must make arrangements for special sessions in order to evaluate their practical work. The theoretical evaluation of these students is based on 2 special mini-tests (lasting 2 hours), done on the same dates as the regular mini-tests.
Classification improvement
The classification improvements require the enrolment on the course in the following academic year, so that the theoretical and practical evaluation requirements can be fulfilled.
Observations
Language of instruction: Portuguese