Introduction to Programming

Base Knowledge

It does not apply.

Teaching Methodologies

A learning strategy based on the experimentation of the subjects exposed in the theoretical class is used, through the development of software modules:

a) In the theoretical component, the subjects will be presented orally, using the table and Power-Point projections;

b) In the practical-laboratory component, students will develop programs that allow the application of concepts learned in the theoretical component, with special emphasis on the phases of problem analysis and solution development (using a C language compiler)

It is necessary that the student does an individual study outside of classes (for better monitoring of classes).

Learning Results

Goals:

In this introductory Curricular Unit of programming the students learn how to construct modular and reused software application throught a structured way (using a procedural language), giving special importance to the problem specification, as well as the development of the algorithm and implementation.
In order to put in practice and to consolidate the acquired knowledge, the students learn the basic concepts of C language (which enables the implementation of simple programs).

Skills:

1 – Identify and understand the different phases normally used to construct modular programs.
2 – Be familiar with types, operator e expressions of C language
3 – Know the different control mechanisms of C language
4 – Understand and know how to use the standard input-output functions of C language.
5 – Understand the need to use functions and learn to identify situations in which they must be used.
6 – Explain the advantages of the use of arrays and know to identify situations where they become necessary.
7 – Understand and know how to use the String type (as well as, the main functions that operate in Strings)
8 – Develop simple applications using the C language, having always in the mind different phases to construct a program (problem specification, analysis, algorithm and implementation.
9 – The concepts apprehended in this discipline must instil in students the interest and the possibility to apply them in the resolution of similar and more complex applications, in a professional context.

 

Program

Program Contents
Theoretical classes;

– Introduction to the C language
– Types, Operators and Expressions
– Control mechanisms
– Input and output data
– Functions and Structure of a program
– Strings and Arrays

Practical and Laboratory Classes:

 – Different stages in the development of programs, computational implementation of simple problems.

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

Damas, L.  (1999). Linguagem C (6a ed.). FCA – Editora de Informática, Lda. ISBN: 972-722-156-4 [Cota ISEC: 1A-1-321 (ISEC) – 10344; 1A-1-366 (ISEC) – 11820; …]

King, K. N. (2008). C programming: A Modern Approach (2a ed.). W.W.Norton & Company, cop. ISBN: 978-0-393-97950-3  [Cota ISEC: 1A-1-351 (ISEC) – 14950; 1A-1-352 (ISEC) – 14951]

Schildt, H. (1998). Teach Yourself C (3a ed.). Berkeley : Osborn McGraw-Hill. ISBN 0-07-882011-1 [Cota ISEC: 1A-1-159 (ISEC) – 06521]

Kernighan, B. W., & Ritchie, D. M. (1988). The C programming language (2a ed.). Englewood Cliffs, N. J. : Prentice Hall. ISBN 0-13-110362-8. – ISBN 0-13-110370-9 [Cota ISEC: 1A-1-68 (ISEC) – 05389; 1A-1-222 (ISEC) – 07998]

Rocha, A. A. (2006). Introdução à programação usando C (3a ed.). FCA – Editora de Informática, Lda. ISBN 978-972-722-524-8  [Cota ISEC: 1A-1-410 (ISEC) – 15958]

– Notes and slides used in class (available in moodle)