Programming Paradigms
Keywords |
Classification |
Keyword |
OFICIAL |
Science and Technology Programming |
Instance: 2007/2008 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
PRODEI |
1 |
Syllabus |
1 |
- |
7,5 |
70 |
200 |
Teaching language
Portuguese
Objectives
Give the students a global view of the different paradigms with the emphasis on concepts, implementation and suitability to solve the different classes of problems, leading to the understanding of the trade-offs in language design and the advantages and disadvantages of the main languages.
Program
1. Introduction and the role of programming languages.
2. Functions, recursion, lists and Lisp.
3. Compilers and syntax,lambda-calculus and denotational semantics.
4. The Algol family and ML.
5. Type systems and type inference.
6. Scope, functions and memory management.
7. Data abstraction and modularity.
8. Concepts in Object-oriented languages, Simula and Smalltalk.
9. Objects and runtime execution in C++.
10. Portability and security in Java.
11. Logic programing and Prolog.
12. Concurrency and distributed programming.
Mandatory literature
Mitchell, John C.;
Concepts in programming languages. ISBN: 0-521-78098-5
Complementary Bibliography
Arnold, Ken;
The Java programming language. ISBN: 0-201-70433-1
Simon Thompson; Haskell: The Craft of Functional Programming, Addison-Wesley, 1999. ISBN: 0-201-34275-8
Sterling, Leon;
The Art of Prolog. ISBN: 0-262-69163-9
Ravi Sethi; Programming Languages: Concepts and Constructs, Addison-Wesley, 1996. ISBN: 0-321-21074-3
Springer, George;
Scheme and the art of programming. ISBN: 0-07-060522-X
Teaching methods and learning activities
Lectures include theoretical presentation of the course subjects, discussions and examples of computer programs. Outside classes practical work will take place.
Software
Interpretador Hugs
DrScheme
JAVA SE 6
YAP Prolog
keywords
Physical sciences > Computer science > Programming
Evaluation Type
Distributed evaluation with final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Subject Classes |
Participação presencial |
36,00 |
|
|
Definition (R1) |
Trabalho escrito |
27,00 |
|
2008-03-13 |
User Interface (R2) |
Trabalho escrito |
36,00 |
|
2008-04-17 |
Multi-paradigm Application (R3) |
Trabalho escrito |
54,00 |
|
2008-06-05 |
Product (P) |
Trabalho escrito |
0,00 |
|
2008-06-05 |
Demonstration (A&D) |
Trabalho escrito |
0,00 |
|
2008-06-05 |
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
Study |
Estudo autónomo |
7 |
|
|
Total: |
7,00 |
|
Eligibility for exams
Minimum required to pass this course: 50% Practical Assignments, 40% Exam.
Calculation formula of final grade
Classification = 50% Practical Assignments + 50% Final Exam. Where, Practical Assignments = 10% R1 + 10% R2 + 20% R3 + 50% P + 10% A&D.
Examinations or Special Assignments
There are no special works. The practical work is required for all enrolled students and must be submitted before the deadlines advertised.
Special assessment (TE, DA, ...)
Students taking exams under special regimes are expected to previously submit the practical work required for this course as ordinary students.
Classification improvement
Students may improve the mark obtained in the practical component in the subject's next edition. Exam marks may be improved in the resit exam period.