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

Programming

Code: EIC0012     Acronym: PROG

Keywords
Classification Keyword
OFICIAL Programming

Instance: 2009/2010 - 2S

Active? Yes
Web Page: http://moodle.fe.up.pt/course/view.php?id=16
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEIC 176 Syllabus since 2009/2010 1 - 7 70 189

Teaching language

Portuguese

Objectives

1 - BACKGROUND
Informatics Engineers require expertise in programming techniques which must be consolidated along programming courses.

2 – SPECIFIC AIMS
The student is expected to strengthen its programming skills, introduced in Scheme in the Fundamentos da Programação / Programming Fundamentals course, by using now the C++ language.
The approach to each topic starts by applying abstractions from the C++ standard template library (STL), followed by the development of user defined abstractions.

3 – PREVIOUS KNOWLEDGE
Programming fundamentals.

4 – PERCENT DISTRIBUTION
Scientific component: 40%
Technological component: 60%

5 - LEARNING OUTCOMES
By the end of the course the student will be able to:
- identify the fundamental concepts of procedural programming and objected oriented programming;
- solve programming problems of low/medium complexity using the C++ programming language and the abstractions from the C++ standard template library (STL);
- develop solutions to programming problems by defining and implementing user defined abstractions in C++.

Program

Introduction to the abstractions from the C++ standard template library (STL):
A first C++ program; Brief introduction to the C++ string class; Sequence control – relational and logical operators, selection statements, and loops; introduction to the C++ vector class; Organisation of program and data - functions and parameters, parameters by reference, qualifier const, separate compilation, data structures with struct, exception handling; Sequential containers – sequential access, iterators, lists; Using STL algorithms; Associative containers – map;
Programming with user defined abstractions:
Generic functions; New type definition – classes, member functions, non-member functions, friend functions, data members, protection, accessor functions, constructors, default constructor, constructors with parameters; Memory management – pointers, arrays, pointers to functions, arrays of pointers, main function parameters, automatic, static and dynamic memory management, new and delete; Objects and inheritance.

Mandatory literature

Koenig, Andrew; Accelerated C++. ISBN: 0-201-70353-X

Complementary Bibliography

Lippman, Stanley B.; C++ Primer. ISBN: 0-201-82470-1
Deitel, H. M.; C++ how to program. ISBN: 0-13-185757-6

Teaching methods and learning activities

• Lectures: Exposition of the course topics and discussion of example cases.
• Practical lessons: Development of a series of small projects in C++ and its evaluation. The projects are organized in groups of two students, whenever possible.

Software

Windows, Linux e Mac OS: Eclipse + CDT, compilador gcc/g++

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Description Type Time (hours) Weight (%) End date
Attendance (estimated) Participação presencial 60,00
Homeworks Teste 60,00 2010-06-09
Final Exam Exame 3,00 2010-07-23
Total: - 0,00

Amount of time allocated to each course unit

Description Type Time (hours) End date
Individual Study Estudo autónomo 50 2010-06-09
Exam preparation Estudo autónomo 16 2010-06-21
Total: 66,00

Eligibility for exams

Do not exceed the absence limit and obtain a minimum of 40% in the distributed evaluation classification.

Calculation formula of final grade

Evaluation components
Distributed evaluation (DEv) with final exam (ExEv).
• DEv - Students are organized in groups of 2. Three projects will be developed during classes and beyond. Evaluation will be based on the submitted material and performance during classes. For the last project a report will be written and an oral presentation will be required.
• ExEv – Final exam, a written test with bibliography support.

• DEv and ExEv are specified in a 0 to 20 scale.
• Projects weight in DEv:
- Project 1 - 20%
- Project 2 -10%
- Project 3 - 70%

• Final Classification = DEv * 0.5 + ExEv * 0.5

• Oral examination: whenever needed, according to the teaching team, students may be submitted to an oral examination. In this situation the final classification will be given by the average of the classification calculated with the previous formula and the classification of the oral examination.

Observations:
1- A minimum of 40% on the ExEv evaluation component is required to pass the class.
2- If the teaching team decides not to propose one of the projects, its weight will be redistributed to the other projects.

Examinations or Special Assignments

See DEv, in Evaluation components.

Special assessment (TE, DA, ...)

The same as in "Calculation of the Final Classification", except that the Distributed evaluation component depends only on the final project (Project 3). This project must be submitted and evaluated together with regular students.

Classification improvement

The same as in "Calculation of the Final Classification", except that the Distributed evaluation component depends only on the development of a single project, with the same level of difficulty of Project 3.
The student should contact the teacher staff for the project specification and submission date. The project’s evolution has to be discussed on a regular basis.

Observations

Fundamentos de Programação / Programming Fundamentals (or equivalent) frequency and approval is advisable.
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-01 at 20:08:20 | Acceptable Use Policy | Data Protection Policy | Complaint Portal