Schedule I

Teaching Methodologies

The following teaching methodologies are used in this course:

1 – Expository method: an explanatory method where theoretical foundations and concepts are presented by the teacher and discussed with the class, followed by demonstrative examples;

2 – Experimental method: an active method where the student develops the knowledge through problem solving and the development of laboratory projects, either individually or in group dynamics.

Regarding the assessment, the following methods are used:

1 – Periodic Evaluation: a) two written tests (50%); b) weekly practical assignments (25%); c) one final practical assignment (25%);

2 – Final Evaluation: a) one written examination (50%); b) one practical assignment (50%);

There is a minimum value of 40% for each component of the periodic and final evaluation.

Learning Results

By the end of the course, the student should be able to:

1) Identify and classify the different types of programming languages;

2) Build solutions using algorithms, flowcharts and pseudocode;

3) List the main characteristics of the C language;

4) Illustrate and demonstrate in code the different data types, tests, conditions and cycles available in the C language;

5) Explain the role of functions, and create programs that demonstrate their usage, including the parameter passing methods ;

6) Demonstrate the creation and usage of vectors and strings using code;

7) List and use functions for file handling in application development;

8) Plan and build programs in C language. Identify and analyze the errors resulting from the development of a program. Modify programs to correct errors, or to adopt new specifications.

Program

1) Programming languages: introduction, characterization and classification;

2) Introduction to algorithms: flowcharts and pseudo code;

3) Characteristics of the C programming language;

4) Data types (integer numbers, real numbers, characters): declaration, initialization and arithmetic;

5) Tests and Conditions: relational and logical operators, if… else and switch instructions;

6) Cycles: while, for, do… while;

7) Functions: local variables, parameter passing by value, by reference and through the command line;

8) Vectors: declaration, initialization, multidimensional vectors. Strings: declaration, initialization, read and write (printf, puts, scanf, gets);

9) Files: stream types, operations (open, read, write, close), standard files (stdin, stout, stderr);

10) Preprocessor.

Curricular Unit Teachers

Grading Methods

Avaliação por Exame
  • - Prova escrita - 75.0%
  • - Trabalho - 25.0%
Avaliação Periódica
  • - Provas escritas - 50.0%
  • - Fichas e participação nas aulas - 25.0%
  • - Trabalho prático - 25.0%

Internship(s)

NAO

Bibliography

K. N. King, “C Programming: A Modern Approach”, 2nd Edition,  W. W. Norton & Company, 2008

Greg Perry, “C Programming Absolute Beginner’s Guide”,  3rd edition, 2013

Jens Gustedt, “Modern C”, Manning Publications, 2019

Cisco Academy, “CLA: Programming Essentials in C”, 2019

Luís Damas, “Linguagem C”, 24ª edição, FCA, 1999