Programming 2
Keywords |
Classification |
Keyword |
OFICIAL |
Informatics |
Instance: 2010/2011 - 2S
Cycles of Study/Courses
Teaching language
Portuguese
Objectives
By the end of this course unit the students should:
- be able to develop programs in C, applying strategies for choosing appropriate data structures and algorithms;
- be able to apply application development methodologies and techniques;
- know implementation strategies for linear data structures, binary trees and dispersion tables;
- know the characteristics of good algorithms;
- be able to apply search and sorting algorithms.
Program
1. Programming in C and Development Methodologies
* Review of basic concepts of C programming
* Separate code compilation using auxiliary tools
* Development and usage of function libraries
* Debugging techniques
2. Low-level programming
* Representation of data in memory
* Memory management
* Passing arguments to functions
* Basics about Assembly programming
3. Fundamentals about algorithms
* Complexity of algorithms
* Strategies for the development of algorithms
* Search and sorting algorithms
* Practical examples of the applications of different strategies
4. Data structures
* Linear data structures - lists, queues and stacks
* Hash tables
* Trees
* Heaps
Mandatory literature
P. J. Deitel, H. M. Deitel;
C. ISBN: 978-0-13-705966-9
Mark Allen Weiss;
Data structures and algorithm analysis in C. ISBN: 0-201-49840-5
Complementary Bibliography
Robert Sedgewick;
Algorithms in C. ISBN: 0-201-31452-5
Luís Damas;
Linguagem C. ISBN: 972-722-156-4
Teaching methods and learning activities
Theoretical classes are used to present the course 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.
Students will develop a set of assignments, subject to evaluation, during specific practical classes, which can be concluded outside class.
Software
Microsoft Visual Studio em Windows
keywords
Physical sciences > Computer science > Programming
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Attendance (estimated) |
Participação presencial |
70,00 |
|
|
Additional follow-up |
Participação presencial |
24,00 |
|
|
Exams |
Exame |
3,00 |
|
|
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
Study during the semester |
Estudo autónomo |
90 |
|
|
Total: |
90,00 |
|
Eligibility for exams
The frequency classification includes two components: individual performance and evaluation of the practical assignments. The minimum of this component to obtain frequency is 50%.
Calculation formula of final grade
CF = 0,4 * F + 0,6 * MT
* Frequency classification (F)
F = 0,8 * TP + 0,2 * AC
where:
TP – average classification of the practical assignments, where all assignments have the same weight.
AC – classification of the continuous evaluation component, which refers to the attendance and participation of the student in the theoretical and practical classes.
* Classification of the mini-tests (MT)
MT = 0,5 * MT1 + 0,5 * MT2
where:
MT1,MT2 - classification of the 1st and 2nd mini-test
Observation:
The final classification (CF) is only valid if the student obtains, at least 40% of the máximum possible classification of the MT component and 50% of the F component.
Special assessment (TE, DA, ...)
The global evaluation, in special seasons, consists of an exam with the duration of 2 hours, comprising a set of multiple choice questions and a set of C programming problems.
DA students are subject to the standard evaluation rules, like regular students.
Other students with special status (e.g. working students) may follow the standard evaluation rules, like regular students.