. "Basics of software development"@en . . "3" . "no data" . . "Presential"@en . "TRUE" . . "Practice: software development"@en . . "3" . "no data" . . "Presential"@en . "TRUE" . . "Advanced software technology l. *"@en . . "4" . "no data" . . "Presential"@en . "TRUE" . . "Object-oriented programming"@en . . "6.0" . "Prerequisites\nExperience with a typified imperative programming language like C.\n\nObjectives\nThe objectives of the course are that students become familiar with the methodologies and techniques associated with: the object-oriented programming (OOP) paradigm, its advantages, disadvantages, and limitations; design patterns and their use for solving known application development and refactoring problems. Proficiency to be acquired: use of the OOP paradigm (concepts: encapsulation, abstraction, inheritance, and polymorphism); use of an OOP language: Java; use of design patterns to solve application structuring problems; writing test cases for applications.\n\nProgram\nObject-oriented Programming and the Java and C++ Languages. Introduction to objects: definitions; longevity; classes; methods; programs. coding conventions. Operators, expressions, and flow control: precedences; assignment; operators; type casts; literals; execution control. Object construction: initialization and clean-up; constructors; method overloading; \"this\"; garbage collector. Code organization and packages: abstract data types (review); interfaces vs. implementations; libraries; member access control. Inheritance and composition: incremental development; \"final\"; class loading. Polymorphism; Abstract classes and interfaces. Internal classes. Parametric types. Enumerations; Exceptions; Collections; I/O; Runtime Type Information. Introdution to UML. Class and sequence diagrams. Discussion and application of various design patterns: Singleton, Null Object, Composite, State, Template Method, Strategy, Decorator, Factory Method, Abstract Factory, Command, Observer, Visitor, Adapter, Facade, Proxy.\n\nEvaluation Methodology\nProject: 50% , minimum grade 9.5, with 3 deliveries (UML, intermediate and final) and individual applied final quis. Laboratory exercises: 50% , minimum grade 9.5. All students are evaluated by the same criteria. A 180 min. Quis replaces the laboratory in the special season (época especial).\n\nCross-Competence Component\nBehaviour identification, analysis and application.\n\nLaboratorial Component\nIndividual programming exercises (N), without consultation, every week in class. Only the N-3 best are taken into account.\n\nProgramming and Computing Component\nSystem and modeling analysis. Object oriented programming. Identification and application of design patterns.\n\n\nMore information at: https://fenix.tecnico.ulisboa.pt/cursos/lerc/disciplina-curricular/845953938490010" . . "Presential"@en . "TRUE" . . "Human-computer interaction"@en . . "6.0" . "Prerequisites\nBasic programming skills are required.\n\nObjectives\nLearn the fundamental principles and rules for the design and development of interactive devices, systems and services. Identify users, tasks and contexts of use. Understand the limitations of different technologies and interaction devices. Understand the iterative and incremental process of designing interactive systems and services. Know how to evaluate interfaces at different stages of their development, applying the assessment techniques that best suit the different contexts of use. Understand and compromise between the various constraints to the process of developing interactive systems and services. To frame the area of person-machine interaction in the context of computer and computer engineering.\n\nProgram\nIntroduction: an historical perspective of the importance of human-computer interaction in computer science and engineering. Prime examples of interactive technologies, devices, systems, services and applications. Models of perception and action. The iterative and incremental development process of interactive systems and services. Idea generation and evaluation. Prototyping methods and techniques: low, medium and high fidelity. Methods and techniques for analyzing users and usage contexts. Predictive evaluation, heuristic evaluation and participatory evaluation. Design and Construction of Visual Interfaces: interaction devices, styles and technologies.\n\nEvaluation Methodology\n60% Class Labs (L) + 40% Final Exam (E) ; Final Grade: 0.6xL + 0.4xE Minimum Grade: 9,5 on (L) and 9,5 on (E) Working-Students (must be formally recognised as such): must complete the labs but may develop it individually.\n\nCross-Competence Component\nCritical thinking and innovation, intrapersonal skills, interpersonal skills, information and media literacy, global citizenship.\n\nLaboratorial Component\nStudents work in groups of three in class labs through a sequence of three small projects (bakeoffs).\n\nProgramming and Computing Component\nIn the study cycle this course is offered the computing and programming skills area according to MEPP 2122.\n\n\nMore information at: https://fenix.tecnico.ulisboa.pt/cursos/lerc/disciplina-curricular/845953938490014" . . "Presential"@en . "TRUE" . . "Programming and user interface design"@en . . "20.0" . "https://portal.stir.ac.uk/calendar/calendar.jsp?modCode=CSCU9P2&_gl=1*ctz2u9*_ga*MTY1OTcwNzEyMS4xNjkyMDM2NjY3*_ga_ENJQ0W7S1M*MTY5MjAzNjY2Ny4xLjEuMTY5MjAzOTA0NS4wLjAuMA.." . . "Presential"@en . "FALSE" . . "Software Development"@en . . . . . . . .