Programming

« Return

Objectives

The Programming course aims to provide students with the basics of procedural programming in high level languages. The students are expected to acquire the indispensable concepts for algorithmic problem solving, with special emphasis on those that usually arise in the area of Engineering, data abstraction and structured programming.

Program

Introduction. Computers and operating systems. Algorithms and programming languages. Development, compilation and debugging of a program. Notion of lexicon, syntax and semantics. Elementary Concepts. Structure of a computer program. Elementary data types. Operators and expressions. Introduction to input / output instructions. Flow control instructions. Structured Programming. Functions. Global and local variables. Visibility and lifetime of a variable. Modularity and structure: division by files. Data structures. Vectors. Strings. Multidimensional vectors. Structures. Recursion. Pointers. Passing arguments: value andreference. Pointers and arrays. Pointers arithmetics. Files. Files I/O. Text files. Dynamic data structures. Static and dynamicvariables. Notions of dynamic data structures: Stacks; Queues; Single and double linked lists.

Teaching Methodologies

50% continuous evaluation / 50% non-continuous evaluation

Bibliography

The C Programming Language - The ANSI edition, Brian W. Kernighan, Dennis M. Ritchie, 1988, Prentice-Hall; C Programming: AModern Approach, 2nd Edition, K. N. King, 2008, ; Introduction to Computation and Programming Using Python: With Application toUnderstanding Data Second Edition, John Guttag, 2016, MIT Press

Code

0104647

ECTS Credits

6

Classes

  • Práticas e Laboratórios - 21 hours
  • Teóricas - 28 hours

Evaluation Methodology

  • According to Teaching Methods: 100%