Go to:
Logótipo
You are here: Start > EEC0009

Programming 2

Code: EEC0009     Acronym: PROG2

Keywords
Classification Keyword
OFICIAL Informatics

Instance: 2012/2013 - 2S

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

Cycles of Study/Courses

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

Teaching language

Portuguese

Objectives

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.

Learning outcomes and competences

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.

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Knowledge about programming fundamentals and computer architecture acquired in Programming 1 and Laboratory of Digital Systems.

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

Mark Allen Weiss; Data structures and algorithm analysis in C. ISBN: 0-201-49840-5
P. J. Deitel, H. M. Deitel; C. ISBN: 978-0-13-705966-9

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.

keywords

Physical sciences > Computer science > Programming

Evaluation Type

Distributed evaluation without final exam

Assessment Components

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

Amount of time allocated to each course unit

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

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.

Classification improvement

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.

Recommend this page Top
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2024-09-29 at 13:06:29 | Acceptable Use Policy | Data Protection Policy | Complaint Portal