-
Presentation
Presentation
The Fundamentals of Programming course provides the first exposure to a programming language. Focused on learning a specific language, the course covers both the syntactic and semantic aspects of the language, as well as how the compiler interprets the code. Topics include the types of available variables and their storage in memory. Students develop skills in modular code organization and enhance their ability to reason through the implementation of efficient algorithms. The C programming language, chosen for the course, is syntactically simple and highly flexible, requiring the programmer to have a strong understanding of what they are doing. This solid foundation will ease the transition to other modern languages, which feature more advanced and complex programming paradigms.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Bachelor | Semestral | 6
-
Year | Nature | Language
Year | Nature | Language
1 | Mandatory | Português
-
Code
Code
ULP452-7337
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
Syllabus
Syllabus
Introduction to programming Programming in the contexto of developing software projects Basic notions of algorithm, program, abstraction, syntax semantics, compiler/interpreter Programming paradigms: imperative, functional, logic and object-oriented Introduction to C programming Compilation process Using a programming editor (IDE). C language syntax Structuring a program Data types Order of evaluation of operators, unary operators, conversion between data types Basic communication with the user Control structures (Simple selection, alternative and multiple, while, do...while, for) Arrays and matrices manipulation Functions and procedures Passing arguments by value or by reference to a value Memory pointers Memory pointers and arrays Dynamic Memory allocation Handling text files and binara files Types and structured data (static and dynamic) Error management
-
Objectives
Objectives
The main outcomes of this subject is to prepare the development of a computing program. This subject reinforces the importance of creating algorithms for the resolution of problems and subsequent coding in a programming language. To this end, the subject addresses techniques for data storage that support the development of a computing program in C language. At the end of the course the student is capable of: - Structuring a reasoning for a problem with small to medium complexity, scratch a solution, build an algorithm and implement it in C language, addressing the initial problem; - Use the grounding rules of imperative/procedural programming design (in C language), namely structuring a program with functions and understanding the impact of passing arguments by value, processing arrays and more complex structures of data.
-
Teaching methodologies and assessment
Teaching methodologies and assessment
Theoretic classes are expository, always covering practical examples on the covered topics, in a way to provide full understanding of the topics. Practical classes enable students to exercise and test the topics.
-
References
References
Damas, L. Sebenta Universidade Lusófona Humanidades e Tecnologias. Linguagem C. 10a. Edição, LTC, 2007
-
Office Hours
Office Hours
-
Mobility
Mobility
No