Systems Engineering

ALGORITHMICS AND PROGRAMMING

General Data

Type of credits: ECTS
Number of credits: 5.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

Laboratory
4

Instructors

Emanuel Silva


 

Contents

Program Contents (CP)

1. Programming Fundamentals (15%)
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 (20%)
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 (20%)
4.1 Methods and parameters

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

6. Application Development (20%)

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:

OB1-Implement algorithms essentially in a procedural perspective;
OB2-Exploring and carefully adopting documentation of the implementation language/platform (JavaDocs);
OB3-Design and implement algorithms structured in modules and reuse them;
OB4-Create and use indexed data structures;
OB5-Develop and adopt an appropriate test plan;
OB6-Evaluate the implemented solution;
OB7-Apply, cooperatively, previous skills to real problems.