The goal of this module is for the student to deepen their knowledge in programming techniques, including advanced object orientation, as well as some of the more fundamental data structures and algorithms. The programming language the module will be based on is Java, although the acquired knowledge can be applied to other programming languages as well.
To achieve this goal, the student needs to acquire the following learning outcomes specified in relation to generic learning outcomes of the qualification specified in the order CIN 352/2009 (PO: 1.2 and 2.7) and in the ABET criteria for this grade (PO: a), and skill assessment (CB1, CB2, CG3, CG11 y ECRT 7)
1.Design and development of applications using the Java programming (CIN: 1.2, 2.7, PO: a)
a.Knowledge. Interpret, explain and exemplifly:
i.the elements of object orientation
ii.the concept of recursion
iii.the fundamentals of data structures, such as lists, stacks, queues, deques and trees
iv.different algorithms processing data structures
b.Specific abilities:
i.Program object oriented applications
ii.Represent, design and implement recursive algorithms
iii.Implement algorithms and use linear data structures (linked lists, stacks, queues, deques, trees,etc)
iv.Decide which data structures fit better to given problems, and reuse or design appropriate algorithms for solving specific problems
c.Attitudes. A critical attitude towards:
i.the suitability of different data structures and algorithms for specific problems
ii.the use of the bibliography and other information resources for increasing his/her knowledge in other topics related to the subject
2.Use of an application environment that provides facilities for software development.
a.Be able to create, compile and run a java program
b.Be able to interpret and eliminate error messages and warnings shown by the compiler