| Code: | CINF050 | Acronym: | PC |
| Keywords | |
|---|---|
| Classification | Keyword |
| OFICIAL | Computer Science |
| Active? | Yes |
| Responsible unit: | Department of Informatics Engineering |
| Course/CS Responsible: | Bachelor of Arts in Information Science |
| Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
|---|---|---|---|---|---|---|---|
| CINF | 62 | Study plan | 1 | - | 6 | 41 | 162 |
| Lectures: | 1,50 |
| Practical: | 1,50 |
| Type | Teacher | Classes | Hour |
|---|---|---|---|
| Lectures | Totals | 1 | 1,50 |
| Liliana da Silva Ferreira | 1,50 | ||
| Practical | Totals | 2 | 3,00 |
| Liliana da Silva Ferreira | 3,00 |
Students will have the following abilities:
- Recognising aspects of computation in the surrounding world;
- Applying tools and techniques from computing to understand and reason about both natural and artificial systems and processes;
- Abstraction, in several ways: modelling, decomposing, generalizing, and classifying;
- Understanding and explaining programs;
- Designing and writing programs;
- Find and correct errors in the code;
- Reflect thoughtfully on the program, including assessing its correctness and fitness for purpose;
- Understanding the efficiency of the program;
- Describing the system to others;
- Discussing aspects like natural and artificial intelligence and consciousness, creativity and intellectual property, moral and ethical implications of using computers.
Algorithms. Algorithm as a sequence of precise steps to solve a given problem. A single problem may be solved by several different algorithms. Choice criteria. Accuracy of both algorithm and data. Key algorithms, sorting and searching. Design of algorithms for re-use, validation, testing and correction.
Programs. Programming physical devices, statements and actions. Sequencing. Selection. Repeating. Variables and assignment. Different types of data: integers, characters, strings. Relational operators and logic to control the execution of program statements. Manipulation of logical expressions, truth tables and Boolean valued variables. Abstraction by using functions and procedures with parameters. Program documentation. Errors in program syntax and errors in meaning. Simple data structures, such as variables, records, arrays, lists, trees, hash tables. Procedures that call procedures, to multiple levels. Programs that read and write persistent data in files. Design patterns: divide and conquer, pipelining, caching, sorting, searching, backtracking, recursion, client/server, model/view/controller.
Data. Introduction to binary manipulation. Representations of unsigned integers, text, sounds (both involving analogue to digital conversion, e.g. WAV, and free of such conversion, e.g. MIDI), pictures and video. Multiple representations of a single thing in a computer. Hexadecimal. Two’s complement signed integers. String manipulation. Data compression; lossless and lossy compression algorithms e. g. JPEG. Problems of using discrete binary representations: quantization, sampling frequency. Representing fractional numbers.
Social aspects of computing.| Designation | Weight (%) |
|---|---|
| Exame | 50,00 |
| Teste | 50,00 |
| Total: | 100,00 |
| Designation | Time (hours) |
|---|---|
| Estudo autónomo | 115,00 |
| Frequência das aulas | 41,00 |
| Total: | 156,00 |
Final Grade = (Test+Exam)/2;
if Test >= 6,0 e Exam >= 6,0