Code: | EEC0009 | Acronym: | PROG2 |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Informatics |
Active? | Yes |
E-learning page: | https://moodle.fe.up.pt/ |
Responsible unit: | Department of Informatics Engineering |
Course/CS Responsible: | Master in Electrical and Computers Engineering |
Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
---|---|---|---|---|---|---|---|
MIEEC | 377 | Syllabus (Transition) since 2010/2011 | 1 | - | 7 | 77 | 189 |
Syllabus | 1 | - | 7 | 77 | 189 |
Develop programs in C, involving the selection and adaptation of linear data structures, trees and hash tables. Apply fundamental algorithms for sorting and searching to these data structures. Use techniques based on separate compilation and mixed programming in C and assembly. Evaluate the relationship between the characteristics of the processor architecture and its performance.
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.
Knowledge about programming fundamentals and computer architecture acquired in Programming 1 and Laboratory of Digital Systems.
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
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.
Description | Type | Time (hours) | Weight (%) | End date |
---|---|---|---|---|
Test 1 | Teste | 1,50 | 20,00 | |
Test 2 | Teste | 1,50 | 40,00 | |
Assignment 1 | Trabalho laboratorial | 6,00 | 10,00 | |
Assignment 2 | Trabalho laboratorial | 6,00 | 10,00 | |
Assignment 3 | Trabalho laboratorial | 8,00 | 15,00 | |
Participation | Participação presencial | 5,00 | ||
Total: | - | 100,00 |
Description | Type | Time (hours) | End date |
---|---|---|---|
Class participation (estimate) | Frequência das aulas | 65 | |
Additional follow-up | Frequência das aulas | 24 | |
Study during the semester | Elaboração de projeto | 97 | |
Total: | 186,00 |
The frequency classification includes two components: individual performance and evaluation of the practical assignments. The minimum of this component to obtain frequency is 50%.
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.
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.
The final grade of the unit course can be improved, but only in the following year; it consists of the same examinations that will be required in the following year. Eventually, at the student request, only one of the items, F or MT, of the final grade can be improved.