Programming
Keywords |
Classification |
Keyword |
OFICIAL |
Programming |
Instance: 2008/2009 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MIEIC |
178 |
Syllabus since 2006/2007 |
1 |
- |
7 |
70 |
189 |
Teaching language
Portuguese
Objectives
The student is expected to continue and strengthen the development of programming skills started in the Fundamentos da Programação discipline with the Scheme language, using now the C++ language. The fundamentals of this language will be presented, aiming at to put in practical the knowledge of procedural programming and object oriented programming.
The approach initiates with the abstractions from the standard template C++ library (STL), followed by the development of user defined abstractions.
Program
Introduction to the abstractions from the standard template C++ library (STL): a first C++ program; Brief introduction to the C++ string class; Sequence control – selection statements, loops and relational and logical operators; introduction to the C++ vector class; Initial approach to classes and unit testing (CPPUnit); Program and data structures - functions and parameters, parameters by reference, qualifier const, separate compilation, data structures with struct, exception handling; Sequential containers – sequential access, iterators, lists; Using the STL algorithms; Associative containers – map;
Programming with user defined abstractions: generic functions, new type definition – classes, member functions, nonmember 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, 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: Exposing topics of the course program accompanied by 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
Eclipse + CDT
Eclipse + CDT
Evaluation Type
Distributed evaluation with final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Attendance (estimated) |
Participação presencial |
65,00 |
|
|
|
Exame |
2,00 |
|
2009-07-06 |
|
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese |
15,00 |
|
2009-03-28 |
|
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese |
20,00 |
|
2009-04-25 |
|
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese |
30,00 |
|
2009-05-30 |
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
|
Estudo autónomo |
50 |
2009-06-05 |
|
Total: |
50,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
• 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 presented, 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:
o Project 1 - 30%
o Project 2 - 00% (self-evaluation)
o Project 3 - 70%
• Final Classification = DEv * 0.5 + ExEv * 0.5
• Whenever needed, according to the teaching team, students may be submitted to an oral examination.
• Final Classification – if no oral examination applies
o Classification
• Final Classification – if an oral examination applies
o Average of final classification and oral examination
Observations:
1- It's a necessary condition in order to be approved to obtain a minimum of 40% on the ExEv evaluation component.
2- If the teaching team decides not to propose one of the projects, its weight will redistributed by the other projects.
Examinations or Special Assignments
See DEv, in Evaluation components.
Special assessment (TE, DA, ...)
The same as for regular students, but with adaptations. Students in special cases will only submit the final project and the final exam, together with regular students. A minimum of 40% is required for both components.
Classification improvement
Only ExEv, in a 0 to 20 scale.
Observations
Fundamentos de Programação (or equivalent) frequency and approval is advisable.