Corso Vittorio Emanuele II, 39 - Roma 0669207671

Computer engineering (Academic Year 2019/2020) - Computer Engineering

Software engineering and object oriented programming



Slides

Lesson n. 1: Introduction
   Course presentation

   Setting up the toolchain

   Writing the first program
Go to this slide Giovanni Malnati
Lesson n. 2: The Java programming language
   Basic concepts

   Control Statements

   Types and variables
Go to this slide Giovanni Malnati
Lesson n. 3: The Java Objects and classes
   Classes and objects

   Attributes adn methods

   Object references
Go to this slide Giovanni Malnati
Lesson n. 4: Objects and classes II
   Composing object

   Modifiers

   Object life cycle
Go to this slide Giovanni Malnati
Lesson n. 5: Inheritance and polymorphism
   Inheritance

   Polymorphism
Go to this slide Giovanni Malnati
Lesson n. 6: The Java Class Hierarchy
   Object

   String

   Arrays

   Interfaces
Go to this slide Giovanni Malnati
Lesson n. 7: Unified Modeling Language
   Introduction to UML

   Structural diagrams

   Behavioral diagrams
Go to this slide Giovanni Malnati
Lesson n. 8: Exception handling
   Dealing with errors

   Exception handling in Java

   Modeling exceptions
Go to this slide Giovanni Malnati
Lesson n. 9: Data collections
   Lists

   Sets

   Maps
Go to this slide Giovanni Malnati
Lesson n. 10: Collections in practice
   The phone book example
Go to this slide Giovanni Malnati
Lesson n. 11: Files and file systems
   Files and filesystem

   Accessing the file content
Go to this slide Giovanni Malnati
Lesson n. 12: Low level binary IO
   Low level binary I/O

   Object serialization

   Random access file
Go to this slide Giovanni Malnati
Lesson n. 13: Data IO in practice
   Persistent objects

   Character based user interface

   The command pattern
Go to this slide Giovanni Malnati
Lesson n. 14: Graphical user interfaces
   User interface paradigms

   The main window

   GUI class libraries
Go to this slide Giovanni Malnati
Lesson n. 15: User interaction
   Laying out content

   Listening to events
Go to this slide Giovanni Malnati
Lesson n. 16: Event handling
   GUI events

   Action

   Menus
Go to this slide Giovanni Malnati
Lesson n. 17: 2D Graphics
   2D graphics introduction

   The graphic pipeline

   Painting shapes
Go to this slide Giovanni Malnati
Lesson n. 18: Architectural patterns
   Model view controller

   Example

   Observer

   Handling multiple views
Go to this slide Giovanni Malnati
Lesson n. 19: Structured Data IO
   Dialog boxes

   List and tables

   Styled text documents
Go to this slide Giovanni Malnati
Lesson n. 20: GUI in practice
   Sketching the GUI

   Defining model behaviour

   Building the view
Go to this slide Giovanni Malnati
Lesson n. 21: Concurrent programming
   Inctroducing concurrency

   Threads mechanism

   Accessing shared data
Go to this slide Giovanni Malnati
Lesson n. 22: Synchronization
   Mutual exclusion

   Guarded blocks

   Producer and consumers
Go to this slide Giovanni Malnati
Lesson n. 23: Concurrent programming techniques
   Cancelling execution

   Concurrent collections
Go to this slide Giovanni Malnati
Lesson n. 24: High level synchronizers
   High level syncronizers

   Thread pools

   Interacting with GUI
Go to this slide Giovanni Malnati
Lesson n. 25: Concurrency in practice
   Problem requirements

   System design

   Handling termination
Go to this slide Giovanni Malnati
Lesson n. 26: Introduction Go to this slide Maurizio Morisio
Lesson n. 27: The software process Go to this slide Maurizio Morisio
Lesson n. 28: Requirement engineering I Go to this slide Maurizio Morisio
Lesson n. 29: Requirement engineering II Go to this slide Maurizio Morisio
Lesson n. 30: Requirement engineering III Go to this slide Maurizio Morisio
Lesson n. 31: Requirement engineering IV Go to this slide Maurizio Morisio
Lesson n. 32: Requirement engineering V Go to this slide Maurizio Morisio
Lesson n. 33: ArchiDesign I Go to this slide Marco Torchiano
Lesson n. 34: ArchiDesign II Go to this slide Marco Torchiano
Lesson n. 35: ArchiDesign III Go to this slide Marco Torchiano
Lesson n. 36: ArchiDesign IV Go to this slide Marco Torchiano
Lesson n. 37: ArchiDesign V Go to this slide Marco Torchiano
Lesson n. 38: ArchiDesign VI Go to this slide Marco Torchiano
Lesson n. 39: Verification and validation Go to this slide Maurizio Morisio
Lesson n. 40: Verification and validation Black box Go to this slide Maurizio Morisio
Lesson n. 41: Unit test – White box Go to this slide Maurizio Morisio
Lesson n. 42: Verification and validation Integration Go to this slide Maurizio Morisio
Lesson n. 43: Static techniques for verification and validation Go to this slide Maurizio Morisio
Lesson n. 44: System test Go to this slide Maurizio Morisio
Lesson n. 45: Configuration management Go to this slide Maurizio Morisio
Lesson n. 46: PM - I Go to this slide Maurizio Morisio
Lesson n. 47: PM - II Go to this slide Maurizio Morisio
Lesson n. 48: PM - III Go to this slide Maurizio Morisio
Lesson n. 49: Software process I Go to this slide Maurizio Morisio
Lesson n. 50: Software process II Go to this slide Maurizio Morisio