Course: BSc in Computer Science and Computer Engineering
Curricular Unit (UC)


Mandatory X
Scientific Area IC
Year: 1st Semester: 1st ECTS: 6 Total Hours: 160
Contact Hours T: 37,5 TP:18 PL: 12 S: OT:
Professor in charge

 Pedro Alexandre de Seia e Cunha Ribeiro Pereira

T - Theoretical; TP - Theory and practice; PL - Laboratory; S - Seminar; OT - Tutorial.

  • Learning outcomes of the curricular unit


    Students who successfully complete this course unit be able to:

    1. Demonstrate the basic mechanisms knowledge of the Java programming language.

    2. Build small Java programs to solve simple problems described in natural language.

    3. Test and repair small programs.

    4. Write reports to justifying decisions made in the programs built.

    5. Using tools to develop programs and produce reports.

  • Syllabus


    I.   Values, Types and variables, Expressions, Input/Output; Decision instructions.

    II.  Repetitive cycles; Arrays; Reference types, methods and parameter passing.

    III. Objects; Construction of new types; Instance and type members; Constructors.

    IV. Algorithms for searching and sorting arrays.

  • Evidence of the syllabus coherence with the curricular unit’s intended learning outcomes

    This curricular unit is for most students a first contact with programming. Must be motivator without neglecting the formality and rigor and is the basis of software training course. Are introduced the fundamental concepts and vocabulary of programming (I and II of the syllabus) and, in particular, object-based programming (III), implemented in Java. Algorithms for searching and sorting (IV) are used to practice the transmitted concepts.

  • Teaching methodologies (including evaluation)

    Planned during the semester in 30 lectures (15 of 3 hours and 15 of 1.5 hours). Four lectures of 3 hours are laboratory classes. The lectures are intended for presentation of topics and practical examples. The main topics are further explored through practical work to develop small Java programs.

    Learning outcomes (1) and (2) are individually assessed through written test during the semester. During the monitoring of group work performed in class practices are assessed learning outcomes (3) and (5). The learning outcomes (4) and (5) are evaluated in the final discussion of work group.

    Final grade corresponds to 40% of the final test, 40% of the practical works and 20% of the evaluation sheets made in class.

  • Evidence of the teaching methodologies coherence with the curricular unit’s intended learning outcomes

    In theoretical and practical sessions are presented the basic mechanisms of the Java language and are built, tested and corrected small programs with student participation. To achieve its various practical work, are used gradually increasing complexity tools (command line, simple editor, integrated environment, debugger) and are written reports that support the decisions made.

  • Main Bibliography:

    W. Savitch, Java: An Introduction to Problem Solving and Programming, 8th edition, Pearson, 2017.

    ISBN 9780134462035.