Informatics Engineering

ALGORITHMICS AND PROGRAMMING

General Data

Type of credits: ECTS
Number of credits: 6.00
Status: Mandatory
Type: Course
Academic Year:
Term:
Languages: Portuguese
Available for Mobility Students: No
Restricted to alliance: No
Code: Sin codigo

Coordination

Description

Theory
1

Theory/Practice
1

Laboratory
2

Instructors

Emanuel Silva


 

Contents

1. Programming Fundamentals (30%)
1.1 Computational Resolution of Problems
1.2 Procedural Structured Programming
1.3 Algorithms and Programs
1.4 Variables, Data Types, Expressions and Operators
1.5 Flow Control Structures
1.6 Description of algorithms: Pseudo-Code and Flowcharts
 

2. Programs' coding (15%)
2.1 Programming Languages-Java Language
2.2 Integrated Development Environments
2.3 Java Program Structure
2.4 Data Types and Variables
2.5 Operators, Expressions and Assignments
2.6 Flow Control Structures Coding
 

3. Data Types Reference: Classes (5%)
3.1 Classes and Objects
3.2 Java APIs
 

4. Modular Decomposition (15%)
4.1 Methods and parameters
 

5. Data Types Reference : Arrays (15%)
5.1 Handling of mono and two-dimensional arrays
5.2 Search and sort algorithms
 

6. Text Files Manipulation (5%)
 

7. Application Development (15%)
 


 

Learning Outcomes

This curricular unit has the following purposes:
- Introduction of basic concepts related to Computer Science Programming
- Analyzing and solving problems computationally focusing on algorithmic modeling
- Designing algorithms by applying appropriate programming methodologies
- Codification of algorithms in Java language (mainly in the procedural paradigm based on classes)
- Testing appropriately the programs
- Apply what learn to solve real-world problems
- Promoting attitude of active learning, persistent work and also application of critical analysis in problem resolution

At the end the student should be able to:

CO1-Implement algorithms essentially in a procedural perspective;
CO2-Exploring and carefully adopting documentation of the implementation language/platform (JavaDocs);
CO3-Design and implement algorithms structured in modules and reuse them;
CO4-Create and use indexed data structures and text files;
CO5-Develop and adopt an appropriate test plan;
CO6-Evaluate the implemented solution;
CO7-Apply, cooperatively, previous skills to real problems.