Programming Laboratory
Keywords |
Classification |
Keyword |
OFICIAL |
Computer Science |
Instance: 2020/2021 - 2S
Cycles of Study/Courses
Teaching language
Portuguese
Objectives
Strengthening the knowledge of structured programming by developing medium dimension programming projects.
Learning outcomes and competences
After completing this unit, students should be able to:
- write a large software project
- use profiling tools
- use existing libraries based on API documentation
- develop modular programs with clearly documented interfaces between components
- use an integrated development environment (IDE)
Working method
Presencial
Pre-requirements (prior knowledge) and co-requirements (common knowledge)
Imperative programming and data structures
Program
Revisions on imperative programming: references, structures and unions. Memory alocation. Constructors. Lists, Trees, and the usual data structures. Programming in large. Makefiles. IDEs. Version control systems.
Object Oriented Programming: Classes, objects and packages. Arrays and strings. Visibility and acces modifiers. Constructors and encapsulation. Static methods and atributes. The Object class. Pitfalls of inheritance.
Using exceptions for error handling. Throwing and catching exceptions. Checked vs. unchecked exceptions. Recomendations on the use of exceptions.
Mandatory literature
Thomas A. Standish;
Data structures, algorithms, and software principles in C. ISBN: 978-0-201-59118-7
Robert Sedgewick;
Algorithms in C. ISBN: 978-0-201-31452-6 1o v.
Complementary Bibliography
Kernighan Brian W.;
The practice of programming. ISBN: 9780201615869
Teaching methods and learning activities
Demonstration classes combing exposition of concepts and methodologies and practical assigments in computer laboratories.
Evaluation Type
Distributed evaluation with final exam
Assessment Components
designation |
Weight (%) |
Exame |
50,00 |
Trabalho laboratorial |
50,00 |
Total: |
100,00 |
Amount of time allocated to each course unit
designation |
Time (hours) |
Elaboração de projeto |
70,00 |
Estudo autónomo |
50,00 |
Frequência das aulas |
42,00 |
Total: |
162,00 |
Eligibility for exams
- Minimum grade of 35% on projects
- Minimum grade of 35% in exam
Note: both minimums should be met.
Class attendance is not recorded.
Calculation formula of final grade
Final grade will be based on assignment grade and exam grade, using the following expression:
(AG x 10 + EG x 10) / 20 where:
- EG = exam grade (0-20)
- AG = assignment grade (0-20)
- first assignment is worth 4 points
- second assignment is worth 6 points
This applies for all the exams (normal, recourse, grade improvement or special term).
Classification improvement
See grade calculation above.