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

Programming

Code: EIC0012     Acronym: PROG

Keywords
Classification Keyword
OFICIAL Programming

Instance: 2010/2011 - 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 178 Syllabus since 2009/2010 1 - 7 70 189

Teaching language

Portuguese

Objectives

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.
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 C/C++
Fundamental data types and basic input/output: variables and simple data; declarations; operators; arithmetic and Boolean expressions; input/output using the keyboard/screen.
Control structures: selection; repetition.
Structured data types: arrays and C strings; STL vectors and strings.
Pointers and dynamic memory allocation.
Functions: definition and declaration; local and global variables; parameter-passing mechanisms (call-by-value and call-by-reference) and return values; const reference parameters.
Streams: input/output using text files; string streams.
INTRODUCTION TO CLASSES AND DATA ABSTRACTION
Fundamental concepts. Classes and Structs. Encapsulation. Data-members and function-members. Constructors; constructors with parameters. Template functions and classes. Introduction to the design of object-oriented code. Relationships between classes; implementing associations.
STANDARD TEMPLATE LIBRARY
Containers: string, vector, list, map, set. Iterators and algorithms.
CLASSES – ADDITIONAL CONCEPTS
Special qualifiers: const, static, friend. Copy-constructors. Destructors. Operator overloading.
INHERITANCE AND POLYMORPHISM
Derived classes. Accessing base-class members. Function overloading, function overriding and templates.
EXAMPLES
Program conception using object oriented design.
Container implementation.

Mandatory literature

H. M. Deitel, P. J. DeitelDeitel; C++ how to program. ISBN: 0-13-185757-6

Complementary Bibliography

Andrew Koenig, Barbara E. Moo; Accelerated C++. ISBN: 0-201-70353-X
Lippman, Stanley B.; C++ Primer. ISBN: 0-201-82470-1

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.

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 2011-06-03
Exam Exame 3,00 2011-07-15
Total: - 0,00

Amount of time allocated to each course unit

Description Type Time (hours) End date
Theory readings Estudo autónomo 50 2011-06-03
Exam preparation Estudo autónomo 16 2011-07-15
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. Two 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 - 40%
- Project 2 - 60%

• 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, ...)

Students with a special status will be assessed in the same way as ordinary students. They have to do all the assignments and deliver them on the scheduled dates.

Classification improvement

Students can only improve the mark of the continuous assessment component in the following year.
Students can improve the mark of the written exam at the corresponding seasons (according to the rules).

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:03:43 | Acceptable Use Policy | Data Protection Policy | Complaint Portal