Code: | L.EIC003 | Acronym: | FP |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Informatics Engineering and Computing |
Active? | Yes |
Web Page: | https://moodle2324.up.pt/course/view.php?id=4957 |
Responsible unit: | Department of Informatics Engineering |
Course/CS Responsible: | Bachelor in Informatics and Computing Engineering |
Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
---|---|---|---|---|---|---|---|
L.EIC | 449 | Syllabus | 1 | - | 6 | 52 | 162 |
BACKGROUND
Fluency in the process of software development is an essential prerequisite to the work of Informatics Engineers. To use computers to solve problems effectively, students must be competent at reading and writing programs using high-level programming languages.
SPECIFIC AIMS
The global aim of this Unit is to give the student the ability to create algorithms and use a programming language to implement, test, and debug algorithms for solving simple problems. The student will understand and use the fundamental programming constructs, and the functional approach to programming, specifically effect-free programming where function calls have no side-effects and variables are immutable, and contrast it with the Imperative approach.
PERCENT DISTRIBUTION
Scientific component: 40%
Technological component: 60%
At the end of the course, the student is expected to handle programming problems of medium complexity, using the imperative or functional programming approaches or paradigms.
More specifically, the student will be able to:
Topics:
The continuous enrolment of the student in the course is promoted through the study and discussion of the course topics (distributed beforehand in Notebooks accompanied by videos), both in lectures and recitation classes, as well as through programming assignments inside and outside classes.
The student is motivated to find the best ideas to solve specific problems, execute them and implement the programming solutions, in an elegant, legible and efficient mode (in terms of time and space) using the Python programming language.
Lecture classes are used to discuss the topics of the program and present related programming case-studies. Recitation classes are used to help students understand the program's topics and solve the weekly programming assignments.
In-class and homework programming assignments are given on a weekly basis to improve the regular and effective development of autonomous learning processes and are tested and graded using Moodle assignments. Automatic correction tools are used to increase the efficiency of the feedback given to the students.
Students are encouraged to use the Playground, containing programming exercises selected by theme: "easy" to solve before the lecture, "medium" to solve before the weekly assignments, and "hard" to solve before the practical tests in a computer (minitests).
Whenever deemed necessary in the classroom, especially during the first month of classes, students are encouraged to go to the "Clinic", supervised by student assistants, to get help.
Designation | Weight (%) |
---|---|
Teste | 90,00 |
Trabalho prático ou de projeto | 10,00 |
Total: | 100,00 |
Designation | Time (hours) |
---|---|
Estudo autónomo | 110,00 |
Frequência das aulas | 52,00 |
Total: | 162,00 |
To obtain eligibility for exams, students must not exceed the absence limit, established in the rules (25% of the total number of estimated practical lessons).
Students with worker-student status (TE) or students who have obtained attendance in the previous school year are exempt from attendance. However, all students must submit, in the present school year, all the evaluation components indicated below.
Assessment includes two components: (i) Continuous assessment (AC) — weekly assessment, in-class and outside of class, based on Moodle activities; and (ii) supervised Computer-based mini-tests (MT1, MT2, EN, ER) — in the classroom, to be carried out in Moodle and divided into theoretical multiple-answer questions and computer programming exercises.
Assessment components:
AC: Multiple-answer questions (QT) and computer-based weekly programming exercises (QP), being the grade AC = 25% QT + 75% QP.
MT1, MT2: Computer-based exams, with 2 components, theoretical (25%) and practical (75%), to be taken during the semester.
EN: Computer-based exams, with 2 components, theoretical (25%) and practical (75%), to be taken at the 1st examination period ("Época Normal").
ER: Computer-based exam, with 2 components, theoretical (25%) and practical (75%), to be taken at the 2nd examination period ("Época de Recurso"), for:
The final grade for the Ordinary examination period ("Época normal") is given by the following formula:
Final grade = 10% AC + 90% (MT1+MT2+EN)/3
The final grade for the Supplementary examination period ("Época de Recurso") is given by the following formula:
Final grade = 10% AC + 90% ER
The evaluation of this course uses two types of examinations:
Students with a special status, although they may be exempted from attending practical lessons, are subject to the same assessment conditions as regular students.
Students who want to improve their grade from the previous academic year, will have to undergo the entire evaluation process; they only waive the requirement of assiduity to practical classes.
Daily reading of the institutional e-mail (FEUP) is mandatory, to which copies of all important information, that is posted in Moodle, are sent.