Systems Engineering
ALGORITHMICS AND PROGRAMMING
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.